)]}'
{"rally/plugins/openstack/scenarios/sahara/clusters.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"e7ddeac4ce5e6fad0a64e1d64c672572dbb8318e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"               neutron_net\u003dtypes.NeutronNetworkResourceType,"},{"line_number":31,"context_line":"               floating_ip_pool\u003dtypes.NeutronNetworkResourceType)"},{"line_number":32,"context_line":"    @validation.flavor_exists(\"flavor\")"},{"line_number":33,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\")"},{"line_number":34,"context_line":"    @validation.number(\"workers_count\", minval\u003d1, integer_only\u003dTrue)"},{"line_number":35,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":36,"context_line":"    @validation.required_openstack(users\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_356d9d98","line":33,"updated":"2015-11-17 17:55:52.000000000","message":"Looks like \u0027image\u0027 context isn\u0027t needed here.","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa904cb45786ff4c77780305aad2132497716eb0","unresolved":false,"context_lines":[{"line_number":30,"context_line":"               neutron_net\u003dtypes.NeutronNetworkResourceType,"},{"line_number":31,"context_line":"               floating_ip_pool\u003dtypes.NeutronNetworkResourceType)"},{"line_number":32,"context_line":"    @validation.flavor_exists(\"flavor\")"},{"line_number":33,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\")"},{"line_number":34,"context_line":"    @validation.number(\"workers_count\", minval\u003d1, integer_only\u003dTrue)"},{"line_number":35,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":36,"context_line":"    @validation.required_openstack(users\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_16108300","line":33,"in_reply_to":"ba8a016a_356d9d98","updated":"2015-11-18 08:09:43.000000000","message":"Done","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"e7ddeac4ce5e6fad0a64e1d64c672572dbb8318e","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    @types.set(flavor\u003dtypes.FlavorResourceType)"},{"line_number":105,"context_line":"    @validation.flavor_exists(\"flavor\")"},{"line_number":106,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":107,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\")"},{"line_number":108,"context_line":"    @validation.number(\"workers_count\", minval\u003d1, integer_only\u003dTrue)"},{"line_number":109,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":110,"context_line":"    def create_scale_delete_cluster(self, flavor, workers_count, plugin_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_d5121109","line":107,"updated":"2015-11-17 17:55:52.000000000","message":"ditto","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa904cb45786ff4c77780305aad2132497716eb0","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    @types.set(flavor\u003dtypes.FlavorResourceType)"},{"line_number":105,"context_line":"    @validation.flavor_exists(\"flavor\")"},{"line_number":106,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":107,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\")"},{"line_number":108,"context_line":"    @validation.number(\"workers_count\", minval\u003d1, integer_only\u003dTrue)"},{"line_number":109,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":110,"context_line":"    def create_scale_delete_cluster(self, flavor, workers_count, plugin_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_3613470f","line":107,"in_reply_to":"ba8a016a_d5121109","updated":"2015-11-18 08:09:43.000000000","message":"Done","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"}],"rally/plugins/openstack/scenarios/sahara/jobs.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"e7ddeac4ce5e6fad0a64e1d64c672572dbb8318e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\"Benchmark scenarios for Sahara jobs.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":29,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\","},{"line_number":30,"context_line":"                                  \"job_binaries\", \"cluster\")"},{"line_number":31,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":32,"context_line":"    def create_launch_job(self, job_type, configs, job_idx\u003d0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_b5dd0d44","line":29,"updated":"2015-11-17 17:55:52.000000000","message":"ditto","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa904cb45786ff4c77780305aad2132497716eb0","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    \"\"\"Benchmark scenarios for Sahara jobs.\"\"\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":29,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\","},{"line_number":30,"context_line":"                                  \"job_binaries\", \"cluster\")"},{"line_number":31,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":32,"context_line":"    def create_launch_job(self, job_type, configs, job_idx\u003d0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_960473c0","line":29,"in_reply_to":"ba8a016a_b5dd0d44","updated":"2015-11-18 08:09:43.000000000","message":"Done","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"e7ddeac4ce5e6fad0a64e1d64c672572dbb8318e","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                                job_idx\u003djob_idx)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":72,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\","},{"line_number":73,"context_line":"                                  \"job_binaries\", \"cluster\")"},{"line_number":74,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":75,"context_line":"    def create_launch_job_sequence(self, jobs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_75e805e3","line":72,"updated":"2015-11-17 17:55:52.000000000","message":"ditto","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa904cb45786ff4c77780305aad2132497716eb0","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                                job_idx\u003djob_idx)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":72,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\","},{"line_number":73,"context_line":"                                  \"job_binaries\", \"cluster\")"},{"line_number":74,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":75,"context_line":"    def create_launch_job_sequence(self, jobs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_b6ff37a9","line":72,"in_reply_to":"ba8a016a_75e805e3","updated":"2015-11-18 08:09:43.000000000","message":"Done","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"e7ddeac4ce5e6fad0a64e1d64c672572dbb8318e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            self.create_launch_job(job[\"job_type\"], job[\"configs\"], idx)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":89,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\","},{"line_number":90,"context_line":"                                  \"job_binaries\", \"cluster\")"},{"line_number":91,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":92,"context_line":"    def create_launch_job_sequence_with_scaling(self, jobs, deltas):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_95e32905","line":89,"updated":"2015-11-17 17:55:52.000000000","message":"ditto","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa904cb45786ff4c77780305aad2132497716eb0","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            self.create_launch_job(job[\"job_type\"], job[\"configs\"], idx)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @validation.required_services(consts.Service.SAHARA)"},{"line_number":89,"context_line":"    @validation.required_contexts(\"users\", \"sahara\", \"image\","},{"line_number":90,"context_line":"                                  \"job_binaries\", \"cluster\")"},{"line_number":91,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"sahara\"]})"},{"line_number":92,"context_line":"    def create_launch_job_sequence_with_scaling(self, jobs, deltas):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_562dab44","line":89,"in_reply_to":"ba8a016a_95e32905","updated":"2015-11-18 08:09:43.000000000","message":"Done","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"}],"rally/plugins/openstack/scenarios/sahara/utils.py":[{"author":{"_account_id":7132,"name":"Nikita Konovalov","email":"nkonovalov@mirantis.com","username":"nkonovalov"},"change_message_id":"37bb483d25b6b7cfcd97a81a735ab9c48b45913a","unresolved":false,"context_lines":[{"line_number":556,"context_line":"        return neutron_net_id"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":""},{"line_number":559,"context_line":"def check_sahara_context(self):"},{"line_number":560,"context_line":"    self.context[\"sahara\"] \u003d self.context.get(\"sahara\", {})"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_66dfda0d","line":559,"updated":"2015-11-18 10:51:30.000000000","message":"I think it\u0027s better to call it init_sahara_context","commit_id":"36396648c36a34e8af46ccb6f9994675798f1ef7"},{"author":{"_account_id":7132,"name":"Nikita Konovalov","email":"nkonovalov@mirantis.com","username":"nkonovalov"},"change_message_id":"34f36531545170df264574931e88892fe8b18363","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        return neutron_net_id"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"def init_sahara_context(self):"},{"line_number":561,"context_line":"    self.context[\"sahara\"] \u003d self.context.get(\"sahara\", {})"},{"line_number":562,"context_line":"    for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":563,"context_line":"            self.context[\"users\"]):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba8a016a_f20136b0","line":560,"updated":"2015-11-18 14:49:15.000000000","message":"self is not the best name for an argument outside of a class. Please call something like \"context_instance\" of anything with a similar meaning.","commit_id":"4f85f21a912928b8e5a4ab17588ee742c6011daa"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"c0ad873c61f487cdb0028332f2a165e2ac3a7751","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        return neutron_net_id"},{"line_number":558,"context_line":""},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"def init_sahara_context(self):"},{"line_number":561,"context_line":"    self.context[\"sahara\"] \u003d self.context.get(\"sahara\", {})"},{"line_number":562,"context_line":"    for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":563,"context_line":"            self.context[\"users\"]):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba8a016a_d28f5228","line":560,"in_reply_to":"ba8a016a_f20136b0","updated":"2015-11-18 14:53:30.000000000","message":"Done","commit_id":"4f85f21a912928b8e5a4ab17588ee742c6011daa"}],"tests/unit/plugins/openstack/context/sahara/test_sahara_cluster.py":[{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"e7ddeac4ce5e6fad0a64e1d64c672572dbb8318e","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        for i in range(self.tenants_num):"},{"line_number":41,"context_line":"            self.tenants[str(i)] \u003d {\"id\": str(i), \"name\": str(i),"},{"line_number":42,"context_line":"                                    \"sahara_image\": \"42\", \"sahara\": {}}"},{"line_number":43,"context_line":"            for j in range(self.users_per_tenant):"},{"line_number":44,"context_line":"                self.users_key.append({\"id\": \"%s_%s\" % (str(i), str(j)),"},{"line_number":45,"context_line":"                                       \"tenant_id\": str(i),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_b5b0adde","line":42,"updated":"2015-11-17 17:55:52.000000000","message":"AFAIU here should be something like {\"sahara\": {\"image\": 42}}\n\nand in other tests too","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa904cb45786ff4c77780305aad2132497716eb0","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        for i in range(self.tenants_num):"},{"line_number":41,"context_line":"            self.tenants[str(i)] \u003d {\"id\": str(i), \"name\": str(i),"},{"line_number":42,"context_line":"                                    \"sahara_image\": \"42\", \"sahara\": {}}"},{"line_number":43,"context_line":"            for j in range(self.users_per_tenant):"},{"line_number":44,"context_line":"                self.users_key.append({\"id\": \"%s_%s\" % (str(i), str(j)),"},{"line_number":45,"context_line":"                                       \"tenant_id\": str(i),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_966d539a","line":42,"in_reply_to":"ba8a016a_b5b0adde","updated":"2015-11-18 08:09:43.000000000","message":"We have not context with name \"Sahara\". Can i write him?","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":7369,"name":"Sergey Skripnick","email":"sskripnick@mirantis.com","username":"redixin"},"change_message_id":"e7ddeac4ce5e6fad0a64e1d64c672572dbb8318e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                    \"tenants\": self.tenants_num,"},{"line_number":54,"context_line":"                    \"users_per_tenant\": self.users_per_tenant"},{"line_number":55,"context_line":"                },"},{"line_number":56,"context_line":"                \"sahara_cluster\": {"},{"line_number":57,"context_line":"                        \"flavor_id\": \"test_flavor\","},{"line_number":58,"context_line":"                        \"workers_count\": 2,"},{"line_number":59,"context_line":"                        \"plugin_name\": \"test_plugin\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_35783df2","line":56,"updated":"2015-11-17 17:55:52.000000000","message":"\"sahara\": {\"cluster\": {\"flavor_id\": ....","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":13919,"name":"Evgeny Sikachev","email":"esikachov@gmail.com","username":"esikachev"},"change_message_id":"aa904cb45786ff4c77780305aad2132497716eb0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                    \"tenants\": self.tenants_num,"},{"line_number":54,"context_line":"                    \"users_per_tenant\": self.users_per_tenant"},{"line_number":55,"context_line":"                },"},{"line_number":56,"context_line":"                \"sahara_cluster\": {"},{"line_number":57,"context_line":"                        \"flavor_id\": \"test_flavor\","},{"line_number":58,"context_line":"                        \"workers_count\": 2,"},{"line_number":59,"context_line":"                        \"plugin_name\": \"test_plugin\","}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_7609cfdc","line":56,"in_reply_to":"ba8a016a_35783df2","updated":"2015-11-18 08:09:43.000000000","message":"ditto","commit_id":"4ba091c1a10af3661edbf01e59b206fc5ff5bb37"},{"author":{"_account_id":7132,"name":"Nikita Konovalov","email":"nkonovalov@mirantis.com","username":"nkonovalov"},"change_message_id":"37bb483d25b6b7cfcd97a81a735ab9c48b45913a","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        for i in range(self.tenants_num):"},{"line_number":41,"context_line":"            self.tenants[str(i)] \u003d {\"id\": str(i), \"name\": str(i),"},{"line_number":42,"context_line":"                                    \"sahara_image\": \"42\", \"sahara\": {}}"},{"line_number":43,"context_line":"            for j in range(self.users_per_tenant):"},{"line_number":44,"context_line":"                self.users_key.append({\"id\": \"%s_%s\" % (str(i), str(j)),"},{"line_number":45,"context_line":"                                       \"tenant_id\": str(i),"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_26fc7271","line":42,"updated":"2015-11-18 10:51:30.000000000","message":"Now this initialization is not needed anymore.","commit_id":"36396648c36a34e8af46ccb6f9994675798f1ef7"}]}
