)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a4cd3593e29d556e217da86c996a2fda2db90c1a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Valeriy Ponomaryov \u003cvponomaryov@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-06-13 14:21:59 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[Manila] Add context for Manila with autocreated resources + benchmark"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make it possible to create Manila shares creating resources on fly, such as:"},{"line_number":10,"context_line":"- Share networks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":40,"id":"7aa08908_18c19fe4","line":7,"updated":"2016-06-14 14:16:31.000000000","message":"s/benchmark/scenario/","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9c205f228382e04402aaa3e8a379905212b75a99","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Valeriy Ponomaryov \u003cvponomaryov@mirantis.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-06-13 14:21:59 +0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[Manila] Add context for Manila with autocreated resources + benchmark"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Make it possible to create Manila shares creating resources on fly, such as:"},{"line_number":10,"context_line":"- Share networks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":40,"id":"7aa08908_5f330614","line":7,"in_reply_to":"7aa08908_18c19fe4","updated":"2016-06-14 15:08:44.000000000","message":"Exactly benchmark to one of manila CI jobs. Amount of scenarios stays unchanged.","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"}],"rally-jobs/rally-manila.yaml":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"f5e0907e0065ee49abdea62a4eed5dd28083fcda","unresolved":false,"context_lines":[{"line_number":54,"context_line":"          tenants: 2"},{"line_number":55,"context_line":"          users_per_tenant: 1"},{"line_number":56,"context_line":"        network:"},{"line_number":57,"context_line":"          networks_per_tenant: 1"},{"line_number":58,"context_line":"          start_cidr: \"99.0.0.0/24\""},{"line_number":59,"context_line":"        manila:"},{"line_number":60,"context_line":"          use_share_networks: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"fa1b9901_ccd7d6eb","line":57,"updated":"2015-08-19 13:48:35.000000000","message":"As this patch related to networks I want to see how it wors with multiple per tenant.","commit_id":"c4b16e9388b0c1b9429a82ddd30be330eba4dfef"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"233dd9590d515c3424c55598bb301e58ca01c299","unresolved":false,"context_lines":[{"line_number":54,"context_line":"          tenants: 2"},{"line_number":55,"context_line":"          users_per_tenant: 1"},{"line_number":56,"context_line":"        network:"},{"line_number":57,"context_line":"          networks_per_tenant: 1"},{"line_number":58,"context_line":"          start_cidr: \"99.0.0.0/24\""},{"line_number":59,"context_line":"        manila:"},{"line_number":60,"context_line":"          use_share_networks: True"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"fa1b9901_a17ceeeb","line":57,"in_reply_to":"fa1b9901_ccd7d6eb","updated":"2015-08-25 11:17:33.000000000","message":"Done","commit_id":"c4b16e9388b0c1b9429a82ddd30be330eba4dfef"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a4cd3593e29d556e217da86c996a2fda2db90c1a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        network:"},{"line_number":59,"context_line":"          networks_per_tenant: 2"},{"line_number":60,"context_line":"          start_cidr: \"99.0.0.0/24\""},{"line_number":61,"context_line":"        manila_share_networks:"},{"line_number":62,"context_line":"          use_share_networks: True"},{"line_number":63,"context_line":"      sla:"},{"line_number":64,"context_line":"        failure_rate:"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"7aa08908_79db854f","line":61,"updated":"2016-06-14 14:16:31.000000000","message":"Where is a context \"manila_security_services\", which is introduced by this patch? It obviously must be included in some scenario","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9c205f228382e04402aaa3e8a379905212b75a99","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        network:"},{"line_number":59,"context_line":"          networks_per_tenant: 2"},{"line_number":60,"context_line":"          start_cidr: \"99.0.0.0/24\""},{"line_number":61,"context_line":"        manila_share_networks:"},{"line_number":62,"context_line":"          use_share_networks: True"},{"line_number":63,"context_line":"      sla:"},{"line_number":64,"context_line":"        failure_rate:"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"7aa08908_e17977c9","line":61,"in_reply_to":"7aa08908_79db854f","updated":"2016-06-14 15:08:44.000000000","message":"For the moment, it cannot be tested in CI. \"security_services\" are real resources that should be referred to with proper data.","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"}],"rally/plugins/openstack/context/manila/manila_security_services.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"f7acf3abf890b213d263e9ad565f088ee8eaa95b","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @utils.log_task_wrapper(LOG.info, _(\"Enter context: `%s`\") % CONTEXT_NAME)"},{"line_number":67,"context_line":"    def setup(self):"},{"line_number":68,"context_line":"        if not self.config[\"use_security_services\"]:"},{"line_number":69,"context_line":"            return"},{"line_number":70,"context_line":"        for user, tenant_id in (utils.iterate_per_tenants("},{"line_number":71,"context_line":"                self.context.get(\"users\", []))):"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a2fa921_91f4b2f2","line":68,"updated":"2015-10-07 13:23:45.000000000","message":"Please, share use case of this context with option `use_security_services\u003dFalse`. If user doesn\u0027t want to use this context, he should not specify it via json/yaml file and not via setting option `use_security_services` to False value","commit_id":"c7a8cefc6de88394ec7943bbd27cb2d2452db99f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"63a084afa07bc7d97e2645b27f60d9f0df6b02cd","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @utils.log_task_wrapper(LOG.info, _(\"Enter context: `%s`\") % CONTEXT_NAME)"},{"line_number":67,"context_line":"    def setup(self):"},{"line_number":68,"context_line":"        if not self.config[\"use_security_services\"]:"},{"line_number":69,"context_line":"            return"},{"line_number":70,"context_line":"        for user, tenant_id in (utils.iterate_per_tenants("},{"line_number":71,"context_line":"                self.context.get(\"users\", []))):"}],"source_content_type":"text/x-python","patch_set":35,"id":"bab6814e_b0073b80","line":68,"in_reply_to":"7a2fa921_37690e8c","updated":"2016-05-19 12:35:48.000000000","message":"I disagree, I may want to keep data in scenario and just disable it for some specific run.","commit_id":"c7a8cefc6de88394ec7943bbd27cb2d2452db99f"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"992d6541c92318e6373d2bd6d0bab2706d8b4665","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @utils.log_task_wrapper(LOG.info, _(\"Enter context: `%s`\") % CONTEXT_NAME)"},{"line_number":67,"context_line":"    def setup(self):"},{"line_number":68,"context_line":"        if not self.config[\"use_security_services\"]:"},{"line_number":69,"context_line":"            return"},{"line_number":70,"context_line":"        for user, tenant_id in (utils.iterate_per_tenants("},{"line_number":71,"context_line":"                self.context.get(\"users\", []))):"}],"source_content_type":"text/x-python","patch_set":35,"id":"7a2fa921_37690e8c","line":68,"in_reply_to":"7a2fa921_91f4b2f2","updated":"2015-10-07 13:58:21.000000000","message":"If you want to simplify your task config, it\u0027s better to use jinja2 variables. Something like\n\n   {% set use_security_services\u003duse_security_services or True %}\n\n   {% if use_security_services}}\n   \"manila_security_services\": {...}\n   {% endif %}","commit_id":"c7a8cefc6de88394ec7943bbd27cb2d2452db99f"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"b5782733010dd12a4eee5bcefec7877b2e50feaa","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @utils.log_task_wrapper(LOG.info, _(\"Enter context: `%s`\") % CONTEXT_NAME)"},{"line_number":67,"context_line":"    def setup(self):"},{"line_number":68,"context_line":"        if not self.config[\"use_security_services\"]:"},{"line_number":69,"context_line":"            return"},{"line_number":70,"context_line":"        for user, tenant_id in (utils.iterate_per_tenants("},{"line_number":71,"context_line":"                self.context.get(\"users\", []))):"}],"source_content_type":"text/x-python","patch_set":35,"id":"bab6814e_8a0643cc","line":68,"in_reply_to":"bab6814e_b0073b80","updated":"2016-05-19 13:39:28.000000000","message":"as I said before, you can keep data in scenario and launch it as `rally task start --task some_manila_task.json --task-args \"{\"use_security_services\": true}\"` to use specific section in your task.","commit_id":"c7a8cefc6de88394ec7943bbd27cb2d2452db99f"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"b7c877d0712ccc97332a74a2edea8ccee96d1add","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        \"type\": \"object\","},{"line_number":39,"context_line":"        \"$schema\": rally_consts.JSON_SCHEMA,"},{"line_number":40,"context_line":"        \"properties\": {"},{"line_number":41,"context_line":"            # NOTE(vponomaryov): following settings will be used only if share"},{"line_number":42,"context_line":"            # networks are used and autocreated."},{"line_number":43,"context_line":"            \"use_security_services\": {\"type\": \"boolean\"},"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"            # NOTE(vponomaryov): context arg \u0027security_services\u0027 is expected"},{"line_number":46,"context_line":"            # to be list of dicts with data for creation of security services."}],"source_content_type":"text/x-python","patch_set":38,"id":"7aa08908_6f665b52","line":43,"range":{"start_line":41,"start_character":12,"end_line":43,"end_character":57},"updated":"2016-06-13 09:41:14.000000000","message":"Do I need to put -1 for each patch-set and repeat my comment?\n\nYou should not do such magic! If you want to create one rally task and change only one variable to control enabled contexts, you should use jinja features.\n\ntask:\n\n  {% set use_security_services \u003d use_security_services or True %}\n -\n  ManilaShares.create_and_delete_share:\n    -\n      args:\n        share_proto: \"nfs\"\n        size: 1\n        min_sleep: 1\n        max_sleep: 2\n      runner:\n        type: \"constant\"\n        times: 4\n        concurrency: 4\n      context:\n        quotas:\n          manila:\n            shares: -1\n            gigabytes: -1\n            share_networks: -1\n        users:\n          tenants: 2\n          users_per_tenant: 1\n          user_choice_method: \"round_robin\"\n        network:\n          networks_per_tenant: 2\n          start_cidr: \"99.0.0.0/24\"\n        {% if use_share_networks %}\n        manila_share_networks: {}\n        {% endif %}\n      sla:\n        failure_rate:\n          max: 0\n\nrally cmd:\n   rally task start manila.yaml --task-args\u003d\"{\u0027use_share_networks\u0027: true}\" # use context\n\n   \n   rally task start manila.yaml --task-args\u003d\"{\u0027use_share_networks\u0027: false}\" # disable context\n\n\n   rally task start manila.yaml # use default value for use_share_networks variable","commit_id":"31caa990014f07a3f44c07f4e79a3e3bcab16952"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"772ce35554aedbea88721e689c63d7603e2c3686","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        \"type\": \"object\","},{"line_number":39,"context_line":"        \"$schema\": rally_consts.JSON_SCHEMA,"},{"line_number":40,"context_line":"        \"properties\": {"},{"line_number":41,"context_line":"            # NOTE(vponomaryov): following settings will be used only if share"},{"line_number":42,"context_line":"            # networks are used and autocreated."},{"line_number":43,"context_line":"            \"use_security_services\": {\"type\": \"boolean\"},"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"            # NOTE(vponomaryov): context arg \u0027security_services\u0027 is expected"},{"line_number":46,"context_line":"            # to be list of dicts with data for creation of security services."}],"source_content_type":"text/x-python","patch_set":38,"id":"7aa08908_8096f4ed","line":43,"range":{"start_line":41,"start_character":12,"end_line":43,"end_character":57},"in_reply_to":"7aa08908_6f665b52","updated":"2016-06-13 11:23:42.000000000","message":"Done","commit_id":"31caa990014f07a3f44c07f4e79a3e3bcab16952"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a4cd3593e29d556e217da86c996a2fda2db90c1a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_789d4309","line":1,"updated":"2016-06-14 14:16:31.000000000","message":"2016","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9c205f228382e04402aaa3e8a379905212b75a99","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_611aa77e","line":1,"in_reply_to":"7aa08908_789d4309","updated":"2016-06-14 15:08:44.000000000","message":"Everything is correct. It has been around since October 5, 2015.","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a4cd3593e29d556e217da86c996a2fda2db90c1a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    def setup(self):"},{"line_number":61,"context_line":"        for user, tenant_id in (utils.iterate_per_tenants("},{"line_number":62,"context_line":"                self.context.get(\"users\", []))):"},{"line_number":63,"context_line":"            if CONTEXT_NAME in list(self.context[\"tenants\"][tenant_id].keys()):"},{"line_number":64,"context_line":"                # NOTE(vponomaryov): security services should be created per"},{"line_number":65,"context_line":"                # tenant but not per user."},{"line_number":66,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_d9f55951","line":63,"updated":"2016-06-14 14:16:31.000000000","message":"This check is not required since we already iterate over tenants\n\nhttps://github.com/openstack/rally/blob/e6901d20453326c835c064e6a1dc2aa6aee29f07/rally/common/utils.py#L224-L225","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9c205f228382e04402aaa3e8a379905212b75a99","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    def setup(self):"},{"line_number":61,"context_line":"        for user, tenant_id in (utils.iterate_per_tenants("},{"line_number":62,"context_line":"                self.context.get(\"users\", []))):"},{"line_number":63,"context_line":"            if CONTEXT_NAME in list(self.context[\"tenants\"][tenant_id].keys()):"},{"line_number":64,"context_line":"                # NOTE(vponomaryov): security services should be created per"},{"line_number":65,"context_line":"                # tenant but not per user."},{"line_number":66,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_848401d3","line":63,"in_reply_to":"7aa08908_d9f55951","updated":"2016-06-14 15:08:44.000000000","message":"Done","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a4cd3593e29d556e217da86c996a2fda2db90c1a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                # NOTE(vponomaryov): security services should be created per"},{"line_number":65,"context_line":"                # tenant but not per user."},{"line_number":66,"context_line":"                continue"},{"line_number":67,"context_line":"            self.context[\"tenants\"][tenant_id][CONTEXT_NAME] \u003d {"},{"line_number":68,"context_line":"                \"security_services\": [],"},{"line_number":69,"context_line":"            }"},{"line_number":70,"context_line":"            if self.config[\"security_services\"]:"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_391a9d7d","line":67,"updated":"2016-06-14 14:16:31.000000000","message":"Do we really need to save palace for additional keys in self.context[\"tenants\"][tenant_id][CONTEXT_NAME] ?\n\nI see that container for \"security_services\" has extra nesting level:\n\n  self.context[\"tenants\"][tenant_id][CONTEXT_NAME][\"security_services\"]\n\nThis can be simplified to:\n\n  self.context[\"tenants\"][tenant_id][CONTEXT_NAME]","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9c205f228382e04402aaa3e8a379905212b75a99","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                # NOTE(vponomaryov): security services should be created per"},{"line_number":65,"context_line":"                # tenant but not per user."},{"line_number":66,"context_line":"                continue"},{"line_number":67,"context_line":"            self.context[\"tenants\"][tenant_id][CONTEXT_NAME] \u003d {"},{"line_number":68,"context_line":"                \"security_services\": [],"},{"line_number":69,"context_line":"            }"},{"line_number":70,"context_line":"            if self.config[\"security_services\"]:"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_0452d134","line":67,"in_reply_to":"7aa08908_391a9d7d","updated":"2016-06-14 15:08:44.000000000","message":"If some other context arg is added then we get problems. It is definitely much safer to keep context-argument-consistent way of definition.","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"cc708618b48130c73205ec32e0810c34b2263424","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        },"},{"line_number":55,"context_line":"        \"additionalProperties\": False"},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @logging.log_task_wrapper("},{"line_number":59,"context_line":"        LOG.info, _(\"Enter context: `%s`\") % CONTEXT_NAME)"},{"line_number":60,"context_line":"    def setup(self):"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a89bdaa_72f214d4","line":57,"updated":"2016-09-06 08:58:23.000000000","message":"DEFAULT_CONFIG \u003d {\n        \"security_services\": []\n    }\n\nOtherwise a KeyError is possible at L66","commit_id":"77d0551f46f8f6bd89dad3c07a211ce0f0c92144"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5529ab43309970bd92dcdb1fc5bbc7fcc7d5ac9d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        },"},{"line_number":55,"context_line":"        \"additionalProperties\": False"},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @logging.log_task_wrapper("},{"line_number":59,"context_line":"        LOG.info, _(\"Enter context: `%s`\") % CONTEXT_NAME)"},{"line_number":60,"context_line":"    def setup(self):"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a89bdaa_3866262a","line":57,"in_reply_to":"9a89bdaa_72f214d4","updated":"2016-09-08 10:20:46.000000000","message":"Done","commit_id":"77d0551f46f8f6bd89dad3c07a211ce0f0c92144"}],"rally/plugins/openstack/context/manila/manila_share_networks.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"d6087c2379b5a5191475bf40971f512db527aac8","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    def setup(self):"},{"line_number":193,"context_line":"        self.context[\"manila\"] \u003d {}"},{"line_number":194,"context_line":"        if not self.config[\"use_share_networks\"]:"},{"line_number":195,"context_line":"            self.context[\"manila\"][\"manila_delete_share_networks\"] \u003d False"},{"line_number":196,"context_line":"        elif self.context[\"config\"].get(\"existing_users\"):"},{"line_number":197,"context_line":"            self._setup_for_existing_users()"},{"line_number":198,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa1b9901_a5a5fa04","line":195,"updated":"2015-08-18 21:29:14.000000000","message":"please rename \"manila_delete_share_networks \" to \"delete_share_networks\"","commit_id":"c4b16e9388b0c1b9429a82ddd30be330eba4dfef"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"233dd9590d515c3424c55598bb301e58ca01c299","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    def setup(self):"},{"line_number":193,"context_line":"        self.context[\"manila\"] \u003d {}"},{"line_number":194,"context_line":"        if not self.config[\"use_share_networks\"]:"},{"line_number":195,"context_line":"            self.context[\"manila\"][\"manila_delete_share_networks\"] \u003d False"},{"line_number":196,"context_line":"        elif self.context[\"config\"].get(\"existing_users\"):"},{"line_number":197,"context_line":"            self._setup_for_existing_users()"},{"line_number":198,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":26,"id":"fa1b9901_617016dd","line":195,"in_reply_to":"fa1b9901_a5a5fa04","updated":"2015-08-25 11:17:33.000000000","message":"Done","commit_id":"c4b16e9388b0c1b9429a82ddd30be330eba4dfef"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a4cd3593e29d556e217da86c996a2fda2db90c1a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from rally.plugins.openstack.context.manila import consts"},{"line_number":24,"context_line":"from rally.plugins.openstack.scenarios.manila import utils as manila_utils"},{"line_number":25,"context_line":"from rally.task import context"},{"line_number":26,"context_line":"from rally.task import utils as bench_utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_6b0728ca","line":26,"updated":"2016-06-14 14:16:31.000000000","message":"task_utils   # word \"benchmark\" is specific, it is better to avoid it","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"331cab7b2e83d0c53b263459ee7be67cfa88c9ce","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from rally.plugins.openstack.context.manila import consts"},{"line_number":24,"context_line":"from rally.plugins.openstack.scenarios.manila import utils as manila_utils"},{"line_number":25,"context_line":"from rally.task import context"},{"line_number":26,"context_line":"from rally.task import utils as bench_utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_b010574f","line":26,"in_reply_to":"7aa08908_5f014604","updated":"2016-06-14 15:31:11.000000000","message":"Cinder, Ceilometer, Sahara import must be renamed in same manner","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9c205f228382e04402aaa3e8a379905212b75a99","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from rally.plugins.openstack.context.manila import consts"},{"line_number":24,"context_line":"from rally.plugins.openstack.scenarios.manila import utils as manila_utils"},{"line_number":25,"context_line":"from rally.task import context"},{"line_number":26,"context_line":"from rally.task import utils as bench_utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_5f014604","line":26,"in_reply_to":"7aa08908_6b0728ca","updated":"2016-06-14 15:08:44.000000000","message":"Cinder, Ceilometer, Sahara import it in the same way.","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"}],"tests/unit/plugins/openstack/context/manila/test_manila_security_services.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a4cd3593e29d556e217da86c996a2fda2db90c1a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_eb0e7839","line":1,"updated":"2016-06-14 14:16:31.000000000","message":"2016","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"9c205f228382e04402aaa3e8a379905212b75a99","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":40,"id":"7aa08908_df3c16ca","line":1,"in_reply_to":"7aa08908_eb0e7839","updated":"2016-06-14 15:08:44.000000000","message":"Everything is correct. It has been around since October 5, 2015.","commit_id":"cf799d45461fb81cfd33713b3cc51fed46be6819"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"cc708618b48130c73205ec32e0810c34b2263424","unresolved":false,"context_lines":[{"line_number":25,"context_line":"CONTEXT_NAME \u003d consts.SECURITY_SERVICES_CONTEXT_NAME"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@ddt.ddt"},{"line_number":29,"context_line":"class SecurityServicesTestCase(test.ScenarioTestCase):"},{"line_number":30,"context_line":"    TENANTS_AMOUNT \u003d 3"},{"line_number":31,"context_line":"    USERS_PER_TENANT \u003d 4"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a89bdaa_9d2c094c","line":28,"updated":"2016-09-06 08:58:23.000000000","message":"Where ddt is it used?","commit_id":"77d0551f46f8f6bd89dad3c07a211ce0f0c92144"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5529ab43309970bd92dcdb1fc5bbc7fcc7d5ac9d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"CONTEXT_NAME \u003d consts.SECURITY_SERVICES_CONTEXT_NAME"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@ddt.ddt"},{"line_number":29,"context_line":"class SecurityServicesTestCase(test.ScenarioTestCase):"},{"line_number":30,"context_line":"    TENANTS_AMOUNT \u003d 3"},{"line_number":31,"context_line":"    USERS_PER_TENANT \u003d 4"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a89bdaa_bb70700c","line":28,"in_reply_to":"9a89bdaa_9d2c094c","updated":"2016-09-08 10:20:46.000000000","message":"Done","commit_id":"77d0551f46f8f6bd89dad3c07a211ce0f0c92144"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"cc708618b48130c73205ec32e0810c34b2263424","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                if neutron_network_provider:"},{"line_number":53,"context_line":"                    network[\"subnets\"] \u003d [\"fake_subnet_id_of_net_%s\" % i]"},{"line_number":54,"context_line":"                else:"},{"line_number":55,"context_line":"                    network[\"cidr\"] \u003d \"101.0.5.0/24\""},{"line_number":56,"context_line":"                tenants[six.text_type(t_id)][\"networks\"].append(network)"},{"line_number":57,"context_line":"        users \u003d []"},{"line_number":58,"context_line":"        for t_id in tenants.keys():"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a89bdaa_bd638d40","line":55,"updated":"2016-09-06 08:58:23.000000000","message":"This is never run (neutron_network_provider is True in all cases)","commit_id":"77d0551f46f8f6bd89dad3c07a211ce0f0c92144"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"5529ab43309970bd92dcdb1fc5bbc7fcc7d5ac9d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                if neutron_network_provider:"},{"line_number":53,"context_line":"                    network[\"subnets\"] \u003d [\"fake_subnet_id_of_net_%s\" % i]"},{"line_number":54,"context_line":"                else:"},{"line_number":55,"context_line":"                    network[\"cidr\"] \u003d \"101.0.5.0/24\""},{"line_number":56,"context_line":"                tenants[six.text_type(t_id)][\"networks\"].append(network)"},{"line_number":57,"context_line":"        users \u003d []"},{"line_number":58,"context_line":"        for t_id in tenants.keys():"}],"source_content_type":"text/x-python","patch_set":43,"id":"9a89bdaa_7b8268c9","line":55,"in_reply_to":"9a89bdaa_bd638d40","updated":"2016-09-08 10:20:46.000000000","message":"Done","commit_id":"77d0551f46f8f6bd89dad3c07a211ce0f0c92144"}]}
