)]}'
{"rally/aas/rest/app.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    return app"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def make_app():"},{"line_number":37,"context_line":"    config \u003d {"},{"line_number":38,"context_line":"        \u0027app\u0027: {"},{"line_number":39,"context_line":"            \u0027root\u0027: \u0027rally.aas.rest.controllers.root.RootController\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_43277a12","line":36,"updated":"2014-12-10 17:36:54.000000000","message":"docrsting is required","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    return app"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def make_app():"},{"line_number":37,"context_line":"    config \u003d {"},{"line_number":38,"context_line":"        \u0027app\u0027: {"},{"line_number":39,"context_line":"            \u0027root\u0027: \u0027rally.aas.rest.controllers.root.RootController\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c22a648f","line":36,"in_reply_to":"3a961159_43277a12","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/authenticate/authenticate.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":27,"context_line":"    @base.scenario()"},{"line_number":28,"context_line":"    def keystone(self):"},{"line_number":29,"context_line":"        \"\"\"Check the Keystone Client.\"\"\""},{"line_number":30,"context_line":"        self.clients(\"keystone\")"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @validation.number(\"repetitions\", minval\u003d1)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a3e1fe9b","line":29,"updated":"2014-12-10 17:36:54.000000000","message":"remove \" the\"\n\nWhen something appears first time, definite article should be always skipped","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":27,"context_line":"    @base.scenario()"},{"line_number":28,"context_line":"    def keystone(self):"},{"line_number":29,"context_line":"        \"\"\"Check the Keystone Client.\"\"\""},{"line_number":30,"context_line":"        self.clients(\"keystone\")"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @validation.number(\"repetitions\", minval\u003d1)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_0220ecaa","line":29,"in_reply_to":"3a961159_a3e1fe9b","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":34,"context_line":"    @base.scenario()"},{"line_number":35,"context_line":"    def validate_glance(self, repetitions):"},{"line_number":36,"context_line":"        \"\"\"Check the Glance Client to ensure validation of token."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        Creation of the client does not ensure validation of the token."},{"line_number":39,"context_line":"        We have to do some minimal operation to make sure token gets validated."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_23ed0e8c","line":36,"updated":"2014-12-10 17:36:54.000000000","message":"ditto","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":34,"context_line":"    @base.scenario()"},{"line_number":35,"context_line":"    def validate_glance(self, repetitions):"},{"line_number":36,"context_line":"        \"\"\"Check the Glance Client to ensure validation of token."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        Creation of the client does not ensure validation of the token."},{"line_number":39,"context_line":"        We have to do some minimal operation to make sure token gets validated."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2211685d","line":36,"in_reply_to":"3a961159_23ed0e8c","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/ceilometer/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class CeilometerScenario(base.Scenario):"},{"line_number":19,"context_line":"    \"\"\"Base class for Ceilometer scenarios containing basic atomic actions.\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    RESOURCE_NAME_PREFIX \u003d \"rally_ceilometer_\""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_435f7a41","line":19,"updated":"2014-12-10 17:36:54.000000000","message":"s/containing/with/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class CeilometerScenario(base.Scenario):"},{"line_number":19,"context_line":"    \"\"\"Base class for Ceilometer scenarios containing basic atomic actions.\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    RESOURCE_NAME_PREFIX \u003d \"rally_ceilometer_\""},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_dd288588","line":19,"in_reply_to":"3a961159_435f7a41","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    RESOURCE_NAME_PREFIX \u003d \"rally_ceilometer_\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def _get_alarm_dict(self, **kwargs):"},{"line_number":24,"context_line":"        \"\"\"Prepares and returns alarm dictionary for creating an alarm."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"        :param kwargs: optional parameters to create alarm"},{"line_number":27,"context_line":"        :returns: alarm dictionary used to create an alarm"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_4ec0817c","line":24,"updated":"2014-12-10 17:36:54.000000000","message":"s/Prepares/Prepare/\n\ns/returns/return/\n\ns/dictionary/dict/ # shorter and pythonic","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    RESOURCE_NAME_PREFIX \u003d \"rally_ceilometer_\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def _get_alarm_dict(self, **kwargs):"},{"line_number":24,"context_line":"        \"\"\"Prepares and returns alarm dictionary for creating an alarm."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"        :param kwargs: optional parameters to create alarm"},{"line_number":27,"context_line":"        :returns: alarm dictionary used to create an alarm"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_7d3951d6","line":24,"in_reply_to":"3a961159_4ec0817c","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        \"\"\"List alarms."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        List alarm matching alarm_id. It fetches all alarms"},{"line_number":42,"context_line":"        if alarm_id is None."},{"line_number":43,"context_line":"        :param alarm_id: specifies id of the alarm"},{"line_number":44,"context_line":"        :returns: list of alarms"},{"line_number":45,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_94ed16f2","line":42,"updated":"2014-12-10 17:36:54.000000000","message":"add empty line","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        \"\"\"List alarms."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        List alarm matching alarm_id. It fetches all alarms"},{"line_number":42,"context_line":"        if alarm_id is None."},{"line_number":43,"context_line":"        :param alarm_id: specifies id of the alarm"},{"line_number":44,"context_line":"        :returns: list of alarms"},{"line_number":45,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_fd546100","line":42,"in_reply_to":"3a961159_94ed16f2","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @base.atomic_action_timer(\u0027ceilometer.delete_alarm\u0027)"},{"line_number":67,"context_line":"    def _delete_alarm(self, alarm_id):"},{"line_number":68,"context_line":"        \"\"\"Deletes an alarm."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        :param alarm_id: specifies id of the alarm"},{"line_number":71,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_3496224d","line":68,"updated":"2014-12-10 17:36:54.000000000","message":"s/Deletes/Delete/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @base.atomic_action_timer(\u0027ceilometer.delete_alarm\u0027)"},{"line_number":67,"context_line":"    def _delete_alarm(self, alarm_id):"},{"line_number":68,"context_line":"        \"\"\"Deletes an alarm."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        :param alarm_id: specifies id of the alarm"},{"line_number":71,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1d568d06","line":68,"in_reply_to":"3a961159_3496224d","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @base.atomic_action_timer(\u0027ceilometer.update_alarm\u0027)"},{"line_number":75,"context_line":"    def _update_alarm(self, alarm_id, alarm_dict_delta):"},{"line_number":76,"context_line":"        \"\"\"Updates an alarm."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param alarm_id: specifies id of the alarm"},{"line_number":79,"context_line":"        :param alarm_dict_delta: features of alarm to be updated"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_74a0aa9f","line":76,"updated":"2014-12-10 17:36:54.000000000","message":"s/Updates/Update/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @base.atomic_action_timer(\u0027ceilometer.update_alarm\u0027)"},{"line_number":75,"context_line":"    def _update_alarm(self, alarm_id, alarm_dict_delta):"},{"line_number":76,"context_line":"        \"\"\"Updates an alarm."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param alarm_id: specifies id of the alarm"},{"line_number":79,"context_line":"        :param alarm_dict_delta: features of alarm to be updated"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_3d5b492f","line":76,"in_reply_to":"3a961159_74a0aa9f","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    def _query_alarms(self, filter, orderby, limit):"},{"line_number":119,"context_line":"        \"\"\"Query alarms with specific parameters."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        If no input params are provided, it returns all the results in database"},{"line_number":122,"context_line":"        :param limit: optional param for maximum number of results returned"},{"line_number":123,"context_line":"        :param orderby: optional param for specifying ordering of results"},{"line_number":124,"context_line":"        :param filter: optional filter query"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_d48cfe37","line":121,"updated":"2014-12-10 17:36:54.000000000","message":"need empty line","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    def _query_alarms(self, filter, orderby, limit):"},{"line_number":119,"context_line":"        \"\"\"Query alarms with specific parameters."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        If no input params are provided, it returns all the results in database"},{"line_number":122,"context_line":"        :param limit: optional param for maximum number of results returned"},{"line_number":123,"context_line":"        :param orderby: optional param for specifying ordering of results"},{"line_number":124,"context_line":"        :param filter: optional filter query"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_5d43b541","line":121,"in_reply_to":"3a961159_d48cfe37","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    def _query_alarm_history(self, filter, orderby, limit):"},{"line_number":132,"context_line":"        \"\"\"Query history of an alarm."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        If no input params are provided, it returns all the results in database"},{"line_number":135,"context_line":"        :param limit: optional param for maximum number of results returned"},{"line_number":136,"context_line":"        :param orderby: optional param for specifying ordering of results"},{"line_number":137,"context_line":"        :param filter: optional filter query"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_347d421d","line":134,"updated":"2014-12-10 17:36:54.000000000","message":"empty line","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    def _query_alarm_history(self, filter, orderby, limit):"},{"line_number":132,"context_line":"        \"\"\"Query history of an alarm."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        If no input params are provided, it returns all the results in database"},{"line_number":135,"context_line":"        :param limit: optional param for maximum number of results returned"},{"line_number":136,"context_line":"        :param orderby: optional param for specifying ordering of results"},{"line_number":137,"context_line":"        :param filter: optional filter query"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_bd46594d","line":134,"in_reply_to":"3a961159_347d421d","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    @base.atomic_action_timer(\u0027ceilometer.create_sample\u0027)"},{"line_number":144,"context_line":"    def _create_sample(self, counter_name, counter_type, counter_unit,"},{"line_number":145,"context_line":"                       counter_volume, resource_id, **kwargs):"},{"line_number":146,"context_line":"        \"\"\"Creates a Sample with specified parameters."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        :param counter_name: specifies name of the counter"},{"line_number":149,"context_line":"        :param counter_type: specifies type of the counter"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_d4931e4d","line":146,"updated":"2014-12-10 17:36:54.000000000","message":"s/Creates/Create/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    @base.atomic_action_timer(\u0027ceilometer.create_sample\u0027)"},{"line_number":144,"context_line":"    def _create_sample(self, counter_name, counter_type, counter_unit,"},{"line_number":145,"context_line":"                       counter_volume, resource_id, **kwargs):"},{"line_number":146,"context_line":"        \"\"\"Creates a Sample with specified parameters."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        :param counter_name: specifies name of the counter"},{"line_number":149,"context_line":"        :param counter_type: specifies type of the counter"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_dd76c5a3","line":146,"in_reply_to":"3a961159_d4931e4d","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    def _query_samples(self, filter, orderby, limit):"},{"line_number":165,"context_line":"        \"\"\"Query samples with specified parameters."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        If no input params are provided, it returns all the results in database"},{"line_number":168,"context_line":"        :param limit: optional param for maximum number of results returned"},{"line_number":169,"context_line":"        :param orderby: optional param for specifying ordering of results"},{"line_number":170,"context_line":"        :param filter: optional filter query"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_d4ba3ebf","line":167,"updated":"2014-12-10 17:36:54.000000000","message":"need empty line","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    def _query_samples(self, filter, orderby, limit):"},{"line_number":165,"context_line":"        \"\"\"Query samples with specified parameters."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"        If no input params are provided, it returns all the results in database"},{"line_number":168,"context_line":"        :param limit: optional param for maximum number of results returned"},{"line_number":169,"context_line":"        :param orderby: optional param for specifying ordering of results"},{"line_number":170,"context_line":"        :param filter: optional filter query"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1d6dadcc","line":167,"in_reply_to":"3a961159_d4ba3ebf","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/cinder/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @base.atomic_action_timer(\u0027cinder.create_volume\u0027)"},{"line_number":62,"context_line":"    def _create_volume(self, size, **kwargs):"},{"line_number":63,"context_line":"        \"\"\"create one volume."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        Returns when the volume is actually created and is in the \"Available\""},{"line_number":66,"context_line":"        state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_34cb8254","line":63,"updated":"2014-12-10 17:36:54.000000000","message":"s/create/Create/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @base.atomic_action_timer(\u0027cinder.create_volume\u0027)"},{"line_number":62,"context_line":"    def _create_volume(self, size, **kwargs):"},{"line_number":63,"context_line":"        \"\"\"create one volume."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        Returns when the volume is actually created and is in the \"Available\""},{"line_number":66,"context_line":"        state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_7daeb1e7","line":63,"in_reply_to":"3a961159_34cb8254","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/cinder/volumes.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                          min_volume_size\u003d1, max_volume_size\u003d5,"},{"line_number":156,"context_line":"                                          **kwargs):"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        \"\"\"Tests volume create, snapshot create and volume attach/detach"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        This scenario is based off of the standalone qaStressTest.py"},{"line_number":161,"context_line":"        (https://github.com/WaltHP/cinder-stress)."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_b47a12ef","line":158,"updated":"2014-12-10 17:36:54.000000000","message":"Create snapshot and attach/detach volume.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                          min_volume_size\u003d1, max_volume_size\u003d5,"},{"line_number":156,"context_line":"                                          **kwargs):"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        \"\"\"Tests volume create, snapshot create and volume attach/detach"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        This scenario is based off of the standalone qaStressTest.py"},{"line_number":161,"context_line":"        (https://github.com/WaltHP/cinder-stress)."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1dc92dac","line":158,"in_reply_to":"3a961159_b47a12ef","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"6433f83c188a9d1264da07c2f7c8ac620ed80b5e","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        volume-\u003esnapshot-\u003evolume-\u003esnapshot-\u003evolume ..."},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"        :param volume_size: Volume size - dictionary, contains two values"},{"line_number":210,"context_line":"                              min - minimum size volumes will be created as."},{"line_number":211,"context_line":"                              max - maximum size volumes will be created as."},{"line_number":212,"context_line":"                            default values: {\"min\": 1, \"max\": 5}"},{"line_number":213,"context_line":"        :param nested_level: Nested level - dictionary, contains two values"}],"source_content_type":"text/x-python","patch_set":31,"id":"3a961159_c56d8bce","line":210,"updated":"2014-12-16 09:23:07.000000000","message":"why whitespaces were added here(for L159-163 you don\u0027t do it)?","commit_id":"3661d954a2a8454938140d2557a92302a93c63c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"2a3ea54bf33a005dc21c5012cebddc7cca488ea0","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    @validation.required_services(consts.Service.NOVA, consts.Service.CINDER)"},{"line_number":121,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":122,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":123,"context_line":"    def create_and_attach_volume(self, volume_size, image, flavor, **kwargs):"},{"line_number":124,"context_line":"        \"\"\"Create a VM and attach a volume to it."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        Simple test to create a VM and attach a volume, then"}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_b1de920f","line":123,"updated":"2014-12-19 00:21:55.000000000","message":"Let\u0027s rename volume_size -\u003e size and unify this scenario with other.\n\nI know that it\u0027s not backward compatible change but we have to do it at some point. And it\u0027s better to do it now.","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"113ae920dd3ba73af726700d9bf58e295be4696d","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    @validation.required_services(consts.Service.NOVA, consts.Service.CINDER)"},{"line_number":121,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":122,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":123,"context_line":"    def create_and_attach_volume(self, volume_size, image, flavor, **kwargs):"},{"line_number":124,"context_line":"        \"\"\"Create a VM and attach a volume to it."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        Simple test to create a VM and attach a volume, then"}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_f4a2beac","line":123,"in_reply_to":"3a961159_b1de920f","updated":"2014-12-19 10:38:31.000000000","message":"Done","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"2a3ea54bf33a005dc21c5012cebddc7cca488ea0","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":147,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":148,"context_line":"    def create_snapshot_and_attach_volume(self, volume_type\u003dFalse,"},{"line_number":149,"context_line":"                                          volume_size\u003dNone, **kwargs):"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        \"\"\"Create volume, snapshot and attach/detach volume."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_d10a3e89","line":149,"updated":"2014-12-19 00:21:55.000000000","message":"same here","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"113ae920dd3ba73af726700d9bf58e295be4696d","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":147,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":148,"context_line":"    def create_snapshot_and_attach_volume(self, volume_type\u003dFalse,"},{"line_number":149,"context_line":"                                          volume_size\u003dNone, **kwargs):"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        \"\"\"Create volume, snapshot and attach/detach volume."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_34a9a690","line":149,"in_reply_to":"3a961159_d10a3e89","updated":"2014-12-19 10:38:31.000000000","message":"Done","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"2a3ea54bf33a005dc21c5012cebddc7cca488ea0","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":196,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":197,"context_line":"    def create_nested_snapshots_and_attach_volume(self,"},{"line_number":198,"context_line":"                                                  volume_size\u003dNone,"},{"line_number":199,"context_line":"                                                  nested_level\u003dNone,"},{"line_number":200,"context_line":"                                                  **kwargs):"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_1101266a","line":198,"updated":"2014-12-19 00:21:55.000000000","message":"same here","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"113ae920dd3ba73af726700d9bf58e295be4696d","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":196,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":197,"context_line":"    def create_nested_snapshots_and_attach_volume(self,"},{"line_number":198,"context_line":"                                                  volume_size\u003dNone,"},{"line_number":199,"context_line":"                                                  nested_level\u003dNone,"},{"line_number":200,"context_line":"                                                  **kwargs):"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_54ae3299","line":198,"in_reply_to":"3a961159_1101266a","updated":"2014-12-19 10:38:31.000000000","message":"Done","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"edf2d7d9c41435fbd82dcbed2b1587afa9a9cb85","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":147,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":148,"context_line":"    def create_snapshot_and_attach_volume(self, volume_type\u003dFalse,"},{"line_number":149,"context_line":"                                          size\u003dNone, **kwargs):"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        \"\"\"Create volume, snapshot and attach/detach volume."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"3a961159_a3f9da4f","line":149,"updated":"2014-12-19 13:53:00.000000000","message":"This is backward uncompatible change.\nPlease add some check with warning:\n    if \"volume_size\" in kwargs:\n        import warnings\n        warnings.warn(\"Oops...this argument was renamed to \u0027size\u0027\")\n        size \u003d kwargs[\"volume_size\"]","commit_id":"363db583ab7f15dd0924c8cf722a08772d87e58c"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"2a44cd22c1381912d602e22d6307e2fef7586242","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":147,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":148,"context_line":"    def create_snapshot_and_attach_volume(self, volume_type\u003dFalse,"},{"line_number":149,"context_line":"                                          size\u003dNone, **kwargs):"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"        \"\"\"Create volume, snapshot and attach/detach volume."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"3a961159_20322b10","line":149,"in_reply_to":"3a961159_a3f9da4f","updated":"2014-12-20 11:02:24.000000000","message":"Done","commit_id":"363db583ab7f15dd0924c8cf722a08772d87e58c"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"edf2d7d9c41435fbd82dcbed2b1587afa9a9cb85","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":196,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":197,"context_line":"    def create_nested_snapshots_and_attach_volume(self,"},{"line_number":198,"context_line":"                                                  size\u003dNone,"},{"line_number":199,"context_line":"                                                  nested_level\u003dNone,"},{"line_number":200,"context_line":"                                                  **kwargs):"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"3a961159_c3f6e65c","line":198,"updated":"2014-12-19 13:53:00.000000000","message":"same here","commit_id":"363db583ab7f15dd0924c8cf722a08772d87e58c"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"2a44cd22c1381912d602e22d6307e2fef7586242","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":196,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"cinder\", \"nova\"]})"},{"line_number":197,"context_line":"    def create_nested_snapshots_and_attach_volume(self,"},{"line_number":198,"context_line":"                                                  size\u003dNone,"},{"line_number":199,"context_line":"                                                  nested_level\u003dNone,"},{"line_number":200,"context_line":"                                                  **kwargs):"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"3a961159_00528f34","line":198,"in_reply_to":"3a961159_c3f6e65c","updated":"2014-12-20 11:02:24.000000000","message":"Done","commit_id":"363db583ab7f15dd0924c8cf722a08772d87e58c"}],"rally/benchmark/scenarios/designate/basic.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":74,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"designate\"]})"},{"line_number":75,"context_line":"    def create_and_delete_records(self, records_per_domain\u003d5):"},{"line_number":76,"context_line":"        \"\"\"Add and then delete a records."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        This is very useful to measure perfromance of creating and deleting"},{"line_number":79,"context_line":"        records with different level of load."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_d435def7","line":76,"updated":"2014-12-10 17:36:54.000000000","message":"s/a records/records/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":74,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"designate\"]})"},{"line_number":75,"context_line":"    def create_and_delete_records(self, records_per_domain\u003d5):"},{"line_number":76,"context_line":"        \"\"\"Add and then delete a records."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        This is very useful to measure perfromance of creating and deleting"},{"line_number":79,"context_line":"        records with different level of load."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_bdb9f916","line":76,"in_reply_to":"3a961159_d435def7","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/designate/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def _delete_domain(self, domain_id):"},{"line_number":45,"context_line":"        \"\"\"Delete designate zone."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        :param domain: Domain object"},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":"        self.clients(\"designate\").domains.delete(domain_id)"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_4f36bbe8","line":47,"updated":"2014-12-10 17:36:54.000000000","message":"del :param domain: ...\n\nadd :param domain_id: ...","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    def _delete_domain(self, domain_id):"},{"line_number":45,"context_line":"        \"\"\"Delete designate zone."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        :param domain: Domain object"},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":"        self.clients(\"designate\").domains.delete(domain_id)"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_dd6085a7","line":47,"in_reply_to":"3a961159_4f36bbe8","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def _create_record(self, domain, record\u003dNone, atomic_action\u003dTrue):"},{"line_number":52,"context_line":"        \"\"\"Create a record in a domain."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        :param domain: Domain object"},{"line_number":55,"context_line":"        :param record: Record object"},{"line_number":56,"context_line":"        :returns: designate record dict"},{"line_number":57,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_cf9f0bb3","line":54,"updated":"2014-12-10 17:36:54.000000000","message":":param domain: Domain dict\n :param record: Record dict\n :param atomic_action: ...","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def _create_record(self, domain, record\u003dNone, atomic_action\u003dTrue):"},{"line_number":52,"context_line":"        \"\"\"Create a record in a domain."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        :param domain: Domain object"},{"line_number":55,"context_line":"        :param record: Record object"},{"line_number":56,"context_line":"        :returns: designate record dict"},{"line_number":57,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_fd6541b5","line":54,"in_reply_to":"3a961159_cf9f0bb3","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @base.atomic_action_timer(\u0027designate.list_records\u0027)"},{"line_number":73,"context_line":"    def _list_records(self, domain_id):"},{"line_number":74,"context_line":"        \"\"\"List records in a domain.."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        :param domain_id: Domain ID"},{"line_number":77,"context_line":"        :returns: domain record list"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2fdecf6d","line":74,"updated":"2014-12-10 17:36:54.000000000","message":"List domain records.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @base.atomic_action_timer(\u0027designate.list_records\u0027)"},{"line_number":73,"context_line":"    def _list_records(self, domain_id):"},{"line_number":74,"context_line":"        \"\"\"List records in a domain.."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        :param domain_id: Domain ID"},{"line_number":77,"context_line":"        :returns: domain record list"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_bd6739b6","line":74,"in_reply_to":"3a961159_2fdecf6d","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        \"\"\"List records in a domain.."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        :param domain_id: Domain ID"},{"line_number":77,"context_line":"        :returns: domain record list"},{"line_number":78,"context_line":"        \"\"\""},{"line_number":79,"context_line":"        return self.clients(\"designate\").records.list(domain_id)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_4f9f9b50","line":77,"updated":"2014-12-10 17:36:54.000000000","message":"s/record/records/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        \"\"\"List records in a domain.."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        :param domain_id: Domain ID"},{"line_number":77,"context_line":"        :returns: domain record list"},{"line_number":78,"context_line":"        \"\"\""},{"line_number":79,"context_line":"        return self.clients(\"designate\").records.list(domain_id)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_dd07a5c8","line":77,"in_reply_to":"3a961159_4f9f9b50","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        return self.clients(\"designate\").records.list(domain_id)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _delete_record(self, domain_id, record_id, atomic_action\u003dTrue):"},{"line_number":82,"context_line":"        \"\"\"Delete a record in a domain.."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        :param domain_id: Domain ID"},{"line_number":85,"context_line":"        :param record_id: Record ID"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_8fe34332","line":82,"updated":"2014-12-10 17:36:54.000000000","message":"Delete domain record.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        return self.clients(\"designate\").records.list(domain_id)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def _delete_record(self, domain_id, record_id, atomic_action\u003dTrue):"},{"line_number":82,"context_line":"        \"\"\"Delete a record in a domain.."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        :param domain_id: Domain ID"},{"line_number":85,"context_line":"        :param record_id: Record ID"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_fd0c61ef","line":82,"in_reply_to":"3a961159_8fe34332","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        :param domain_id: Domain ID"},{"line_number":85,"context_line":"        :param record_id: Record ID"},{"line_number":86,"context_line":"        \"\"\""},{"line_number":87,"context_line":"        client \u003d self.clients(\u0027designate\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        if atomic_action:"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_6fbff7fb","line":86,"updated":"2014-12-10 17:36:54.000000000","message":":param atomic_action: ...","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        :param domain_id: Domain ID"},{"line_number":85,"context_line":"        :param record_id: Record ID"},{"line_number":86,"context_line":"        \"\"\""},{"line_number":87,"context_line":"        client \u003d self.clients(\u0027designate\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        if atomic_action:"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1d0e8de5","line":86,"in_reply_to":"3a961159_6fbff7fb","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/dummy/dummy.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        ScenarioRunners and ability of rally to store a large"},{"line_number":34,"context_line":"        amount of results."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param sleep: Idle time of method."},{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":"        if sleep:"},{"line_number":39,"context_line":"            time.sleep(sleep)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_efd207d1","line":36,"updated":"2014-12-10 17:36:54.000000000","message":":param sleep: idle time of method, int","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        ScenarioRunners and ability of rally to store a large"},{"line_number":34,"context_line":"        amount of results."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        :param sleep: Idle time of method."},{"line_number":37,"context_line":"        \"\"\""},{"line_number":38,"context_line":"        if sleep:"},{"line_number":39,"context_line":"            time.sleep(sleep)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_dd2ec542","line":36,"in_reply_to":"3a961159_efd207d1","updated":"2014-12-11 12:14:59.000000000","message":":param sleep: idle time of method (in seconds)","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        properly by ScenarioRunners and benchmark and analyze rally"},{"line_number":49,"context_line":"        results storing process."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        :param size_of_message: the size of the message."},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        raise DummyScenarioException(\"M\" * size_of_message)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_4f507b5e","line":51,"updated":"2014-12-10 17:36:54.000000000","message":":param size_of_message: int size of the message\n :raises: DummyScenarioException","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        properly by ScenarioRunners and benchmark and analyze rally"},{"line_number":49,"context_line":"        results storing process."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        :param size_of_message: the size of the message."},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        raise DummyScenarioException(\"M\" * size_of_message)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1d25ad5b","line":51,"in_reply_to":"3a961159_4f507b5e","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        return {\"data\": out, \"errors\": err}"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @base.atomic_action_timer(\"dummy_fail_test\")"},{"line_number":86,"context_line":"    def _random_fail_emitter(self, exception_probability):"},{"line_number":87,"context_line":"        if random.random() \u003c exception_probability:"},{"line_number":88,"context_line":"            raise KeyError(\"Dummy test exception\")"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_ef84c7d5","line":86,"updated":"2014-12-10 17:36:54.000000000","message":"docstring is required, with :raises: KeyError","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        return {\"data\": out, \"errors\": err}"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @base.atomic_action_timer(\"dummy_fail_test\")"},{"line_number":86,"context_line":"    def _random_fail_emitter(self, exception_probability):"},{"line_number":87,"context_line":"        if random.random() \u003c exception_probability:"},{"line_number":88,"context_line":"            raise KeyError(\"Dummy test exception\")"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_fddaa14a","line":86,"in_reply_to":"3a961159_ef84c7d5","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        \"\"\"Test atomic action failures processing."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        :param exception_probability: Probability with which atomic actions"},{"line_number":95,"context_line":"                                      fail in this dummy scenario."},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        self._random_fail_emitter(exception_probability)"},{"line_number":98,"context_line":"        self._random_fail_emitter(exception_probability)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_ef0da791","line":95,"updated":"2014-12-10 17:36:54.000000000","message":"add `float\u0027","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        \"\"\"Test atomic action failures processing."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        :param exception_probability: Probability with which atomic actions"},{"line_number":95,"context_line":"                                      fail in this dummy scenario."},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        self._random_fail_emitter(exception_probability)"},{"line_number":98,"context_line":"        self._random_fail_emitter(exception_probability)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_3de189fe","line":95,"in_reply_to":"3a961159_ef0da791","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/glance/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @base.atomic_action_timer(\u0027glance.delete_image\u0027)"},{"line_number":108,"context_line":"    def _delete_image(self, image):"},{"line_number":109,"context_line":"        \"\"\"Deletes the given image."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        Returns when the image is actually deleted."},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_efa04745","line":109,"updated":"2014-12-10 17:36:54.000000000","message":"Delete given image.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @base.atomic_action_timer(\u0027glance.delete_image\u0027)"},{"line_number":108,"context_line":"    def _delete_image(self, image):"},{"line_number":109,"context_line":"        \"\"\"Deletes the given image."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        Returns when the image is actually deleted."},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_7dcdd184","line":109,"in_reply_to":"3a961159_efa04745","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/heat/stacks.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def create_and_list_stack(self, template_path\u003dNone):"},{"line_number":44,"context_line":"        \"\"\"Add a stack and then list all stacks."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":47,"context_line":"        the \"heat stack-create\" and \"heat stack-list\" command performance."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param template_path: path to template file. if it\u0027s None or incorrect,"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_cf4e2b96","line":46,"updated":"2014-12-10 17:36:54.000000000","message":"s/This scenario is a very useful tool to measure/Measure/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def create_and_list_stack(self, template_path\u003dNone):"},{"line_number":44,"context_line":"        \"\"\"Add a stack and then list all stacks."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":47,"context_line":"        the \"heat stack-create\" and \"heat stack-list\" command performance."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param template_path: path to template file. if it\u0027s None or incorrect,"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_7d94f142","line":46,"in_reply_to":"3a961159_cf4e2b96","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":47,"context_line":"        the \"heat stack-create\" and \"heat stack-list\" command performance."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param template_path: path to template file. if it\u0027s None or incorrect,"},{"line_number":50,"context_line":"                              will be used default empty template."},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_af647f22","line":49,"updated":"2014-12-10 17:36:54.000000000","message":":param template_path: path to template file. If None or incorrect, then default empty template will be used.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":47,"context_line":"        the \"heat stack-create\" and \"heat stack-list\" command performance."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        :param template_path: path to template file. if it\u0027s None or incorrect,"},{"line_number":50,"context_line":"                              will be used default empty template."},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_bd71f945","line":49,"in_reply_to":"3a961159_af647f22","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"heat\"],"},{"line_number":62,"context_line":"                            \"roles\": [\"heat_stack_owner\"]})"},{"line_number":63,"context_line":"    def create_and_delete_stack(self, template_path\u003dNone):"},{"line_number":64,"context_line":"        \"\"\"Add and then delete a stack."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":67,"context_line":"        the \"heat stack-create\" and \"heat stack-delete\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_ef6e8700","line":64,"updated":"2014-12-10 17:36:54.000000000","message":"Add and delete stack.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"heat\"],"},{"line_number":62,"context_line":"                            \"roles\": [\"heat_stack_owner\"]})"},{"line_number":63,"context_line":"    def create_and_delete_stack(self, template_path\u003dNone):"},{"line_number":64,"context_line":"        \"\"\"Add and then delete a stack."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":67,"context_line":"        the \"heat stack-create\" and \"heat stack-delete\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_7d7b1128","line":64,"in_reply_to":"3a961159_ef6e8700","updated":"2014-12-11 12:14:59.000000000","message":"I actually thing this docstring is OK","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def create_and_delete_stack(self, template_path\u003dNone):"},{"line_number":64,"context_line":"        \"\"\"Add and then delete a stack."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":67,"context_line":"        the \"heat stack-create\" and \"heat stack-delete\" command performance."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param template_path: path to template file. if it\u0027s None or incorrect,"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_0f49138b","line":66,"updated":"2014-12-10 17:36:54.000000000","message":"s/This scenario is a very useful tool to measure/Measure/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def create_and_delete_stack(self, template_path\u003dNone):"},{"line_number":64,"context_line":"        \"\"\"Add and then delete a stack."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":67,"context_line":"        the \"heat stack-create\" and \"heat stack-delete\" command performance."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        :param template_path: path to template file. if it\u0027s None or incorrect,"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_5d7e551a","line":66,"in_reply_to":"3a961159_0f49138b","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/heat/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @base.atomic_action_timer(\u0027heat.delete_stack\u0027)"},{"line_number":105,"context_line":"    def _delete_stack(self, stack):"},{"line_number":106,"context_line":"        \"\"\"Delete the given stack."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        Returns when the stack is actually deleted."},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_4f087b2d","line":106,"updated":"2014-12-10 17:36:54.000000000","message":"Delete given stack.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @base.atomic_action_timer(\u0027heat.delete_stack\u0027)"},{"line_number":105,"context_line":"    def _delete_stack(self, stack):"},{"line_number":106,"context_line":"        \"\"\"Delete the given stack."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        Returns when the stack is actually deleted."},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1d984d69","line":106,"in_reply_to":"3a961159_4f087b2d","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/keystone/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    @base.atomic_action_timer(\u0027keystone.create_users\u0027)"},{"line_number":65,"context_line":"    def _users_create(self, tenant, users_per_tenant, name_length\u003d10):"},{"line_number":66,"context_line":"        \"\"\"Adds users to a tenant."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        :param users_per_tenant: number of users in per tenant"},{"line_number":69,"context_line":"        :param name_length: length of generated (random) part of name for user"},{"line_number":70,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_21c5038e","line":67,"updated":"2014-12-10 17:36:54.000000000","message":":param tenant: ...","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    @base.atomic_action_timer(\u0027keystone.create_users\u0027)"},{"line_number":65,"context_line":"    def _users_create(self, tenant, users_per_tenant, name_length\u003d10):"},{"line_number":66,"context_line":"        \"\"\"Adds users to a tenant."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        :param users_per_tenant: number of users in per tenant"},{"line_number":69,"context_line":"        :param name_length: length of generated (random) part of name for user"},{"line_number":70,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_7da2319a","line":67,"in_reply_to":"3a961159_21c5038e","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @base.atomic_action_timer(\u0027keystone.list_users\u0027)"},{"line_number":79,"context_line":"    def _list_users(self):"},{"line_number":80,"context_line":"        \"\"\"list users.\"\"\""},{"line_number":81,"context_line":"        return self.admin_clients(\"keystone\").users.list()"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @base.atomic_action_timer(\u0027keystone.list_tenants\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e1421b0f","line":80,"updated":"2014-12-10 17:36:54.000000000","message":"s/list/List/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @base.atomic_action_timer(\u0027keystone.list_users\u0027)"},{"line_number":79,"context_line":"    def _list_users(self):"},{"line_number":80,"context_line":"        \"\"\"list users.\"\"\""},{"line_number":81,"context_line":"        return self.admin_clients(\"keystone\").users.list()"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @base.atomic_action_timer(\u0027keystone.list_tenants\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_fdbd41b8","line":80,"in_reply_to":"3a961159_e1421b0f","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @base.atomic_action_timer(\u0027keystone.list_tenants\u0027)"},{"line_number":84,"context_line":"    def _list_tenants(self):"},{"line_number":85,"context_line":"        \"\"\"list tenants.\"\"\""},{"line_number":86,"context_line":"        return self.admin_clients(\"keystone\").tenants.list()"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_815157da","line":85,"updated":"2014-12-10 17:36:54.000000000","message":"s/list/List/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    @base.atomic_action_timer(\u0027keystone.list_tenants\u0027)"},{"line_number":84,"context_line":"    def _list_tenants(self):"},{"line_number":85,"context_line":"        \"\"\"list tenants.\"\"\""},{"line_number":86,"context_line":"        return self.admin_clients(\"keystone\").tenants.list()"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1daf6d7e","line":85,"in_reply_to":"3a961159_815157da","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/neutron/network.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":27,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":28,"context_line":"    def create_and_list_networks(self, network_create_args\u003dNone):"},{"line_number":29,"context_line":"        \"\"\"Create a network and then list all networks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":32,"context_line":"        the \"neutron net-list\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_61046bc0","line":29,"updated":"2014-12-10 17:36:54.000000000","message":"Create network and list all networks.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":27,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":28,"context_line":"    def create_and_list_networks(self, network_create_args\u003dNone):"},{"line_number":29,"context_line":"        \"\"\"Create a network and then list all networks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":32,"context_line":"        the \"neutron net-list\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_5dcc956a","line":29,"in_reply_to":"3a961159_61046bc0","updated":"2014-12-11 12:14:59.000000000","message":"We still can use indefinite articles...","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    def create_and_list_networks(self, network_create_args\u003dNone):"},{"line_number":29,"context_line":"        \"\"\"Create a network and then list all networks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":32,"context_line":"        the \"neutron net-list\" command performance."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        If you have only 1 user in your context, you will"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_611b8b1b","line":31,"updated":"2014-12-10 17:36:54.000000000","message":"s/This scenario is a very useful tool to measure the/Measure/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    def create_and_list_networks(self, network_create_args\u003dNone):"},{"line_number":29,"context_line":"        \"\"\"Create a network and then list all networks."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":32,"context_line":"        the \"neutron net-list\" command performance."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        If you have only 1 user in your context, you will"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_9dc27d32","line":31,"in_reply_to":"3a961159_611b8b1b","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def create_and_update_networks(self,"},{"line_number":49,"context_line":"                                   network_update_args,"},{"line_number":50,"context_line":"                                   network_create_args\u003dNone):"},{"line_number":51,"context_line":"        \"\"\"Create a network and then update network."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":54,"context_line":"        the \"neutron net-create and net-update\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_81edd7f1","line":51,"updated":"2014-12-10 17:36:54.000000000","message":"Create and update network.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    def create_and_update_networks(self,"},{"line_number":49,"context_line":"                                   network_update_args,"},{"line_number":50,"context_line":"                                   network_create_args\u003dNone):"},{"line_number":51,"context_line":"        \"\"\"Create a network and then update network."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":54,"context_line":"        the \"neutron net-create and net-update\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_bdbf39a9","line":51,"in_reply_to":"3a961159_81edd7f1","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                   network_create_args\u003dNone):"},{"line_number":51,"context_line":"        \"\"\"Create a network and then update network."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":54,"context_line":"        the \"neutron net-create and net-update\" command performance."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        :param network_update_args: dict, PUT /v2.0/networks update request"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_21e8a3e1","line":53,"updated":"2014-12-10 17:36:54.000000000","message":"s/This scenario is a very useful tool to measure the/Measure/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                   network_create_args\u003dNone):"},{"line_number":51,"context_line":"        \"\"\"Create a network and then update network."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":54,"context_line":"        the \"neutron net-create and net-update\" command performance."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        :param network_update_args: dict, PUT /v2.0/networks update request"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_3d02696f","line":53,"in_reply_to":"3a961159_21e8a3e1","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"line_number":63,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":64,"context_line":"    def create_and_delete_networks(self, network_create_args\u003dNone):"},{"line_number":65,"context_line":"        \"\"\"Create a network and then deleting it."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":68,"context_line":"        the \"neutron net-create\" and \"net-delete\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e1b5bbee","line":65,"updated":"2014-12-10 17:36:54.000000000","message":"Create and delete network.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"line_number":63,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":64,"context_line":"    def create_and_delete_networks(self, network_create_args\u003dNone):"},{"line_number":65,"context_line":"        \"\"\"Create a network and then deleting it."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":68,"context_line":"        the \"neutron net-create\" and \"net-delete\" command performance."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_5dfad575","line":65,"in_reply_to":"3a961159_e1b5bbee","updated":"2014-12-11 12:14:59.000000000","message":".","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    def create_and_delete_networks(self, network_create_args\u003dNone):"},{"line_number":65,"context_line":"        \"\"\"Create a network and then deleting it."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":68,"context_line":"        the \"neutron net-create\" and \"net-delete\" command performance."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_61c9cb77","line":67,"updated":"2014-12-10 17:36:54.000000000","message":"s/This scenario is a very useful tool to measure the/Measure/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    def create_and_delete_networks(self, network_create_args\u003dNone):"},{"line_number":65,"context_line":"        \"\"\"Create a network and then deleting it."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":68,"context_line":"        the \"neutron net-create\" and \"net-delete\" command performance."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_9df0bd92","line":67,"in_reply_to":"3a961159_61c9cb77","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                                subnet_create_args\u003dNone,"},{"line_number":82,"context_line":"                                subnet_cidr_start\u003dNone,"},{"line_number":83,"context_line":"                                subnets_per_network\u003dNone):"},{"line_number":84,"context_line":"        \"\"\"Creating and list a given number of subnets."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        The scenario creates a network, a given number of subnets and then"},{"line_number":87,"context_line":"        lists subnets."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2196e34c","line":84,"updated":"2014-12-10 17:36:54.000000000","message":"Create given number of subnets and list all subnets.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                                subnet_create_args\u003dNone,"},{"line_number":82,"context_line":"                                subnet_cidr_start\u003dNone,"},{"line_number":83,"context_line":"                                subnets_per_network\u003dNone):"},{"line_number":84,"context_line":"        \"\"\"Creating and list a given number of subnets."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        The scenario creates a network, a given number of subnets and then"},{"line_number":87,"context_line":"        lists subnets."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_5d41f5a7","line":84,"in_reply_to":"3a961159_2196e34c","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                  subnet_create_args\u003dNone,"},{"line_number":108,"context_line":"                                  subnet_cidr_start\u003dNone,"},{"line_number":109,"context_line":"                                  subnets_per_network\u003dNone):"},{"line_number":110,"context_line":"        \"\"\"Create a subnet and then update this subnet."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        The scenario creates a network, a given number of subnets"},{"line_number":113,"context_line":"        and then updates the subnet. This scenario measure the"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e19a1b62","line":110,"updated":"2014-12-10 17:36:54.000000000","message":"Create and update subnet.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":107,"context_line":"                                  subnet_create_args\u003dNone,"},{"line_number":108,"context_line":"                                  subnet_cidr_start\u003dNone,"},{"line_number":109,"context_line":"                                  subnets_per_network\u003dNone):"},{"line_number":110,"context_line":"        \"\"\"Create a subnet and then update this subnet."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        The scenario creates a network, a given number of subnets"},{"line_number":113,"context_line":"        and then updates the subnet. This scenario measure the"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_7d3eb129","line":110,"in_reply_to":"3a961159_e19a1b62","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                                  subnet_create_args\u003dNone,"},{"line_number":137,"context_line":"                                  subnet_cidr_start\u003dNone,"},{"line_number":138,"context_line":"                                  subnets_per_network\u003dNone):"},{"line_number":139,"context_line":"        \"\"\"Create and deleting a given number of subnets."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        The scenario creates a network, a given number of subnets and then"},{"line_number":142,"context_line":"        deletes subnets."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a1b733d7","line":139,"updated":"2014-12-10 17:36:54.000000000","message":"Create and delete given number of subnets.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                                  subnet_create_args\u003dNone,"},{"line_number":137,"context_line":"                                  subnet_cidr_start\u003dNone,"},{"line_number":138,"context_line":"                                  subnets_per_network\u003dNone):"},{"line_number":139,"context_line":"        \"\"\"Create and deleting a given number of subnets."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        The scenario creates a network, a given number of subnets and then"},{"line_number":142,"context_line":"        deletes subnets."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_9d47ddbb","line":139,"in_reply_to":"3a961159_a1b733d7","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                                subnet_cidr_start\u003dNone,"},{"line_number":166,"context_line":"                                subnets_per_network\u003dNone,"},{"line_number":167,"context_line":"                                router_create_args\u003dNone):"},{"line_number":168,"context_line":"        \"\"\"Create and a given number of routers and list them."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        Create a network, a given number of subnets and routers"},{"line_number":171,"context_line":"        and then list all routers."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_41cdaf5c","line":168,"updated":"2014-12-10 17:36:54.000000000","message":"Create given number of routers and list routers.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                                subnet_cidr_start\u003dNone,"},{"line_number":166,"context_line":"                                subnets_per_network\u003dNone,"},{"line_number":167,"context_line":"                                router_create_args\u003dNone):"},{"line_number":168,"context_line":"        \"\"\"Create and a given number of routers and list them."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        Create a network, a given number of subnets and routers"},{"line_number":171,"context_line":"        and then list all routers."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_dd1405a2","line":168,"in_reply_to":"3a961159_41cdaf5c","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                                router_create_args\u003dNone):"},{"line_number":168,"context_line":"        \"\"\"Create and a given number of routers and list them."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        Create a network, a given number of subnets and routers"},{"line_number":171,"context_line":"        and then list all routers."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_21f98380","line":170,"updated":"2014-12-10 17:36:54.000000000","message":"Create network, given number of subnets and routers, and then list all routers.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                                router_create_args\u003dNone):"},{"line_number":168,"context_line":"        \"\"\"Create and a given number of routers and list them."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        Create a network, a given number of subnets and routers"},{"line_number":171,"context_line":"        and then list all routers."},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_dd7b25f3","line":170,"in_reply_to":"3a961159_21f98380","updated":"2014-12-11 12:14:59.000000000","message":"We SHOULD use articles here, otherwise it is incorrect English","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                                  subnet_cidr_start\u003dNone,"},{"line_number":202,"context_line":"                                  subnets_per_network\u003dNone,"},{"line_number":203,"context_line":"                                  router_create_args\u003dNone):"},{"line_number":204,"context_line":"        \"\"\"Create and update a given number of routers."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"        Create a network, a given number of subnets and routers"},{"line_number":207,"context_line":"        and then updating all routers."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a12c9303","line":204,"updated":"2014-12-10 17:36:54.000000000","message":"Create and update given number of routers.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                                  subnet_cidr_start\u003dNone,"},{"line_number":202,"context_line":"                                  subnets_per_network\u003dNone,"},{"line_number":203,"context_line":"                                  router_create_args\u003dNone):"},{"line_number":204,"context_line":"        \"\"\"Create and update a given number of routers."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"        Create a network, a given number of subnets and routers"},{"line_number":207,"context_line":"        and then updating all routers."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_fd80e1c1","line":204,"in_reply_to":"3a961159_a12c9303","updated":"2014-12-11 12:14:59.000000000","message":".","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                              network_create_args\u003dNone,"},{"line_number":235,"context_line":"                              port_create_args\u003dNone,"},{"line_number":236,"context_line":"                              ports_per_network\u003dNone):"},{"line_number":237,"context_line":"        \"\"\"Create and a given number of ports and list them."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"},{"line_number":240,"context_line":"        :param port_create_args: dict, POST /v2.0/ports request options"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2140a3a4","line":237,"updated":"2014-12-10 17:36:54.000000000","message":"Create given number of ports and list ports.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":234,"context_line":"                              network_create_args\u003dNone,"},{"line_number":235,"context_line":"                              port_create_args\u003dNone,"},{"line_number":236,"context_line":"                              ports_per_network\u003dNone):"},{"line_number":237,"context_line":"        \"\"\"Create and a given number of ports and list them."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"},{"line_number":240,"context_line":"        :param port_create_args: dict, POST /v2.0/ports request options"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1d820dc8","line":237,"in_reply_to":"3a961159_2140a3a4","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                                network_create_args\u003dNone,"},{"line_number":256,"context_line":"                                port_create_args\u003dNone,"},{"line_number":257,"context_line":"                                ports_per_network\u003dNone):"},{"line_number":258,"context_line":"        \"\"\"Create and update a given number of ports."},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":261,"context_line":"        the \"neutron port-create\" and"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_614aabc6","line":258,"updated":"2014-12-10 17:36:54.000000000","message":"Create and update given number of ports.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":255,"context_line":"                                network_create_args\u003dNone,"},{"line_number":256,"context_line":"                                port_create_args\u003dNone,"},{"line_number":257,"context_line":"                                ports_per_network\u003dNone):"},{"line_number":258,"context_line":"        \"\"\"Create and update a given number of ports."},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":261,"context_line":"        the \"neutron port-create\" and"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_3d87c9d8","line":258,"in_reply_to":"3a961159_614aabc6","updated":"2014-12-11 12:14:59.000000000","message":".","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":278,"context_line":"                                network_create_args\u003dNone,"},{"line_number":279,"context_line":"                                port_create_args\u003dNone,"},{"line_number":280,"context_line":"                                ports_per_network\u003dNone):"},{"line_number":281,"context_line":"        \"\"\"Create a port and then delete it."},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":284,"context_line":"        the \"neutron port-create\" and"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_0111e7ab","line":281,"updated":"2014-12-10 17:36:54.000000000","message":"Create and delete port.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":278,"context_line":"                                network_create_args\u003dNone,"},{"line_number":279,"context_line":"                                port_create_args\u003dNone,"},{"line_number":280,"context_line":"                                ports_per_network\u003dNone):"},{"line_number":281,"context_line":"        \"\"\"Create a port and then delete it."},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":284,"context_line":"        the \"neutron port-create\" and"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_63dff269","line":281,"in_reply_to":"3a961159_0111e7ab","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                                ports_per_network\u003dNone):"},{"line_number":281,"context_line":"        \"\"\"Create a port and then delete it."},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":284,"context_line":"        the \"neutron port-create\" and"},{"line_number":285,"context_line":"        \"neutron port-delete\" command performance."},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2127c313","line":283,"updated":"2014-12-10 17:36:54.000000000","message":"s/This scenario is a very useful tool to measure the/Measure/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":280,"context_line":"                                ports_per_network\u003dNone):"},{"line_number":281,"context_line":"        \"\"\"Create a port and then delete it."},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        This scenario is a very useful tool to measure"},{"line_number":284,"context_line":"        the \"neutron port-create\" and"},{"line_number":285,"context_line":"        \"neutron port-delete\" command performance."},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_bd72d90e","line":283,"in_reply_to":"3a961159_2127c313","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/nova/security_group.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def boot_and_delete_server_with_secgroups(self, image, flavor,"},{"line_number":114,"context_line":"                                              security_group_count,"},{"line_number":115,"context_line":"                                              rules_per_security_group):"},{"line_number":116,"context_line":"        \"\"\"Tests booting an image with security groups attached."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        Plan of this scenario:"},{"line_number":119,"context_line":"         - create N security groups with M rules per group"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e13cdbe4","line":116,"updated":"2014-12-10 17:36:54.000000000","message":"Boot and delete server with security groups attached.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    def boot_and_delete_server_with_secgroups(self, image, flavor,"},{"line_number":114,"context_line":"                                              security_group_count,"},{"line_number":115,"context_line":"                                              rules_per_security_group):"},{"line_number":116,"context_line":"        \"\"\"Tests booting an image with security groups attached."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        Plan of this scenario:"},{"line_number":119,"context_line":"         - create N security groups with M rules per group"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_ddc96527","line":116,"in_reply_to":"3a961159_e13cdbe4","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/nova/servers.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    def boot_and_delete_server(self, image, flavor,"},{"line_number":75,"context_line":"                               min_sleep\u003d0, max_sleep\u003d0,"},{"line_number":76,"context_line":"                               force_delete\u003dFalse, **kwargs):"},{"line_number":77,"context_line":"        \"\"\"Boot and then delete a server."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        Optional \u0027min_sleep\u0027 and \u0027max_sleep\u0027 parameters allow the scenario"},{"line_number":80,"context_line":"        to simulate a pause between volume creation and deletion"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_812b1793","line":77,"updated":"2014-12-10 17:36:54.000000000","message":"Boot and delete server.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    def boot_and_delete_server(self, image, flavor,"},{"line_number":75,"context_line":"                               min_sleep\u003d0, max_sleep\u003d0,"},{"line_number":76,"context_line":"                               force_delete\u003dFalse, **kwargs):"},{"line_number":77,"context_line":"        \"\"\"Boot and then delete a server."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        Optional \u0027min_sleep\u0027 and \u0027max_sleep\u0027 parameters allow the scenario"},{"line_number":80,"context_line":"        to simulate a pause between volume creation and deletion"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_887b1d27","line":77,"in_reply_to":"3a961159_812b1793","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                           volume_size,"},{"line_number":103,"context_line":"                                           min_sleep\u003d0, max_sleep\u003d0,"},{"line_number":104,"context_line":"                                           force_delete\u003dFalse, **kwargs):"},{"line_number":105,"context_line":"        \"\"\"Boot a server from volume and then delete this server."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        The scenario first creates a volume and then a server."},{"line_number":108,"context_line":"        Optional \u0027min_sleep\u0027 and \u0027max_sleep\u0027 parameters allow the scenario"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_01172752","line":105,"updated":"2014-12-10 17:36:54.000000000","message":"Boot a server from volume and then delete it.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                                           volume_size,"},{"line_number":103,"context_line":"                                           min_sleep\u003d0, max_sleep\u003d0,"},{"line_number":104,"context_line":"                                           force_delete\u003dFalse, **kwargs):"},{"line_number":105,"context_line":"        \"\"\"Boot a server from volume and then delete this server."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        The scenario first creates a volume and then a server."},{"line_number":108,"context_line":"        Optional \u0027min_sleep\u0027 and \u0027max_sleep\u0027 parameters allow the scenario"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_08972d3c","line":105,"in_reply_to":"3a961159_01172752","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"nova\"]})"},{"line_number":135,"context_line":"    def boot_and_bounce_server(self, image, flavor,"},{"line_number":136,"context_line":"                               force_delete\u003dFalse, **kwargs):"},{"line_number":137,"context_line":"        \"\"\"Boot a server and perform a series of specified actions against it."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        Actions should be passed into kwargs. Available actions are"},{"line_number":140,"context_line":"        \u0027hard_reboot\u0027, \u0027soft_reboot\u0027, \u0027stop_start\u0027 and \u0027rescue_unrescue\u0027."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c4036d0b","line":137,"range":{"start_line":137,"start_character":11,"end_line":137,"end_character":78},"updated":"2014-12-10 17:36:54.000000000","message":"Boot a server and run specified actions against it.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"nova\"]})"},{"line_number":135,"context_line":"    def boot_and_bounce_server(self, image, flavor,"},{"line_number":136,"context_line":"                               force_delete\u003dFalse, **kwargs):"},{"line_number":137,"context_line":"        \"\"\"Boot a server and perform a series of specified actions against it."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        Actions should be passed into kwargs. Available actions are"},{"line_number":140,"context_line":"        \u0027hard_reboot\u0027, \u0027soft_reboot\u0027, \u0027stop_start\u0027 and \u0027rescue_unrescue\u0027."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_28986969","line":137,"in_reply_to":"3a961159_c4036d0b","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"nova\", \"glance\"]})"},{"line_number":172,"context_line":"    def snapshot_server(self, image, flavor,"},{"line_number":173,"context_line":"                        force_delete\u003dFalse, **kwargs):"},{"line_number":174,"context_line":"        \"\"\"Boot a server and make a snapshot for it, then delete both."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        :param image: image to be used to boot an instance"},{"line_number":177,"context_line":"        :param flavor: flavor to be used to boot an instance"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e4a6a90f","line":174,"range":{"start_line":174,"start_character":11,"end_line":174,"end_character":69},"updated":"2014-12-10 17:36:54.000000000","message":"Boot a server, make its snapshot and delete both.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"nova\", \"glance\"]})"},{"line_number":172,"context_line":"    def snapshot_server(self, image, flavor,"},{"line_number":173,"context_line":"                        force_delete\u003dFalse, **kwargs):"},{"line_number":174,"context_line":"        \"\"\"Boot a server and make a snapshot for it, then delete both."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        :param image: image to be used to boot an instance"},{"line_number":177,"context_line":"        :param flavor: flavor to be used to boot an instance"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_489db558","line":174,"in_reply_to":"3a961159_e4a6a90f","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"2a3ea54bf33a005dc21c5012cebddc7cca488ea0","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                       {\"action_name\": \u003cno_of_iterations\u003e}"},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        action_builder \u003d self._bind_actions()"},{"line_number":166,"context_line":"        actions \u003d kwargs.get(\u0027actions\u0027, [])"},{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            action_builder.validate(actions)"},{"line_number":169,"context_line":"        except jsonschema.exceptions.ValidationError as error:"}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_f1ad7a85","line":166,"updated":"2014-12-19 00:21:55.000000000","message":"This scenario really requires a bit of unification and refactoring. \n\nE.g. signature should be: \n\n  boot_and_bounce_server(self, image, flavor,\n\t                               force_delete\u003dFalse, actions, **kwargs):\n\nwhere actions is dict with actions and **kwargs are passed to _boot_server.","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"113ae920dd3ba73af726700d9bf58e295be4696d","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                       {\"action_name\": \u003cno_of_iterations\u003e}"},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        action_builder \u003d self._bind_actions()"},{"line_number":166,"context_line":"        actions \u003d kwargs.get(\u0027actions\u0027, [])"},{"line_number":167,"context_line":"        try:"},{"line_number":168,"context_line":"            action_builder.validate(actions)"},{"line_number":169,"context_line":"        except jsonschema.exceptions.ValidationError as error:"}],"source_content_type":"text/x-python","patch_set":38,"id":"3a961159_94cfba55","line":166,"in_reply_to":"3a961159_f1ad7a85","updated":"2014-12-19 10:38:31.000000000","message":"Done","commit_id":"0bec88eee5ab6794581c430fade1ae50e3eb6c13"}],"rally/benchmark/scenarios/nova/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    @base.atomic_action_timer(\u0027nova.list_servers\u0027)"},{"line_number":75,"context_line":"    def _list_servers(self, detailed\u003dTrue):"},{"line_number":76,"context_line":"        \"\"\"Returns user servers list.\"\"\""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        return self.clients(\"nova\").servers.list(detailed)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @base.atomic_action_timer(\u0027nova.boot_server\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_24fa71bd","line":77,"updated":"2014-12-10 17:36:54.000000000","message":"remove empty line (pep257)","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    @base.atomic_action_timer(\u0027nova.list_servers\u0027)"},{"line_number":75,"context_line":"    def _list_servers(self, detailed\u003dTrue):"},{"line_number":76,"context_line":"        \"\"\"Returns user servers list.\"\"\""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        return self.clients(\"nova\").servers.list(detailed)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @base.atomic_action_timer(\u0027nova.boot_server\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a847f9ba","line":77,"in_reply_to":"3a961159_24fa71bd","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    @base.atomic_action_timer(\u0027nova.boot_server\u0027)"},{"line_number":81,"context_line":"    def _boot_server(self, server_name, image_id, flavor_id,"},{"line_number":82,"context_line":"                     auto_assign_nic\u003dFalse, **kwargs):"},{"line_number":83,"context_line":"        \"\"\"Boots one server."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        Returns when the server is actually booted and is in the \"Active\""},{"line_number":86,"context_line":"        state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_646d5998","line":83,"updated":"2014-12-10 17:36:54.000000000","message":"Boot a server.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    @base.atomic_action_timer(\u0027nova.boot_server\u0027)"},{"line_number":81,"context_line":"    def _boot_server(self, server_name, image_id, flavor_id,"},{"line_number":82,"context_line":"                     auto_assign_nic\u003dFalse, **kwargs):"},{"line_number":83,"context_line":"        \"\"\"Boots one server."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        Returns when the server is actually booted and is in the \"Active\""},{"line_number":86,"context_line":"        state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_081acdcb","line":83,"in_reply_to":"3a961159_646d5998","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    @base.atomic_action_timer(\u0027nova.soft_reboot_server\u0027)"},{"line_number":143,"context_line":"    def _soft_reboot_server(self, server):"},{"line_number":144,"context_line":"        \"\"\"Reboots the given server using soft reboot."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        A soft reboot will be issued on the given server upon which time"},{"line_number":147,"context_line":"        this method will wait for the server to become active."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_042bb530","line":144,"updated":"2014-12-10 17:36:54.000000000","message":"Reboot server with soft reboot.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    @base.atomic_action_timer(\u0027nova.soft_reboot_server\u0027)"},{"line_number":143,"context_line":"    def _soft_reboot_server(self, server):"},{"line_number":144,"context_line":"        \"\"\"Reboots the given server using soft reboot."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        A soft reboot will be issued on the given server upon which time"},{"line_number":147,"context_line":"        this method will wait for the server to become active."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_481055a8","line":144,"in_reply_to":"3a961159_042bb530","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    @base.atomic_action_timer(\u0027nova.reboot_server\u0027)"},{"line_number":154,"context_line":"    def _reboot_server(self, server):"},{"line_number":155,"context_line":"        \"\"\"Reboots the given server using hard reboot."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        A reboot will be issued on the given server upon which time"},{"line_number":158,"context_line":"        this method will wait for the server to become active."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c430cda0","line":155,"updated":"2014-12-10 17:36:54.000000000","message":"Reboot server with hard reboot.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    @base.atomic_action_timer(\u0027nova.reboot_server\u0027)"},{"line_number":154,"context_line":"    def _reboot_server(self, server):"},{"line_number":155,"context_line":"        \"\"\"Reboots the given server using hard reboot."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        A reboot will be issued on the given server upon which time"},{"line_number":158,"context_line":"        this method will wait for the server to become active."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_8825dd0a","line":155,"in_reply_to":"3a961159_c430cda0","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    @base.atomic_action_timer(\u0027nova.start_server\u0027)"},{"line_number":165,"context_line":"    def _start_server(self, server):"},{"line_number":166,"context_line":"        \"\"\"Starts the given server."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        A start will be issued for the given server upon which time"},{"line_number":169,"context_line":"        this method will wait for it to become ACTIVE."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a42d8148","line":166,"updated":"2014-12-10 17:36:54.000000000","message":"Start given server.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    @base.atomic_action_timer(\u0027nova.start_server\u0027)"},{"line_number":165,"context_line":"    def _start_server(self, server):"},{"line_number":166,"context_line":"        \"\"\"Starts the given server."},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"        A start will be issued for the given server upon which time"},{"line_number":169,"context_line":"        this method will wait for it to become ACTIVE."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c81b65c8","line":166,"in_reply_to":"3a961159_a42d8148","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _delete_server(self, server, force\u003dFalse):"},{"line_number":252,"context_line":"        \"\"\"Deletes the given server."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        Returns when the server is actually deleted."},{"line_number":255,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e4b5c9ee","line":252,"updated":"2014-12-10 17:36:54.000000000","message":"Delete server.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _delete_server(self, server, force\u003dFalse):"},{"line_number":252,"context_line":"        \"\"\"Deletes the given server."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        Returns when the server is actually deleted."},{"line_number":255,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_488775d7","line":252,"in_reply_to":"3a961159_e4b5c9ee","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            )"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def _delete_all_servers(self, force\u003dFalse):"},{"line_number":274,"context_line":"        \"\"\"Deletes all servers in current tenant."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        :param force: If True, force_delete will be used instead of delete."},{"line_number":277,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_04b9f5e8","line":274,"updated":"2014-12-10 17:36:54.000000000","message":"s/Deletes/Delete/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            )"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def _delete_all_servers(self, force\u003dFalse):"},{"line_number":274,"context_line":"        \"\"\"Deletes all servers in current tenant."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        :param force: If True, force_delete will be used instead of delete."},{"line_number":277,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_686fd12b","line":274,"in_reply_to":"3a961159_04b9f5e8","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    @base.atomic_action_timer(\u0027nova.delete_image\u0027)"},{"line_number":286,"context_line":"    def _delete_image(self, image):"},{"line_number":287,"context_line":"        \"\"\"Deletes the given image."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        Returns when the image is actually deleted."},{"line_number":290,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_44ca1d6f","line":287,"updated":"2014-12-10 17:36:54.000000000","message":"Delete image.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    @base.atomic_action_timer(\u0027nova.delete_image\u0027)"},{"line_number":286,"context_line":"    def _delete_image(self, image):"},{"line_number":287,"context_line":"        \"\"\"Deletes the given image."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        Returns when the image is actually deleted."},{"line_number":290,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c8728510","line":287,"in_reply_to":"3a961159_44ca1d6f","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    @base.atomic_action_timer(\u0027nova.create_image\u0027)"},{"line_number":303,"context_line":"    def _create_image(self, server):"},{"line_number":304,"context_line":"        \"\"\"Creates an image of the given server"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        Uses the server name to name the created image. Returns when the image"},{"line_number":307,"context_line":"        is actually created and is in the \"Active\" state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c4a52db6","line":304,"updated":"2014-12-10 17:36:54.000000000","message":"Create image from the given server.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    @base.atomic_action_timer(\u0027nova.create_image\u0027)"},{"line_number":303,"context_line":"    def _create_image(self, server):"},{"line_number":304,"context_line":"        \"\"\"Creates an image of the given server"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        Uses the server name to name the created image. Returns when the image"},{"line_number":307,"context_line":"        is actually created and is in the \"Active\" state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e862e13c","line":304,"in_reply_to":"3a961159_c4a52db6","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":326,"context_line":"    @base.atomic_action_timer(\u0027nova.boot_servers\u0027)"},{"line_number":327,"context_line":"    def _boot_servers(self, name_prefix, image_id, flavor_id,"},{"line_number":328,"context_line":"                      requests, instances_amount\u003d1, **kwargs):"},{"line_number":329,"context_line":"        \"\"\"Boots multiple servers."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        Returns when all the servers are actually booted and are in the"},{"line_number":332,"context_line":"        \"Active\" state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_247d111d","line":329,"updated":"2014-12-10 17:36:54.000000000","message":"s/Boots/Boot/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":326,"context_line":"    @base.atomic_action_timer(\u0027nova.boot_servers\u0027)"},{"line_number":327,"context_line":"    def _boot_servers(self, name_prefix, image_id, flavor_id,"},{"line_number":328,"context_line":"                      requests, instances_amount\u003d1, **kwargs):"},{"line_number":329,"context_line":"        \"\"\"Boots multiple servers."},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"        Returns when all the servers are actually booted and are in the"},{"line_number":332,"context_line":"        \"Active\" state."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2859498e","line":329,"in_reply_to":"3a961159_247d111d","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    @base.atomic_action_timer(\u0027nova.list_floating_ip_pools\u0027)"},{"line_number":366,"context_line":"    def _list_floating_ip_pools(self):"},{"line_number":367,"context_line":"        \"\"\"Returns user floating ip pools list.\"\"\""},{"line_number":368,"context_line":"        return self.clients(\"nova\").floating_ip_pools.list()"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    @base.atomic_action_timer(\u0027nova.list_floating_ips\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e49a2962","line":367,"updated":"2014-12-10 17:36:54.000000000","message":"s/Returns/Return/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    @base.atomic_action_timer(\u0027nova.list_floating_ip_pools\u0027)"},{"line_number":366,"context_line":"    def _list_floating_ip_pools(self):"},{"line_number":367,"context_line":"        \"\"\"Returns user floating ip pools list.\"\"\""},{"line_number":368,"context_line":"        return self.clients(\"nova\").floating_ip_pools.list()"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    @base.atomic_action_timer(\u0027nova.list_floating_ips\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_6856f15d","line":367,"in_reply_to":"3a961159_e49a2962","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    @base.atomic_action_timer(\u0027nova.list_floating_ips\u0027)"},{"line_number":371,"context_line":"    def _list_floating_ips(self):"},{"line_number":372,"context_line":"        \"\"\"Returns user floating ips list.\"\"\""},{"line_number":373,"context_line":"        return self.clients(\"nova\").floating_ips.list()"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    @base.atomic_action_timer(\u0027nova.create_floating_ip\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_24a431a5","line":372,"updated":"2014-12-10 17:36:54.000000000","message":"s/Returns/Return/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":369,"context_line":""},{"line_number":370,"context_line":"    @base.atomic_action_timer(\u0027nova.list_floating_ips\u0027)"},{"line_number":371,"context_line":"    def _list_floating_ips(self):"},{"line_number":372,"context_line":"        \"\"\"Returns user floating ips list.\"\"\""},{"line_number":373,"context_line":"        return self.clients(\"nova\").floating_ips.list()"},{"line_number":374,"context_line":""},{"line_number":375,"context_line":"    @base.atomic_action_timer(\u0027nova.create_floating_ip\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_88531d6a","line":372,"in_reply_to":"3a961159_24a431a5","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":442,"context_line":""},{"line_number":443,"context_line":"    @base.atomic_action_timer(\u0027nova.list_networks\u0027)"},{"line_number":444,"context_line":"    def _list_networks(self):"},{"line_number":445,"context_line":"        \"\"\"Returns user networks list.\"\"\""},{"line_number":446,"context_line":"        return self.clients(\"nova\").networks.list()"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"    @base.atomic_action_timer(\u0027nova.resize\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_64ae3987","line":445,"updated":"2014-12-10 17:36:54.000000000","message":"s/Returns/Return/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":442,"context_line":""},{"line_number":443,"context_line":"    @base.atomic_action_timer(\u0027nova.list_networks\u0027)"},{"line_number":444,"context_line":"    def _list_networks(self):"},{"line_number":445,"context_line":"        \"\"\"Returns user networks list.\"\"\""},{"line_number":446,"context_line":"        return self.clients(\"nova\").networks.list()"},{"line_number":447,"context_line":""},{"line_number":448,"context_line":"    @base.atomic_action_timer(\u0027nova.resize\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a84c59c9","line":445,"in_reply_to":"3a961159_64ae3987","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":514,"context_line":"    @base.atomic_action_timer(\u0027nova.live_migrate\u0027)"},{"line_number":515,"context_line":"    def _live_migrate(self, server, target_host, block_migration\u003dFalse,"},{"line_number":516,"context_line":"                      disk_over_commit\u003dFalse, skip_host_check\u003dFalse):"},{"line_number":517,"context_line":"        \"\"\"Live Migration of an specified server(Instance)."},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        :param server: Server object"},{"line_number":520,"context_line":"        :param target_host: Specifies the target compute node to migrate"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c4ba8dbf","line":517,"updated":"2014-12-10 17:36:54.000000000","message":"Run live migration of the given server.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":514,"context_line":"    @base.atomic_action_timer(\u0027nova.live_migrate\u0027)"},{"line_number":515,"context_line":"    def _live_migrate(self, server, target_host, block_migration\u003dFalse,"},{"line_number":516,"context_line":"                      disk_over_commit\u003dFalse, skip_host_check\u003dFalse):"},{"line_number":517,"context_line":"        \"\"\"Live Migration of an specified server(Instance)."},{"line_number":518,"context_line":""},{"line_number":519,"context_line":"        :param server: Server object"},{"line_number":520,"context_line":"        :param target_host: Specifies the target compute node to migrate"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c8e0c598","line":517,"in_reply_to":"3a961159_c4ba8dbf","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    @base.atomic_action_timer(\u0027nova.find_host_to_migrate\u0027)"},{"line_number":548,"context_line":"    def _find_host_to_migrate(self, server):"},{"line_number":549,"context_line":"        \"\"\"Finds a compute node for live migration."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"        :param server: Server object"},{"line_number":552,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_04b575cc","line":549,"updated":"2014-12-10 17:36:54.000000000","message":"s/Finds/Find/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":546,"context_line":""},{"line_number":547,"context_line":"    @base.atomic_action_timer(\u0027nova.find_host_to_migrate\u0027)"},{"line_number":548,"context_line":"    def _find_host_to_migrate(self, server):"},{"line_number":549,"context_line":"        \"\"\"Finds a compute node for live migration."},{"line_number":550,"context_line":""},{"line_number":551,"context_line":"        :param server: Server object"},{"line_number":552,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_28e789ad","line":549,"in_reply_to":"3a961159_04b575cc","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":602,"context_line":"                self.clients(\"nova\").security_groups.delete(sg.id)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def _list_security_groups(self):"},{"line_number":605,"context_line":"        \"\"\"Returns security groups list.\"\"\""},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"        with base.AtomicAction(self, \"nova.list_security_groups\"):"},{"line_number":608,"context_line":"            return self.clients(\"nova\").security_groups.list()"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_84c0852b","line":605,"updated":"2014-12-10 17:36:54.000000000","message":"s/Returns/Return/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":602,"context_line":"                self.clients(\"nova\").security_groups.delete(sg.id)"},{"line_number":603,"context_line":""},{"line_number":604,"context_line":"    def _list_security_groups(self):"},{"line_number":605,"context_line":"        \"\"\"Returns security groups list.\"\"\""},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"        with base.AtomicAction(self, \"nova.list_security_groups\"):"},{"line_number":608,"context_line":"            return self.clients(\"nova\").security_groups.list()"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_88015d3a","line":605,"in_reply_to":"3a961159_84c0852b","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/quotas/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    @base.atomic_action_timer(\u0027quotas.update_quotas\u0027)"},{"line_number":25,"context_line":"    def _update_quotas(self, component, tenant_id, max_quota\u003d1024):"},{"line_number":26,"context_line":"        \"\"\"Updates quotas."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        :param component: Component for the quotas."},{"line_number":29,"context_line":"        :param tenant_id: The project_id for the quotas to be updated."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c42fedf4","line":26,"updated":"2014-12-10 17:36:54.000000000","message":"s/Updates/Update/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    @base.atomic_action_timer(\u0027quotas.update_quotas\u0027)"},{"line_number":25,"context_line":"    def _update_quotas(self, component, tenant_id, max_quota\u003d1024):"},{"line_number":26,"context_line":"        \"\"\"Updates quotas."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"        :param component: Component for the quotas."},{"line_number":29,"context_line":"        :param tenant_id: The project_id for the quotas to be updated."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e89741ea","line":26,"in_reply_to":"3a961159_c42fedf4","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @base.atomic_action_timer(\u0027quotas.delete_quotas\u0027)"},{"line_number":38,"context_line":"    def _delete_quotas(self, component, tenant_id):"},{"line_number":39,"context_line":"        \"\"\"Deletes quotas."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        :param component: Component for the quotas."},{"line_number":42,"context_line":"        :param tenant_id: The project_id for the quotas to be updated."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e436a951","line":39,"updated":"2014-12-10 17:36:54.000000000","message":"s/Deletes/Delete/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @base.atomic_action_timer(\u0027quotas.delete_quotas\u0027)"},{"line_number":38,"context_line":"    def _delete_quotas(self, component, tenant_id):"},{"line_number":39,"context_line":"        \"\"\"Deletes quotas."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        :param component: Component for the quotas."},{"line_number":42,"context_line":"        :param tenant_id: The project_id for the quotas to be updated."}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_089d6d0b","line":39,"in_reply_to":"3a961159_e436a951","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/sahara/clusters.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        deltas is set to [2, -2] it means that the first scaling operation will"},{"line_number":109,"context_line":"        add 2 worker nodes to the cluster and the second will remove two."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        :param flavor: The Nova flavor that will be for nodes in the"},{"line_number":112,"context_line":"                       created node groups"},{"line_number":113,"context_line":"        :param node_count: The total number of instances in a cluster (\u003e\u003d 2)"},{"line_number":114,"context_line":"        :param plugin_name: The name of a provisioning plugin"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a47ae1ee","line":111,"updated":"2014-12-10 17:36:54.000000000","message":"remove \"The\" here and below within the docstring","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        deltas is set to [2, -2] it means that the first scaling operation will"},{"line_number":109,"context_line":"        add 2 worker nodes to the cluster and the second will remove two."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        :param flavor: The Nova flavor that will be for nodes in the"},{"line_number":112,"context_line":"                       created node groups"},{"line_number":113,"context_line":"        :param node_count: The total number of instances in a cluster (\u003e\u003d 2)"},{"line_number":114,"context_line":"        :param plugin_name: The name of a provisioning plugin"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_286ce907","line":111,"in_reply_to":"3a961159_a47ae1ee","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/sahara/jobs.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        This scenario Creates a Job entity and launches an execution on a"},{"line_number":36,"context_line":"        Cluster."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        :param job_type: The type of the Data Processing Job"},{"line_number":39,"context_line":"        :param configs: The configs dict that will be passed to a Job Execution"},{"line_number":40,"context_line":"        :param job_idx: The index of a job in a sequence. This index will be"},{"line_number":41,"context_line":"                        used to create different atomic actions for each job"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e4e94981","line":38,"updated":"2014-12-10 17:36:54.000000000","message":"s/The type of/type of/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        This scenario Creates a Job entity and launches an execution on a"},{"line_number":36,"context_line":"        Cluster."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"        :param job_type: The type of the Data Processing Job"},{"line_number":39,"context_line":"        :param configs: The configs dict that will be passed to a Job Execution"},{"line_number":40,"context_line":"        :param job_idx: The index of a job in a sequence. This index will be"},{"line_number":41,"context_line":"                        used to create different atomic actions for each job"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2843096d","line":38,"in_reply_to":"3a961159_e4e94981","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/sahara/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @base.atomic_action_timer(\u0027sahara.list_node_group_templates\u0027)"},{"line_number":113,"context_line":"    def _list_node_group_templates(self):"},{"line_number":114,"context_line":"        \"\"\"Returns user Node Group Templates list.\"\"\""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        return self.clients(\"sahara\").node_group_templates.list()"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_847de5b3","line":114,"updated":"2014-12-10 17:36:54.000000000","message":"s/Returns/Return/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @base.atomic_action_timer(\u0027sahara.list_node_group_templates\u0027)"},{"line_number":113,"context_line":"    def _list_node_group_templates(self):"},{"line_number":114,"context_line":"        \"\"\"Returns user Node Group Templates list.\"\"\""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        return self.clients(\"sahara\").node_group_templates.list()"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_283a29e7","line":114,"in_reply_to":"3a961159_847de5b3","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    @base.atomic_action_timer(\u0027sahara.list_node_group_templates\u0027)"},{"line_number":113,"context_line":"    def _list_node_group_templates(self):"},{"line_number":114,"context_line":"        \"\"\"Returns user Node Group Templates list.\"\"\""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        return self.clients(\"sahara\").node_group_templates.list()"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @base.atomic_action_timer(\u0027sahara.create_master_node_group_template\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_24b1918f","line":115,"updated":"2014-12-10 17:36:54.000000000","message":"remove this empty line","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    @base.atomic_action_timer(\u0027sahara.list_node_group_templates\u0027)"},{"line_number":113,"context_line":"    def _list_node_group_templates(self):"},{"line_number":114,"context_line":"        \"\"\"Returns user Node Group Templates list.\"\"\""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        return self.clients(\"sahara\").node_group_templates.list()"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    @base.atomic_action_timer(\u0027sahara.create_master_node_group_template\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_483f75d6","line":115,"in_reply_to":"3a961159_24b1918f","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    @base.atomic_action_timer(\u0027sahara.create_master_node_group_template\u0027)"},{"line_number":119,"context_line":"    def _create_master_node_group_template(self, flavor_id, plugin_name,"},{"line_number":120,"context_line":"                                           hadoop_version):"},{"line_number":121,"context_line":"        \"\"\"Creates a master Node Group Template with a random name."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        :param flavor_id: The required argument for the Template"},{"line_number":124,"context_line":"        :param plugin_name: Sahara provisioning plugin name"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_4473fde6","line":121,"updated":"2014-12-10 17:36:54.000000000","message":"s/Creates/Create/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    @base.atomic_action_timer(\u0027sahara.create_master_node_group_template\u0027)"},{"line_number":119,"context_line":"    def _create_master_node_group_template(self, flavor_id, plugin_name,"},{"line_number":120,"context_line":"                                           hadoop_version):"},{"line_number":121,"context_line":"        \"\"\"Creates a master Node Group Template with a random name."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        :param flavor_id: The required argument for the Template"},{"line_number":124,"context_line":"        :param plugin_name: Sahara provisioning plugin name"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_6827d1ca","line":121,"in_reply_to":"3a961159_4473fde6","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            the plugin"},{"line_number":127,"context_line":"        :returns: The created Template"},{"line_number":128,"context_line":"        \"\"\""},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        name \u003d self._generate_random_name(prefix\u003d\"master-ngt-\")"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        return self.clients(\"sahara\").node_group_templates.create("}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_64ab991d","line":129,"updated":"2014-12-10 17:36:54.000000000","message":"remove NL","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":126,"context_line":"            the plugin"},{"line_number":127,"context_line":"        :returns: The created Template"},{"line_number":128,"context_line":"        \"\"\""},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        name \u003d self._generate_random_name(prefix\u003d\"master-ngt-\")"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        return self.clients(\"sahara\").node_group_templates.create("}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_83dcde74","line":129,"in_reply_to":"3a961159_64ab991d","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    @base.atomic_action_timer(\u0027sahara.create_worker_node_group_template\u0027)"},{"line_number":141,"context_line":"    def _create_worker_node_group_template(self, flavor_id, plugin_name,"},{"line_number":142,"context_line":"                                           hadoop_version):"},{"line_number":143,"context_line":"        \"\"\"Creates a worker Node Group Template with a random name."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        :param flavor_id: The required argument for the Template"},{"line_number":146,"context_line":"        :param plugin_name: Sahara provisioning plugin name"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_2478b1c3","line":143,"updated":"2014-12-10 17:36:54.000000000","message":"s/Creates/Create/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":140,"context_line":"    @base.atomic_action_timer(\u0027sahara.create_worker_node_group_template\u0027)"},{"line_number":141,"context_line":"    def _create_worker_node_group_template(self, flavor_id, plugin_name,"},{"line_number":142,"context_line":"                                           hadoop_version):"},{"line_number":143,"context_line":"        \"\"\"Creates a worker Node Group Template with a random name."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        :param flavor_id: The required argument for the Template"},{"line_number":146,"context_line":"        :param plugin_name: Sahara provisioning plugin name"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c82a858f","line":143,"in_reply_to":"3a961159_2478b1c3","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            the plugin"},{"line_number":149,"context_line":"        :returns: The created Template"},{"line_number":150,"context_line":"        \"\"\""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        name \u003d self._generate_random_name(prefix\u003d\"worker-ngt-\")"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        return self.clients(\"sahara\").node_group_templates.create("}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e46ea900","line":151,"updated":"2014-12-10 17:36:54.000000000","message":"remove NL","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            the plugin"},{"line_number":149,"context_line":"        :returns: The created Template"},{"line_number":150,"context_line":"        \"\"\""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"        name \u003d self._generate_random_name(prefix\u003d\"worker-ngt-\")"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        return self.clients(\"sahara\").node_group_templates.create("}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_680ef13c","line":151,"in_reply_to":"3a961159_e46ea900","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    @base.atomic_action_timer(\u0027sahara.delete_node_group_template\u0027)"},{"line_number":163,"context_line":"    def _delete_node_group_template(self, node_group):"},{"line_number":164,"context_line":"        \"\"\"Deletes a Node Group Template by id."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        :param node_group: The Node Group Template to be deleted"},{"line_number":167,"context_line":"        :returns:"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_6459d959","line":164,"updated":"2014-12-10 17:36:54.000000000","message":"s/Deletes/Delete/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    @base.atomic_action_timer(\u0027sahara.delete_node_group_template\u0027)"},{"line_number":163,"context_line":"    def _delete_node_group_template(self, node_group):"},{"line_number":164,"context_line":"        \"\"\"Deletes a Node Group Template by id."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        :param node_group: The Node Group Template to be deleted"},{"line_number":167,"context_line":"        :returns:"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_880b1d29","line":164,"in_reply_to":"3a961159_6459d959","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                        neutron_net_id\u003dNone, volumes_per_node\u003dNone,"},{"line_number":183,"context_line":"                        volumes_size\u003dNone, node_configs\u003dNone,"},{"line_number":184,"context_line":"                        cluster_configs\u003dNone, wait_active\u003dTrue):"},{"line_number":185,"context_line":"        \"\"\"Creates a cluster and wait until it becomes Active."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        The cluster is created with two node groups. The master Node Group is"},{"line_number":188,"context_line":"        created with one instance. The worker node group contains"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e43ce9e4","line":185,"updated":"2014-12-10 17:36:54.000000000","message":"Create cluster.","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":182,"context_line":"                        neutron_net_id\u003dNone, volumes_per_node\u003dNone,"},{"line_number":183,"context_line":"                        volumes_size\u003dNone, node_configs\u003dNone,"},{"line_number":184,"context_line":"                        cluster_configs\u003dNone, wait_active\u003dTrue):"},{"line_number":185,"context_line":"        \"\"\"Creates a cluster and wait until it becomes Active."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        The cluster is created with two node groups. The master Node Group is"},{"line_number":188,"context_line":"        created with one instance. The worker node group contains"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_23088a27","line":185,"in_reply_to":"3a961159_e43ce9e4","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    @base.atomic_action_timer(\u0027sahara.delete_cluster\u0027)"},{"line_number":340,"context_line":"    def _delete_cluster(self, cluster):"},{"line_number":341,"context_line":"        \"\"\"Calls a Cluster delete by id and waits for complete deletion."},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"        :param cluster: The Cluster to be deleted"},{"line_number":344,"context_line":"        :returns:"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_04173552","line":341,"updated":"2014-12-10 17:36:54.000000000","message":"Delete cluster.\n\n:param cluster: cluster to delete","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    @base.atomic_action_timer(\u0027sahara.delete_cluster\u0027)"},{"line_number":340,"context_line":"    def _delete_cluster(self, cluster):"},{"line_number":341,"context_line":"        \"\"\"Calls a Cluster delete by id and waits for complete deletion."},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"        :param cluster: The Cluster to be deleted"},{"line_number":344,"context_line":"        :returns:"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c3e2662e","line":341,"in_reply_to":"3a961159_04173552","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        \"\"\"Calls a Cluster delete by id and waits for complete deletion."},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"        :param cluster: The Cluster to be deleted"},{"line_number":344,"context_line":"        :returns:"},{"line_number":345,"context_line":"        \"\"\""},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        self.clients(\"sahara\").clusters.delete(cluster.id)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_373621e8","line":344,"updated":"2014-12-10 17:36:54.000000000","message":"remove this line","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        \"\"\"Calls a Cluster delete by id and waits for complete deletion."},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"        :param cluster: The Cluster to be deleted"},{"line_number":344,"context_line":"        :returns:"},{"line_number":345,"context_line":"        \"\"\""},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        self.clients(\"sahara\").clusters.delete(cluster.id)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a31b9a71","line":344,"in_reply_to":"3a961159_373621e8","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            return True"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def _create_output_ds(self):"},{"line_number":360,"context_line":"        \"\"\"Creates an output Data Source based on EDP context"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        :returns: The created Data Source"},{"line_number":363,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_370f0130","line":360,"updated":"2014-12-10 17:36:54.000000000","message":"s/Creates/Create/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            return True"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"    def _create_output_ds(self):"},{"line_number":360,"context_line":"        \"\"\"Creates an output Data Source based on EDP context"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        :returns: The created Data Source"},{"line_number":363,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_c318a677","line":360,"in_reply_to":"3a961159_370f0130","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    def _run_job_execution(self, job_id, cluster_id, input_id, output_id,"},{"line_number":382,"context_line":"                           configs, job_idx):"},{"line_number":383,"context_line":"        \"\"\"Runs a Job Execution and waits until it completes or fails."},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        The Job Execution is accepted as successful when Oozie reports"},{"line_number":386,"context_line":"        \"success\" or \"succeeded\" status. The failure statuses are \"failed\" and"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1714c542","line":383,"updated":"2014-12-10 17:36:54.000000000","message":"s/Runs/Run/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":380,"context_line":""},{"line_number":381,"context_line":"    def _run_job_execution(self, job_id, cluster_id, input_id, output_id,"},{"line_number":382,"context_line":"                           configs, job_idx):"},{"line_number":383,"context_line":"        \"\"\"Runs a Job Execution and waits until it completes or fails."},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        The Job Execution is accepted as successful when Oozie reports"},{"line_number":386,"context_line":"        \"success\" or \"succeeded\" status. The failure statuses are \"failed\" and"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_e3284288","line":383,"in_reply_to":"3a961159_1714c542","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/vm/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        \"\"\"Run command inside an instance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        This is a separate function so that only script execution is timed."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        return ssh.execute(interpreter, stdin\u003dopen(script, \"rb\"))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @base.atomic_action_timer(\u0027vm.wait_for_ssh\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_1742053e","line":36,"updated":"2014-12-10 17:36:54.000000000","message":":returns: ...","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        \"\"\"Run command inside an instance."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        This is a separate function so that only script execution is timed."},{"line_number":36,"context_line":"        \"\"\""},{"line_number":37,"context_line":"        return ssh.execute(interpreter, stdin\u003dopen(script, \"rb\"))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @base.atomic_action_timer(\u0027vm.wait_for_ssh\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_63437242","line":36,"in_reply_to":"3a961159_1742053e","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/benchmark/scenarios/zaqar/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    @base.atomic_action_timer(\u0027zaqar.create_queue\u0027)"},{"line_number":20,"context_line":"    def _queue_create(self, name_length\u003d10, **kwargs):"},{"line_number":21,"context_line":"        \"\"\"Creates Zaqar queue with random name."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"        :param name_length: length of generated (random) part of name"},{"line_number":24,"context_line":"        :param kwargs: Other optional parameters to create queues like"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_376461e4","line":21,"updated":"2014-12-10 17:36:54.000000000","message":"s/Creates/Create/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    @base.atomic_action_timer(\u0027zaqar.create_queue\u0027)"},{"line_number":20,"context_line":"    def _queue_create(self, name_length\u003d10, **kwargs):"},{"line_number":21,"context_line":"        \"\"\"Creates Zaqar queue with random name."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"        :param name_length: length of generated (random) part of name"},{"line_number":24,"context_line":"        :param kwargs: Other optional parameters to create queues like"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_a360facf","line":21,"in_reply_to":"3a961159_376461e4","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}],"rally/utils.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"29e102539e83459612763fb2bf8a31564c08b74d","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"def retry(times, func, *args, **kwargs):"},{"line_number":347,"context_line":"    \"\"\"Tries to execute multiple times function mitigating exceptions."},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    :param times: Amount of attempts to execute function"},{"line_number":350,"context_line":"    :param func: Function that should be executed"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_17b04542","line":347,"updated":"2014-12-10 17:36:54.000000000","message":"s/Tries/Try/","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"6c933a3e010a72acc01306c5352ac5e18c7bebae","unresolved":false,"context_lines":[{"line_number":344,"context_line":""},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"def retry(times, func, *args, **kwargs):"},{"line_number":347,"context_line":"    \"\"\"Tries to execute multiple times function mitigating exceptions."},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"    :param times: Amount of attempts to execute function"},{"line_number":350,"context_line":"    :param func: Function that should be executed"}],"source_content_type":"text/x-python","patch_set":27,"id":"3a961159_03a38e01","line":347,"in_reply_to":"3a961159_17b04542","updated":"2014-12-11 12:14:59.000000000","message":"Done","commit_id":"dc684587e9f3f3e110b188b931cc5c90f9692159"}]}
