)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Adds Neutron floatingip tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This submission adds six methods to"},{"line_number":10,"context_line":"rally/benchmark/scenarios/neutron/utils.py"},{"line_number":11,"context_line":"1) def create_external_network"},{"line_number":12,"context_line":"2) def create_external_subnet"},{"line_number":13,"context_line":"3) def create_floatingip"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a80dd14_ea63de3e","line":10,"updated":"2015-03-12 12:51:09.000000000","message":"path is not needed","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Adds Neutron floatingip tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This submission adds six methods to"},{"line_number":10,"context_line":"rally/benchmark/scenarios/neutron/utils.py"},{"line_number":11,"context_line":"1) def create_external_network"},{"line_number":12,"context_line":"2) def create_external_subnet"},{"line_number":13,"context_line":"3) def create_floatingip"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a6ced46_e04956d1","line":10,"in_reply_to":"9a80dd14_ea63de3e","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This submission adds six methods to"},{"line_number":10,"context_line":"rally/benchmark/scenarios/neutron/utils.py"},{"line_number":11,"context_line":"1) def create_external_network"},{"line_number":12,"context_line":"2) def create_external_subnet"},{"line_number":13,"context_line":"3) def create_floatingip"},{"line_number":14,"context_line":"4) def list_floatingip"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a80dd14_a0e2ecfe","line":11,"updated":"2015-03-12 12:51:09.000000000","message":"please remove \"def\" from this list","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This submission adds six methods to"},{"line_number":10,"context_line":"rally/benchmark/scenarios/neutron/utils.py"},{"line_number":11,"context_line":"1) def create_external_network"},{"line_number":12,"context_line":"2) def create_external_subnet"},{"line_number":13,"context_line":"3) def create_floatingip"},{"line_number":14,"context_line":"4) def list_floatingip"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a6ced46_20136eb9","line":11,"in_reply_to":"9a80dd14_a0e2ecfe","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":16,"context_line":"6) def delete_external_network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Also adds Neutron floatingip scenarios to"},{"line_number":19,"context_line":"rally/benchmark/scenarios/neutron/network.py"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Added configuration files for floatingip operations"},{"line_number":22,"context_line":"under samples/tasks/scenarios/neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a80dd14_aa72c60e","line":19,"updated":"2015-03-12 12:51:09.000000000","message":"this path is not needed","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":16,"context_line":"6) def delete_external_network"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Also adds Neutron floatingip scenarios to"},{"line_number":19,"context_line":"rally/benchmark/scenarios/neutron/network.py"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Added configuration files for floatingip operations"},{"line_number":22,"context_line":"under samples/tasks/scenarios/neutron"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a6ced46_4016aaa8","line":19,"in_reply_to":"9a80dd14_aa72c60e","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":26,"context_line":"4) create-and-delete-floatingips.yaml"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Added unittests to test_utils.py and test_network.py under"},{"line_number":29,"context_line":"tests/unit/benchmark/scenarios/neutron"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Change-Id: Ib3cdb39db9254f62142f27325ef4ca81cdd47bf0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a80dd14_0a5bd287","line":29,"updated":"2015-03-12 12:51:09.000000000","message":"ditto","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":26,"context_line":"4) create-and-delete-floatingips.yaml"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Added unittests to test_utils.py and test_network.py under"},{"line_number":29,"context_line":"tests/unit/benchmark/scenarios/neutron"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Change-Id: Ib3cdb39db9254f62142f27325ef4ca81cdd47bf0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a6ced46_600d6690","line":29,"in_reply_to":"9a80dd14_0a5bd287","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"}],"rally-jobs/rally-mos_neutron.yaml":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        floatingips_per_network: 2"},{"line_number":287,"context_line":"      runner:"},{"line_number":288,"context_line":"        type: \"constant\""},{"line_number":289,"context_line":"        times: 4"},{"line_number":290,"context_line":"        concurrency: 2"},{"line_number":291,"context_line":"      context:"},{"line_number":292,"context_line":"        users:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"fa32b979_4503b842","line":289,"updated":"2015-06-22 23:42:19.000000000","message":"we don\u0027t have a lot of resources in mos neutron job. So tests here all benchmarks with times: 1 concurrency: 1. Also I think you don;t need to add task against Mirantis OpenStack wich is deploy in this job.","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        floatingips_per_network: 2"},{"line_number":287,"context_line":"      runner:"},{"line_number":288,"context_line":"        type: \"constant\""},{"line_number":289,"context_line":"        times: 4"},{"line_number":290,"context_line":"        concurrency: 2"},{"line_number":291,"context_line":"      context:"},{"line_number":292,"context_line":"        users:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"fa32b979_a6fb32c0","line":289,"in_reply_to":"fa32b979_4503b842","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"}],"rally-jobs/rally-neutron.yaml":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":83,"context_line":"  NeutronFloatingIp.create_and_list_floatingips:"},{"line_number":84,"context_line":"    -"},{"line_number":85,"context_line":"      args:"},{"line_number":86,"context_line":"        network_create_args: {}"},{"line_number":87,"context_line":"        subnet_create_args: {}"},{"line_number":88,"context_line":"        floatingip_create_args: {}"},{"line_number":89,"context_line":"        subnet_cidr_start: \"10.0.0.0/16\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9a80dd14_eaf11e6b","line":86,"updated":"2015-03-12 12:51:09.000000000","message":"no need to define explicitly when you are using default","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":83,"context_line":"  NeutronFloatingIp.create_and_list_floatingips:"},{"line_number":84,"context_line":"    -"},{"line_number":85,"context_line":"      args:"},{"line_number":86,"context_line":"        network_create_args: {}"},{"line_number":87,"context_line":"        subnet_create_args: {}"},{"line_number":88,"context_line":"        floatingip_create_args: {}"},{"line_number":89,"context_line":"        subnet_cidr_start: \"10.0.0.0/16\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1a6ced46_8002626d","line":86,"in_reply_to":"9a80dd14_eaf11e6b","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"  NeutronFloatingIp.create_and_list_floatingips:"},{"line_number":84,"context_line":"    -"},{"line_number":85,"context_line":"      args:"},{"line_number":86,"context_line":"        network_create_args: {}"},{"line_number":87,"context_line":"        subnet_create_args: {}"},{"line_number":88,"context_line":"        floatingip_create_args: {}"},{"line_number":89,"context_line":"        subnet_cidr_start: \"10.0.0.0/16\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9a80dd14_48690d8b","line":86,"in_reply_to":"9a80dd14_eaf11e6b","updated":"2015-03-13 15:56:24.000000000","message":"There are no important arguments for that, {} is enough","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        subnet_create_args: {}"},{"line_number":88,"context_line":"        floatingip_create_args: {}"},{"line_number":89,"context_line":"        subnet_cidr_start: \"10.0.0.0/16\""},{"line_number":90,"context_line":"        start_ip_addr: \"10.0.0.5\""},{"line_number":91,"context_line":"        end_ip_addr: \"10.0.0.254\""},{"line_number":92,"context_line":"        floatingips_per_network: 2"},{"line_number":93,"context_line":"      runner:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9a80dd14_68bed1af","line":90,"updated":"2015-03-13 15:56:24.000000000","message":"Consider about removing suffix `_addr\u0027, IMHO it looks redundant:\n\n start_ip: \"...\"\n end_ip: \"...\"","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        subnet_create_args: {}"},{"line_number":88,"context_line":"        floatingip_create_args: {}"},{"line_number":89,"context_line":"        subnet_cidr_start: \"10.0.0.0/16\""},{"line_number":90,"context_line":"        start_ip_addr: \"10.0.0.5\""},{"line_number":91,"context_line":"        end_ip_addr: \"10.0.0.254\""},{"line_number":92,"context_line":"        floatingips_per_network: 2"},{"line_number":93,"context_line":"      runner:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1a6ced46_c03a9a33","line":90,"in_reply_to":"9a80dd14_68bed1af","updated":"2015-03-24 14:01:42.000000000","message":"Hi Alexander,\nRemoved this.Please check this in new patch\nThanks","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"}],"rally/benchmark/context/cleanup/resources.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    pass"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"@base.resource(\"neutron\", \"floatingip\", order\u003dnext(_neutron_order),"},{"line_number":140,"context_line":"               tenant_resource\u003dTrue)"},{"line_number":141,"context_line":"class NeutronFloatingIp(NeutronMixin):"},{"line_number":142,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_0d212c9f","line":139,"updated":"2015-03-12 12:51:09.000000000","message":"Floating ips should be deleted before routers.\nplease move this to L132","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    pass"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"@base.resource(\"neutron\", \"floatingip\", order\u003dnext(_neutron_order),"},{"line_number":140,"context_line":"               tenant_resource\u003dTrue)"},{"line_number":141,"context_line":"class NeutronFloatingIp(NeutronMixin):"},{"line_number":142,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_8010a2a9","line":139,"in_reply_to":"9a80dd14_0d212c9f","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"f5010ee272fe0c7effec420a26781833592042c2","unresolved":false,"context_lines":[{"line_number":172,"context_line":"@base.resource(\"neutron\", \"floatingip\", order\u003dnext(_neutron_order),"},{"line_number":173,"context_line":"               tenant_resource\u003dTrue)"},{"line_number":174,"context_line":"class NeutronFloatingIp(NeutronMixin):"},{"line_number":175,"context_line":"    pass"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"@base.resource(\"neutron\", \"router\", order\u003dnext(_neutron_order),"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa963961_e59ff0b2","line":175,"updated":"2015-03-26 13:40:42.000000000","message":"I\u0027m curious as to why there is no need to clean anything here. Why do we have to manually delete the ports, but not the floating ips, the routers or the subnets ?","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"}],"rally/benchmark/scenarios/neutron/floatingips.py":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"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_floatingips(self, floatingip_create_args\u003dNone,"},{"line_number":29,"context_line":"                                    network_create_args\u003dNone,"},{"line_number":30,"context_line":"                                    subnet_create_args\u003dNone,"},{"line_number":31,"context_line":"                                    subnet_cidr_start\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_a82f2ea0","line":28,"updated":"2015-03-12 12:51:09.000000000","message":"I can\u0027t think of any floatingip_create_args user might pass to test. esp if network is created by test.\n\n            \"router_id\": \"d23abc8d-2991-4a55-ba98-2aaea84cc72f\",\n            \"tenant_id\": \"4969c491a3c74ee4af974e6d800c62de\",\n            \"floating_network_id\": \"376da547-b977-4cfe-9cba-275c80debf57\",\n            \"fixed_ip_address\": \"10.0.0.3\",\n            \"floating_ip_address\": \"172.24.4.228\",\n            \"port_id\": \"ce705c24-c1ef-408a-bda3-7bbd946164ab\",\n            \"id\": \"2f245a7b-796b-4f26-9cf9-9e82d248fda7\"\n\nNone of these args are available during runtime, accept, maybe \"address\".","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"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_floatingips(self, floatingip_create_args\u003dNone,"},{"line_number":29,"context_line":"                                    network_create_args\u003dNone,"},{"line_number":30,"context_line":"                                    subnet_create_args\u003dNone,"},{"line_number":31,"context_line":"                                    subnet_cidr_start\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_e0815690","line":28,"in_reply_to":"9a80dd14_6b6a2782","updated":"2015-03-24 14:01:42.000000000","message":"Hi,\nRemoved this.Please check in new patch\nThanks.","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"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_floatingips(self, floatingip_create_args\u003dNone,"},{"line_number":29,"context_line":"                                    network_create_args\u003dNone,"},{"line_number":30,"context_line":"                                    subnet_create_args\u003dNone,"},{"line_number":31,"context_line":"                                    subnet_cidr_start\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_ab18c3d3","line":28,"in_reply_to":"9a80dd14_a82f2ea0","updated":"2015-03-13 15:56:24.000000000","message":"Passing defaults `None\u0027 looks good for me.\n\nI think, if None is given, then scenario should create all required resources - because we should not spent a lot of efforts (preparing resources) for running scenario, but scenario should have an ability to do this for us.","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"a11d5e5be904bcfbb8bbf854322d48b428f8c17b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"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_floatingips(self, floatingip_create_args\u003dNone,"},{"line_number":29,"context_line":"                                    network_create_args\u003dNone,"},{"line_number":30,"context_line":"                                    subnet_create_args\u003dNone,"},{"line_number":31,"context_line":"                                    subnet_cidr_start\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_6b6a2782","line":28,"in_reply_to":"9a80dd14_ab18c3d3","updated":"2015-03-15 08:22:03.000000000","message":"IMO we shouldn\u0027t expose floatingIP args to user.","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"line_number":65,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":66,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":67,"context_line":"    def create_and_delete_floatingip(self, floatingip_create_args\u003dNone,"},{"line_number":68,"context_line":"                                     network_create_args\u003dNone,"},{"line_number":69,"context_line":"                                     subnet_create_args\u003dNone,"},{"line_number":70,"context_line":"                                     start_ip_addr\u003dNone, end_ip_addr\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_680c5643","line":67,"updated":"2015-03-12 12:51:09.000000000","message":"ditto","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"line_number":65,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":66,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":67,"context_line":"    def create_and_delete_floatingip(self, floatingip_create_args\u003dNone,"},{"line_number":68,"context_line":"                                     network_create_args\u003dNone,"},{"line_number":69,"context_line":"                                     subnet_create_args\u003dNone,"},{"line_number":70,"context_line":"                                     start_ip_addr\u003dNone, end_ip_addr\u003dNone,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_20644e21","line":67,"in_reply_to":"9a80dd14_680c5643","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        \"\"\""},{"line_number":91,"context_line":"        floating_ips \u003d []"},{"line_number":92,"context_line":"        ext_network, subnet \u003d self._create_external_network_and_subnet("},{"line_number":93,"context_line":"                                   subnet_create_args or {},"},{"line_number":94,"context_line":"                                   network_create_args or {},"},{"line_number":95,"context_line":"                                   subnet_cidr_start, start_ip_addr,"},{"line_number":96,"context_line":"                                   end_ip_addr)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_63f8f97c","line":93,"updated":"2015-03-12 12:51:09.000000000","message":"internal method already takes care of defaults. no need to do the same here.","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"}],"rally/benchmark/scenarios/neutron/network.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1cdf421eb888605849b2da946def9b77d7f0ee65","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"line_number":334,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":335,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":336,"context_line":"    def create_and_list_floatingips(self, floatingip_create_args\u003dNone,"},{"line_number":337,"context_line":"                                    network_create_args\u003dNone,"},{"line_number":338,"context_line":"                                    subnet_create_args\u003dNone,"},{"line_number":339,"context_line":"                                    subnet_cidr_start\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_a48d29d5","line":336,"updated":"2015-03-09 22:28:22.000000000","message":"Could you move these 2 benchmarks to separated module: \n\n floating_ip \n\nand call class for them \n\n  class NeutronFloatingIP()\n\n\nSo this module won\u0027t become impossible huge.","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"4f1c464d1677fd2bd7b11fdbe156828086b7533f","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"},{"line_number":334,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":335,"context_line":"    @base.scenario(context\u003d{\"cleanup\": [\"neutron\"]})"},{"line_number":336,"context_line":"    def create_and_list_floatingips(self, floatingip_create_args\u003dNone,"},{"line_number":337,"context_line":"                                    network_create_args\u003dNone,"},{"line_number":338,"context_line":"                                    subnet_create_args\u003dNone,"},{"line_number":339,"context_line":"                                    subnet_cidr_start\u003dNone):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_f44d8a73","line":336,"in_reply_to":"9a80dd14_a48d29d5","updated":"2015-03-12 08:38:06.000000000","message":"Done","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1cdf421eb888605849b2da946def9b77d7f0ee65","unresolved":false,"context_lines":[{"line_number":358,"context_line":"                                   subnet_cidr_start)"},{"line_number":359,"context_line":"        self._create_floatingip("},{"line_number":360,"context_line":"                    ext_network[\"network\"][\"id\"],"},{"line_number":361,"context_line":"                    floatingip_create_args or {})"},{"line_number":362,"context_line":"        self._list_floatingips()"},{"line_number":363,"context_line":"        self._delete_external_network(ext_network[\"network\"][\"id\"])"},{"line_number":364,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_8480258c","line":361,"updated":"2015-03-09 22:28:22.000000000","message":"Hmmm maybe it makes sense to create bunch of floating ips? here?","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"4f1c464d1677fd2bd7b11fdbe156828086b7533f","unresolved":false,"context_lines":[{"line_number":358,"context_line":"                                   subnet_cidr_start)"},{"line_number":359,"context_line":"        self._create_floatingip("},{"line_number":360,"context_line":"                    ext_network[\"network\"][\"id\"],"},{"line_number":361,"context_line":"                    floatingip_create_args or {})"},{"line_number":362,"context_line":"        self._list_floatingips()"},{"line_number":363,"context_line":"        self._delete_external_network(ext_network[\"network\"][\"id\"])"},{"line_number":364,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_14513e0e","line":361,"in_reply_to":"9a80dd14_8480258c","updated":"2015-03-12 08:38:06.000000000","message":"Done","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"}],"rally/benchmark/scenarios/neutron/utils.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1cdf421eb888605849b2da946def9b77d7f0ee65","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        \"\"\""},{"line_number":247,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_network\")"},{"line_number":250,"context_line":"    def _create_external_network(self, network_create_args):"},{"line_number":251,"context_line":"        \"\"\"Create neutron external network."},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_ff1fa858","line":249,"updated":"2015-03-09 22:28:22.000000000","message":"why not just create_network?","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"4f1c464d1677fd2bd7b11fdbe156828086b7533f","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        \"\"\""},{"line_number":247,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_network\")"},{"line_number":250,"context_line":"    def _create_external_network(self, network_create_args):"},{"line_number":251,"context_line":"        \"\"\"Create neutron external network."},{"line_number":252,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_97549022","line":249,"in_reply_to":"9a80dd14_ff1fa858","updated":"2015-03-12 08:38:06.000000000","message":"Hi Boris,\nFloatingip creation need external network and the user who is benchmarking should know that network created is external network. So used create_external_network","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1cdf421eb888605849b2da946def9b77d7f0ee65","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        network_create_args.setdefault("},{"line_number":257,"context_line":"            \"name\", self._generate_random_name(prefix\u003d\"rally_network_\"))"},{"line_number":258,"context_line":"        network_create_args[\"router:external\"] \u003d True"},{"line_number":259,"context_line":"        return self.admin_clients(\"neutron\").create_network("},{"line_number":260,"context_line":"            {\"network\": network_create_args})"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_subnet\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_1f239ca7","line":259,"updated":"2015-03-09 22:28:22.000000000","message":"are you sure that only admin can create network?","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"4f1c464d1677fd2bd7b11fdbe156828086b7533f","unresolved":false,"context_lines":[{"line_number":256,"context_line":"        network_create_args.setdefault("},{"line_number":257,"context_line":"            \"name\", self._generate_random_name(prefix\u003d\"rally_network_\"))"},{"line_number":258,"context_line":"        network_create_args[\"router:external\"] \u003d True"},{"line_number":259,"context_line":"        return self.admin_clients(\"neutron\").create_network("},{"line_number":260,"context_line":"            {\"network\": network_create_args})"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_subnet\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_32405235","line":259,"in_reply_to":"9a80dd14_1f239ca7","updated":"2015-03-12 08:38:06.000000000","message":"Hi Boris,\nHere, we are creating an external network which is an admin action.","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1cdf421eb888605849b2da946def9b77d7f0ee65","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        \"\"\""},{"line_number":310,"context_line":"        self.clients(\"neutron\").delete_floatingip(floatingip)"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    @base.atomic_action_timer(\"neutron.delete_external_network\")"},{"line_number":313,"context_line":"    def _delete_external_network(self, network_id):"},{"line_number":314,"context_line":"        \"\"\"Delete neutron network."},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_bf029007","line":312,"updated":"2015-03-09 22:28:22.000000000","message":"I would prefer to call it \"delete_network\", because you are calling: \n\n\n  self.admin_clients(\"neutron\").delete_network(network_id)","commit_id":"fa5469931a8f7e80fd7a3abb9780bebe7686d6ae"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_network\")"},{"line_number":250,"context_line":"    def _create_external_network(self, network_create_args):"},{"line_number":251,"context_line":"        \"\"\"Create neutron external network."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_4bb6673f","line":250,"updated":"2015-03-13 15:56:24.000000000","message":"Please take a look at https://github.com/stackforge/rally/blob/master/rally/benchmark/wrappers/network.py#L234-L281","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_network\")"},{"line_number":250,"context_line":"    def _create_external_network(self, network_create_args):"},{"line_number":251,"context_line":"        \"\"\"Create neutron external network."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_204b6e88","line":250,"in_reply_to":"9a80dd14_4bb6673f","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"f2835cadae7267ebd089096e231c7bc3a2896b18","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_network\")"},{"line_number":250,"context_line":"    def _create_external_network(self, network_create_args):"},{"line_number":251,"context_line":"        \"\"\"Create neutron external network."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_47c74a12","line":250,"in_reply_to":"9a80dd14_4bb6673f","updated":"2015-03-19 14:24:16.000000000","message":"HI Alexander,\nThanks ..\nThis is what i think\npassing tenant_id may be a bit problematic here and passing it might look ugly.","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":247,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_network\")"},{"line_number":250,"context_line":"    def _create_external_network(self, network_create_args):"},{"line_number":251,"context_line":"        \"\"\"Create neutron external network."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        :param network_create_args: dict, POST /v2.0/networks request options"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_c3c5443e","line":250,"in_reply_to":"9a80dd14_4bb6673f","updated":"2015-03-24 14:01:42.000000000","message":"Hi Alexander,\nThanks for the suggestion.I tried to improve wrappers/network.py. I can revert back those changes if you want me to.\nThanks","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        :returns: neutron network dict"},{"line_number":255,"context_line":"        \"\"\""},{"line_number":256,"context_line":"        network_create_args.setdefault("},{"line_number":257,"context_line":"            \"name\", self._generate_random_name(prefix\u003d\"rally_network_\"))"},{"line_number":258,"context_line":"        network_create_args[\"router:external\"] \u003d True"},{"line_number":259,"context_line":"        return self.admin_clients(\"neutron\").create_network("},{"line_number":260,"context_line":"            {\"network\": network_create_args})"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_083bda9c","line":257,"updated":"2015-03-12 12:51:09.000000000","message":"This is just a request to support future patch: https://review.openstack.org/#/c/139643/\n\nif name is already set, and doesn\u0027t match \"rally_XXX\" pattern there would be resource leakage (would skip cleanup).\nPlease verify that name.startswith(\"rally_\").\n\nIf this is too much trouble, feel free to ignore.","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            {\"network\": network_create_args})"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_subnet\")"},{"line_number":263,"context_line":"    def _create_external_subnet(self, network,"},{"line_number":264,"context_line":"                                subnet_create_args, start_cidr\u003dNone,"},{"line_number":265,"context_line":"                                start_ip_addr\u003dNone,"},{"line_number":266,"context_line":"                                end_ip_addr\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_48b4f2d0","line":263,"updated":"2015-03-12 12:51:09.000000000","message":"Why add this?\nAlready covered by L80 - _create_subnet","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"f2835cadae7267ebd089096e231c7bc3a2896b18","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            {\"network\": network_create_args})"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_subnet\")"},{"line_number":263,"context_line":"    def _create_external_subnet(self, network,"},{"line_number":264,"context_line":"                                subnet_create_args, start_cidr\u003dNone,"},{"line_number":265,"context_line":"                                start_ip_addr\u003dNone,"},{"line_number":266,"context_line":"                                end_ip_addr\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_e7367ee6","line":263,"in_reply_to":"9a80dd14_48b4f2d0","updated":"2015-03-19 14:24:16.000000000","message":"Hi Yair,\nThanks...The one covered in L80 is for non external network ,but the subnet created here is for external network. \nPlease check L289","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":260,"context_line":"            {\"network\": network_create_args})"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"    @base.atomic_action_timer(\"neutron.create_external_subnet\")"},{"line_number":263,"context_line":"    def _create_external_subnet(self, network,"},{"line_number":264,"context_line":"                                subnet_create_args, start_cidr\u003dNone,"},{"line_number":265,"context_line":"                                start_ip_addr\u003dNone,"},{"line_number":266,"context_line":"                                end_ip_addr\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_4035caf5","line":263,"in_reply_to":"9a80dd14_48b4f2d0","updated":"2015-03-24 14:01:42.000000000","message":"Hi,\nI have used this from wrappers network as suggested by Alexander. Please check my new patch\nThanks","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            {\"subnet\": subnet_create_args})"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    @base.atomic_action_timer(\"neutron.create_floatingip\")"},{"line_number":292,"context_line":"    def _create_floatingip(self, network, floatingip_create_args):"},{"line_number":293,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        :param network: neutron network id"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_28b7be87","line":292,"updated":"2015-03-12 12:51:09.000000000","message":"IMO naming the dict is too much. just adding **kwargs seems to be more pythonic","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            {\"subnet\": subnet_create_args})"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    @base.atomic_action_timer(\"neutron.create_floatingip\")"},{"line_number":292,"context_line":"    def _create_floatingip(self, network, floatingip_create_args):"},{"line_number":293,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        :param network: neutron network id"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_2bc21385","line":292,"in_reply_to":"9a80dd14_28b7be87","updated":"2015-03-13 15:56:24.000000000","message":"https://github.com/stackforge/rally/blob/master/rally/benchmark/wrappers/network.py#L323-L368","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            {\"subnet\": subnet_create_args})"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    @base.atomic_action_timer(\"neutron.create_floatingip\")"},{"line_number":292,"context_line":"    def _create_floatingip(self, network, floatingip_create_args):"},{"line_number":293,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        :param network: neutron network id"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_a0259ec3","line":292,"in_reply_to":"9a80dd14_2bc21385","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"f2835cadae7267ebd089096e231c7bc3a2896b18","unresolved":false,"context_lines":[{"line_number":289,"context_line":"            {\"subnet\": subnet_create_args})"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    @base.atomic_action_timer(\"neutron.create_floatingip\")"},{"line_number":292,"context_line":"    def _create_floatingip(self, network, floatingip_create_args):"},{"line_number":293,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"        :param network: neutron network id"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_c71fba07","line":292,"in_reply_to":"9a80dd14_2bc21385","updated":"2015-03-19 14:24:16.000000000","message":"Thanks Alexander . This can be done with wrapper","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            {\"floatingip\": floatingip_create_args})"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @base.atomic_action_timer(\"neutron.list_floatingips\")"},{"line_number":305,"context_line":"    def _list_floatingips(self):"},{"line_number":306,"context_line":"        \"\"\"Return floatingip list.\"\"\""},{"line_number":307,"context_line":"        return self.clients(\"neutron\").list_floatingips()[\"floatingips\"]"},{"line_number":308,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_48487287","line":305,"updated":"2015-03-12 12:51:09.000000000","message":"please add (**kwargs) to list to allow for better use in the future","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            {\"floatingip\": floatingip_create_args})"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @base.atomic_action_timer(\"neutron.list_floatingips\")"},{"line_number":305,"context_line":"    def _list_floatingips(self):"},{"line_number":306,"context_line":"        \"\"\"Return floatingip list.\"\"\""},{"line_number":307,"context_line":"        return self.clients(\"neutron\").list_floatingips()[\"floatingips\"]"},{"line_number":308,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_cb55f7c2","line":305,"in_reply_to":"9a80dd14_48487287","updated":"2015-03-13 15:56:24.000000000","message":"Implement this in network wrapper","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            {\"floatingip\": floatingip_create_args})"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @base.atomic_action_timer(\"neutron.list_floatingips\")"},{"line_number":305,"context_line":"    def _list_floatingips(self):"},{"line_number":306,"context_line":"        \"\"\"Return floatingip list.\"\"\""},{"line_number":307,"context_line":"        return self.clients(\"neutron\").list_floatingips()[\"floatingips\"]"},{"line_number":308,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_002bd294","line":305,"in_reply_to":"9a80dd14_cb55f7c2","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"f2835cadae7267ebd089096e231c7bc3a2896b18","unresolved":false,"context_lines":[{"line_number":302,"context_line":"            {\"floatingip\": floatingip_create_args})"},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"    @base.atomic_action_timer(\"neutron.list_floatingips\")"},{"line_number":305,"context_line":"    def _list_floatingips(self):"},{"line_number":306,"context_line":"        \"\"\"Return floatingip list.\"\"\""},{"line_number":307,"context_line":"        return self.clients(\"neutron\").list_floatingips()[\"floatingips\"]"},{"line_number":308,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_472caa4a","line":305,"in_reply_to":"9a80dd14_cb55f7c2","updated":"2015-03-19 14:24:16.000000000","message":"Thanks Alexander . This can be done with wrapper","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        self.clients(\"neutron\").delete_floatingip(floatingip)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    @base.atomic_action_timer(\"neutron.delete_external_network\")"},{"line_number":318,"context_line":"    def _delete_external_network(self, network_id):"},{"line_number":319,"context_line":"        \"\"\"Delete neutron network."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        :param network_id: Network id to delete"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_63db99ed","line":318,"updated":"2015-03-12 12:51:09.000000000","message":"why define a new method that does the same as _delete_network?","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        self.clients(\"neutron\").delete_floatingip(floatingip)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    @base.atomic_action_timer(\"neutron.delete_external_network\")"},{"line_number":318,"context_line":"    def _delete_external_network(self, network_id):"},{"line_number":319,"context_line":"        \"\"\"Delete neutron network."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        :param network_id: Network id to delete"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_2019ae88","line":318,"in_reply_to":"9a80dd14_4b69078b","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"f2835cadae7267ebd089096e231c7bc3a2896b18","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        self.clients(\"neutron\").delete_floatingip(floatingip)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    @base.atomic_action_timer(\"neutron.delete_external_network\")"},{"line_number":318,"context_line":"    def _delete_external_network(self, network_id):"},{"line_number":319,"context_line":"        \"\"\"Delete neutron network."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        :param network_id: Network id to delete"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_4774aa9b","line":318,"in_reply_to":"9a80dd14_4b69078b","updated":"2015-03-19 14:24:16.000000000","message":"Thanks Alexander .\nThis can be done with wrapper","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":315,"context_line":"        self.clients(\"neutron\").delete_floatingip(floatingip)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    @base.atomic_action_timer(\"neutron.delete_external_network\")"},{"line_number":318,"context_line":"    def _delete_external_network(self, network_id):"},{"line_number":319,"context_line":"        \"\"\"Delete neutron network."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        :param network_id: Network id to delete"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_4b69078b","line":318,"in_reply_to":"9a80dd14_63db99ed","updated":"2015-03-13 15:56:24.000000000","message":"https://github.com/stackforge/rally/blob/master/rally/benchmark/wrappers/network.py#L283-L303","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6dfbf1846ac9fb76e4b034d14a4ef8e8c91d9d6c","unresolved":false,"context_lines":[{"line_number":322,"context_line":"        \"\"\""},{"line_number":323,"context_line":"        self.admin_clients(\"neutron\").delete_network(network_id)"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def _create_external_network_and_subnet(self, network_create_args\u003dNone,"},{"line_number":326,"context_line":"                                            subnet_create_args\u003dNone,"},{"line_number":327,"context_line":"                                            subnet_cidr_start\u003d\"1.0.0.0/24\","},{"line_number":328,"context_line":"                                            start_ip_addr\u003d\"1.0.0.5\","}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_eb28fb34","line":325,"updated":"2015-03-13 15:56:24.000000000","message":"see network wrapper (this is already implemented)","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":322,"context_line":"        \"\"\""},{"line_number":323,"context_line":"        self.admin_clients(\"neutron\").delete_network(network_id)"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def _create_external_network_and_subnet(self, network_create_args\u003dNone,"},{"line_number":326,"context_line":"                                            subnet_create_args\u003dNone,"},{"line_number":327,"context_line":"                                            subnet_cidr_start\u003d\"1.0.0.0/24\","},{"line_number":328,"context_line":"                                            start_ip_addr\u003d\"1.0.0.5\","}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_401cea77","line":325,"in_reply_to":"9a80dd14_eb28fb34","updated":"2015-03-24 14:01:42.000000000","message":"Done","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        :returns: tuple of result network, subnet list"},{"line_number":338,"context_line":"        \"\"\""},{"line_number":339,"context_line":"        network \u003d self._create_external_network(network_create_args or {})"},{"line_number":340,"context_line":"        subnet \u003d self._create_external_subnet(network,"},{"line_number":341,"context_line":"                                              subnet_create_args or {},"},{"line_number":342,"context_line":"                                              subnet_cidr_start,"},{"line_number":343,"context_line":"                                              start_ip_addr, end_ip_addr)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_c8ed42b9","line":340,"updated":"2015-03-12 12:51:09.000000000","message":"just call \"_create_subnet\" instead","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":337,"context_line":"        :returns: tuple of result network, subnet list"},{"line_number":338,"context_line":"        \"\"\""},{"line_number":339,"context_line":"        network \u003d self._create_external_network(network_create_args or {})"},{"line_number":340,"context_line":"        subnet \u003d self._create_external_subnet(network,"},{"line_number":341,"context_line":"                                              subnet_create_args or {},"},{"line_number":342,"context_line":"                                              subnet_cidr_start,"},{"line_number":343,"context_line":"                                              start_ip_addr, end_ip_addr)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_830d0c3a","line":340,"in_reply_to":"9a80dd14_c8ed42b9","updated":"2015-03-24 14:01:42.000000000","message":"Hi, I have used this from wrappers network as suggested by Alexander. Please check my new patch \nThanks","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2017daeb6bc159719085d405fcaa20cda39f900f","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    def _create_floatingip(self, ext_network):"},{"line_number":251,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        :param ext_network: external network object"},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":"        floatingip \u003d network_wrapper.NeutronWrapper("},{"line_number":256,"context_line":"                         self.clients).create_floating_ip("}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_6f8ed3d1","line":253,"updated":"2015-03-26 12:15:51.000000000","message":"s/object/dict/","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2017daeb6bc159719085d405fcaa20cda39f900f","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"        :param ext_network: external network object"},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":"        floatingip \u003d network_wrapper.NeutronWrapper("},{"line_number":256,"context_line":"                         self.clients).create_floating_ip("},{"line_number":257,"context_line":"                             ext_network\u003dext_network)"},{"line_number":258,"context_line":"        return floatingip"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_2f393bd7","line":255,"updated":"2015-03-26 12:15:51.000000000","message":"network_wrapper.NeutronWrapper instantiation repeats in all methods below - do this once in __init__:\n\n class NeutronScenario(base.Scenario):\n\n     def __init__(self, *args, **kwargs):\n         super(NeutronScenario, self).__init__(*args, **kwargs)\n         self.net_wrap \u003d network_wrapper.NeutronWrapper(self.clients)\n\n     ...\n\n    @base.atomic_action_timer(\"neutron.create_floatingip\")\n    def _create_floatingip(self, ext_network):\n        \"\"\"...\"\"\"\n        return self.net_wrap.create_floating_ip(\n            ext_network\u003dext_network)","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2017daeb6bc159719085d405fcaa20cda39f900f","unresolved":false,"context_lines":[{"line_number":261,"context_line":"    def _list_floatingips(self, **kwargs):"},{"line_number":262,"context_line":"        \"\"\"List neutron floatingips."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        :param kwargs: for compatibility, not used here"},{"line_number":265,"context_line":"        \"\"\""},{"line_number":266,"context_line":"        return network_wrapper.NeutronWrapper(self.clients).list_floatingips("},{"line_number":267,"context_line":"                         **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_2f885bc4","line":264,"updated":"2015-03-26 12:15:51.000000000","message":"Delete kwargs at all - they are not required in this method at all\n\nNote: in wrappers.network kwargs serve compatibility between neutron and nova-network. Here we have neutron only","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2017daeb6bc159719085d405fcaa20cda39f900f","unresolved":false,"context_lines":[{"line_number":275,"context_line":"        return network_wrapper.NeutronWrapper(self.clients).delete_floating_ip("},{"line_number":276,"context_line":"                         floatingip)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def _delete_external_network(self, network_id):"},{"line_number":279,"context_line":"        \"\"\"Delete neutron external network."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        :param network_id: network id to delete"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_0f79dfc7","line":278,"updated":"2015-03-26 12:15:51.000000000","message":"I think it is better to refactor existent _delete_network for using network wrapper instead of adding method clone","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2017daeb6bc159719085d405fcaa20cda39f900f","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                         self.admin_clients).delete_network("},{"line_number":285,"context_line":"                             network_id, external\u003dTrue)"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"    def _create_external_network_and_subnet(self, **kwargs):"},{"line_number":288,"context_line":"        \"\"\"Create neutron external network and subnet."},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        :returns: network dict"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_3240c033","line":287,"updated":"2015-03-26 12:15:51.000000000","message":"IMO using `with\u0027 sounds better + add extra kwarg `subnets_num\u0027:\n\n _create_external_network_with_subnets(self, subnets_num\u003d1, **kwargs)\n     \"\"\"Create external neutron network and subnets.\n\n     :param subnets_num: int number of subnets\n     :param **kwargs: optional parameters for network\n     :returns: network dict\n     \"\"\"\n     return self.net_wrap.create_network(external\u003dTrue,\n                                         subnets_num\u003dsubnets_num,\n                                         **kwargs)","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"}],"rally/benchmark/wrappers/network.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2017daeb6bc159719085d405fcaa20cda39f900f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    def __init__(self, clients, config\u003dNone):"},{"line_number":70,"context_line":"        if hasattr(clients, self.SERVICE_IMPL):"},{"line_number":71,"context_line":"            self.client \u003d getattr(clients, self.SERVICE_IMPL)()"},{"line_number":72,"context_line":"            self.admin_clients \u003d getattr(clients, self.SERVICE_IMPL)()"},{"line_number":73,"context_line":"        else:"},{"line_number":74,"context_line":"            self.client \u003d clients(self.SERVICE_IMPL)"},{"line_number":75,"context_line":"            self.admin_clients \u003d clients(self.SERVICE_IMPL)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_f27f0864","line":72,"updated":"2015-03-26 12:15:51.000000000","message":"What is the difference between self.client and self.admin_clients?","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"2017daeb6bc159719085d405fcaa20cda39f900f","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            self.admin_clients \u003d getattr(clients, self.SERVICE_IMPL)()"},{"line_number":73,"context_line":"        else:"},{"line_number":74,"context_line":"            self.client \u003d clients(self.SERVICE_IMPL)"},{"line_number":75,"context_line":"            self.admin_clients \u003d clients(self.SERVICE_IMPL)"},{"line_number":76,"context_line":"        self.config \u003d config or {}"},{"line_number":77,"context_line":"        self.start_cidr \u003d self.config.get(\"start_cidr\", self.START_CIDR)"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a6ced46_528e1c7a","line":75,"updated":"2015-03-26 12:15:51.000000000","message":"same question here","commit_id":"812c3bcd2387a41f378812bcb3247634179308c1"}],"rally/plugins/openstack/scenarios/neutron/floatingips.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015: Hewlett-Packard Development Company, L.P."},{"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":7,"id":"fa32b979_b0ea04ab","line":1,"updated":"2015-06-22 23:42:19.000000000","message":"Change copyright please","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015: Hewlett-Packard Development Company, L.P."},{"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":7,"id":"fa32b979_6601aaae","line":1,"in_reply_to":"fa32b979_b0ea04ab","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    def create_and_list_floatingips(self,"},{"line_number":29,"context_line":"                                    floatingips_per_network\u003dNone,"},{"line_number":30,"context_line":"                                    floatingip_create_args\u003dNone,"},{"line_number":31,"context_line":"                                    **kwargs):"},{"line_number":32,"context_line":"        \"\"\"Creates floatingip and list all floatingips."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        This scenario Creates floatingips and then lists all"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_5014d842","line":31,"updated":"2015-06-22 23:42:19.000000000","message":"You don\u0027t use kwargs. And they need to be document","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    def create_and_list_floatingips(self,"},{"line_number":29,"context_line":"                                    floatingips_per_network\u003dNone,"},{"line_number":30,"context_line":"                                    floatingip_create_args\u003dNone,"},{"line_number":31,"context_line":"                                    **kwargs):"},{"line_number":32,"context_line":"        \"\"\"Creates floatingip and list all floatingips."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        This scenario Creates floatingips and then lists all"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_86fceeb5","line":31,"in_reply_to":"fa32b979_5014d842","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1bb443234a3c7a86602af6a073beb9dd25079f76","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        request options"},{"line_number":39,"context_line":"        :param floatingips_per_network: Number of floatingips"},{"line_number":40,"context_line":"        per network"},{"line_number":41,"context_line":"        \"\"\""},{"line_number":42,"context_line":"        ext_network \u003d self._get_ext_network()"},{"line_number":43,"context_line":"        for i in range(floatingips_per_network):"},{"line_number":44,"context_line":"            self._create_floatingip(ext_network[\"id\"],"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_1373ace8","line":41,"updated":"2015-06-23 09:23:12.000000000","message":"need default value for floatingips_per_network, \n\nfloatingips_per_network \u003d floatingips_per_network or 1","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        request options"},{"line_number":39,"context_line":"        :param floatingips_per_network: Number of floatingips"},{"line_number":40,"context_line":"        per network"},{"line_number":41,"context_line":"        \"\"\""},{"line_number":42,"context_line":"        ext_network \u003d self._get_ext_network()"},{"line_number":43,"context_line":"        for i in range(floatingips_per_network):"},{"line_number":44,"context_line":"            self._create_floatingip(ext_network[\"id\"],"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_262e4243","line":41,"in_reply_to":"fa32b979_1373ace8","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1bb443234a3c7a86602af6a073beb9dd25079f76","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        ext_network \u003d self._get_ext_network()"},{"line_number":43,"context_line":"        for i in range(floatingips_per_network):"},{"line_number":44,"context_line":"            self._create_floatingip(ext_network[\"id\"],"},{"line_number":45,"context_line":"                                    floatingip_create_args or {})"},{"line_number":46,"context_line":"        self._list_floatingips()"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    @validation.required_services(consts.Service.NEUTRON)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_de8b0b67","line":45,"updated":"2015-06-23 09:23:12.000000000","message":"better to do this initiate in utils._create_floatingip","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    def create_and_delete_floatingips(self,"},{"line_number":52,"context_line":"                                      floatingips_per_network\u003dNone,"},{"line_number":53,"context_line":"                                      floatingip_create_args\u003dNone,"},{"line_number":54,"context_line":"                                      **kwargs):"},{"line_number":55,"context_line":"        \"\"\"Creates floatingips and delete all floatingips."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        This scenario Creates floatingips and then deletes all"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_101e5063","line":54,"updated":"2015-06-22 23:42:19.000000000","message":"the same","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                      floatingips_per_network\u003dNone,"},{"line_number":53,"context_line":"                                      floatingip_create_args\u003dNone,"},{"line_number":54,"context_line":"                                      **kwargs):"},{"line_number":55,"context_line":"        \"\"\"Creates floatingips and delete all floatingips."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        This scenario Creates floatingips and then deletes all"},{"line_number":58,"context_line":"        created floatingips"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_65211cb4","line":55,"updated":"2015-06-22 23:42:19.000000000","message":"use declarative form: \"Create....\"","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                      floatingips_per_network\u003dNone,"},{"line_number":53,"context_line":"                                      floatingip_create_args\u003dNone,"},{"line_number":54,"context_line":"                                      **kwargs):"},{"line_number":55,"context_line":"        \"\"\"Creates floatingips and delete all floatingips."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"        This scenario Creates floatingips and then deletes all"},{"line_number":58,"context_line":"        created floatingips"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_463106a1","line":55,"in_reply_to":"fa32b979_65211cb4","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        floatingips \u003d []"},{"line_number":66,"context_line":"        ext_network \u003d self._get_ext_network()"},{"line_number":67,"context_line":"        for i in range(floatingips_per_network):"},{"line_number":68,"context_line":"            floatingip \u003d self._create_floatingip(ext_network[\"id\"],"},{"line_number":69,"context_line":"                                                 floatingip_create_args or {})"},{"line_number":70,"context_line":"            floatingips.append(floatingip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_a5472476","line":67,"updated":"2015-06-22 23:42:19.000000000","message":"If floating_per_network is None it will cause TypeError. And lets use here AtomicAction context manager. See examples in Murano https://github.com/openstack/rally/blob/master/rally/plugins/openstack/scenarios/murano/environments.py#L64 https://github.com/openstack/rally/blob/master/rally/plugins/openstack/scenarios/murano/utils.py#L102","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1bb443234a3c7a86602af6a073beb9dd25079f76","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        floatingips \u003d []"},{"line_number":66,"context_line":"        ext_network \u003d self._get_ext_network()"},{"line_number":67,"context_line":"        for i in range(floatingips_per_network):"},{"line_number":68,"context_line":"            floatingip \u003d self._create_floatingip(ext_network[\"id\"],"},{"line_number":69,"context_line":"                                                 floatingip_create_args or {})"},{"line_number":70,"context_line":"            floatingips.append(floatingip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_de18eb77","line":67,"in_reply_to":"fa32b979_a5472476","updated":"2015-06-23 09:23:12.000000000","message":"Agree!","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        floatingips \u003d []"},{"line_number":66,"context_line":"        ext_network \u003d self._get_ext_network()"},{"line_number":67,"context_line":"        for i in range(floatingips_per_network):"},{"line_number":68,"context_line":"            floatingip \u003d self._create_floatingip(ext_network[\"id\"],"},{"line_number":69,"context_line":"                                                 floatingip_create_args or {})"},{"line_number":70,"context_line":"            floatingips.append(floatingip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_06de9e3d","line":67,"in_reply_to":"fa32b979_de18eb77","updated":"2015-06-25 07:33:00.000000000","message":"Hi,\nThanks for your suggestions, i have given default value for floatingip_per_network\u003d1. So, it doesnot raise any type error.\n\nRegards,\nKalyan","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"}],"rally/plugins/openstack/scenarios/neutron/utils.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    LB_METHOD \u003d \"ROUND_ROBIN\""},{"line_number":33,"context_line":"    LB_PROTOCOL \u003d \"HTTP\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _get_ext_network(self):"},{"line_number":36,"context_line":"        for network in self._list_networks():"},{"line_number":37,"context_line":"            if network.get(\"router:external\"):"},{"line_number":38,"context_line":"                return network"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_10f2d0d2","line":35,"updated":"2015-06-22 23:42:19.000000000","message":"bad name of the function as for me","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    LB_METHOD \u003d \"ROUND_ROBIN\""},{"line_number":33,"context_line":"    LB_PROTOCOL \u003d \"HTTP\""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _get_ext_network(self):"},{"line_number":36,"context_line":"        for network in self._list_networks():"},{"line_number":37,"context_line":"            if network.get(\"router:external\"):"},{"line_number":38,"context_line":"                return network"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_a6225250","line":35,"in_reply_to":"fa32b979_10f2d0d2","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1bb443234a3c7a86602af6a073beb9dd25079f76","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    @base.atomic_action_timer(\"neutron.create_floatingip\")"},{"line_number":258,"context_line":"    def _create_floatingip(self, ext_network, floatingip_create_args):"},{"line_number":259,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        :param ext_network: external network id"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_fec4cf92","line":258,"updated":"2015-06-23 09:23:12.000000000","message":"floatingip_create_args \u003d None","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        self.clients(\"neutron\").delete_port(port[\"port\"][\"id\"])"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    @base.atomic_action_timer(\"neutron.create_floatingip\")"},{"line_number":258,"context_line":"    def _create_floatingip(self, ext_network, floatingip_create_args):"},{"line_number":259,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        :param ext_network: external network id"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_c61d1610","line":258,"in_reply_to":"fa32b979_fec4cf92","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"264c25c6bdc8d0dbbed2483d6b165bc10fbf9793","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    def _create_floatingip(self, ext_network, floatingip_create_args):"},{"line_number":259,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        :param ext_network: external network id"},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        floatingip_create_args[\"floating_network_id\"] \u003d ext_network"},{"line_number":264,"context_line":"        return self.clients(\"neutron\").create_floatingip("}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_f03acc97","line":261,"updated":"2015-06-22 23:42:19.000000000","message":"here are two params and return object they all need to be document","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":258,"context_line":"    def _create_floatingip(self, ext_network, floatingip_create_args):"},{"line_number":259,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        :param ext_network: external network id"},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        floatingip_create_args[\"floating_network_id\"] \u003d ext_network"},{"line_number":264,"context_line":"        return self.clients(\"neutron\").create_floatingip("}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_6618ca1e","line":261,"in_reply_to":"fa32b979_f03acc97","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1bb443234a3c7a86602af6a073beb9dd25079f76","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        :param ext_network: external network id"},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        floatingip_create_args[\"floating_network_id\"] \u003d ext_network"},{"line_number":264,"context_line":"        return self.clients(\"neutron\").create_floatingip("},{"line_number":265,"context_line":"            {\"floatingip\": floatingip_create_args})[\"floatingip\"][\"id\"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_deb9cb16","line":262,"updated":"2015-06-23 09:23:12.000000000","message":"floatingip_create_args \u003d floatingip_create_args or {}","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"a45e556e5aeb81d8944fe0dc71f524d4a6ca677e","unresolved":false,"context_lines":[{"line_number":259,"context_line":"        \"\"\"Create neutron floatingip."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        :param ext_network: external network id"},{"line_number":262,"context_line":"        \"\"\""},{"line_number":263,"context_line":"        floatingip_create_args[\"floating_network_id\"] \u003d ext_network"},{"line_number":264,"context_line":"        return self.clients(\"neutron\").create_floatingip("},{"line_number":265,"context_line":"            {\"floatingip\": floatingip_create_args})[\"floatingip\"][\"id\"]"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_86138e00","line":262,"in_reply_to":"fa32b979_deb9cb16","updated":"2015-06-25 07:33:00.000000000","message":"Done","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"}],"samples/tasks/scenarios/neutron/create_and_delete_floatingips.json":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c7e877e479171c6613d21d8678ad76d0ac4fd684","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    \"NeutronFloatingIp.create_and_delete_floatingip\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"args\": {"},{"line_number":5,"context_line":"                \"network_create_args\": {},"},{"line_number":6,"context_line":"                \"subnet_create_args\": {},"},{"line_number":7,"context_line":"                \"floatingip_create_args\": {},"},{"line_number":8,"context_line":"                \"subnet_cidr_start\": \"10.0.0.0/16\","}],"source_content_type":"application/json","patch_set":4,"id":"9a80dd14_83fded3d","line":5,"updated":"2015-03-12 12:51:09.000000000","message":"No need to explicitly define default values","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"},{"author":{"_account_id":9989,"name":"kalyan bhonagiri","email":"kalyan_bhonagiri@persistent.co.in"},"change_message_id":"6b62487980e774534f828326f2f02a606c8e0307","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    \"NeutronFloatingIp.create_and_delete_floatingip\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"args\": {"},{"line_number":5,"context_line":"                \"network_create_args\": {},"},{"line_number":6,"context_line":"                \"subnet_create_args\": {},"},{"line_number":7,"context_line":"                \"floatingip_create_args\": {},"},{"line_number":8,"context_line":"                \"subnet_cidr_start\": \"10.0.0.0/16\","}],"source_content_type":"application/json","patch_set":4,"id":"1a6ced46_2327f8b7","line":5,"in_reply_to":"9a80dd14_83fded3d","updated":"2015-03-24 14:01:42.000000000","message":"Hi Yair,\nRemoved this . Please check new patch\nThanks","commit_id":"b31373ddadf074ea8a51c26e9b4aa7f5b14481ab"}],"samples/tasks/scenarios/neutron/create_and_list_floatingips.json":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"            \"context\": {"},{"line_number":14,"context_line":"                \"users\": {"},{"line_number":15,"context_line":"                    \"tenants\": 4,"},{"line_number":16,"context_line":"                    \"users_per_tenant\": 4"},{"line_number":17,"context_line":"                },"},{"line_number":18,"context_line":"                \"quotas\": {"},{"line_number":19,"context_line":"                    \"neutron\": {"}],"source_content_type":"application/json","patch_set":10,"id":"fa32b979_4d024c74","line":16,"updated":"2015-06-26 10:14:54.000000000","message":"You have 4 * 4 \u003d 16 users and only 8 iterations. Let it be \"users_per_tenant\": 2","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"}],"samples/tasks/scenarios/neutron/create_and_list_floatingips.yaml":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      context:"},{"line_number":12,"context_line":"        users:"},{"line_number":13,"context_line":"          tenants: 4"},{"line_number":14,"context_line":"          users_per_tenant: 4"},{"line_number":15,"context_line":"        quotas:"},{"line_number":16,"context_line":"          neutron:"},{"line_number":17,"context_line":"            floatingip: -1"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"fa32b979_4d29ecf1","line":14,"updated":"2015-06-26 10:14:54.000000000","message":"ditto","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"}],"tests/unit/plugins/openstack/scenarios/neutron/test_floatingips.py":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        net \u003d {\"id\": \"network-id\"}"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        floatingip \u003d {\"id\": \"network-id\"}"},{"line_number":43,"context_line":"        mock_create_floatingip.return_value \u003d floatingip"},{"line_number":44,"context_line":"        mock_get_external_network.return_value \u003d net[\"id\"]"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_f020d7b2","line":42,"updated":"2015-06-26 10:14:54.000000000","message":"floatingip \u003d {\"id\": \"fip-id\"}","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        floatingip \u003d {\"id\": \"network-id\"}"},{"line_number":43,"context_line":"        mock_create_floatingip.return_value \u003d floatingip"},{"line_number":44,"context_line":"        mock_get_external_network.return_value \u003d net[\"id\"]"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        # Default options"},{"line_number":47,"context_line":"        scenario.create_and_list_floatingips("}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_2beb307a","line":44,"updated":"2015-06-26 10:14:54.000000000","message":"mock_get_external_network.return_value \u003d net","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            floatingip_create_args\u003dfloatingip_create_args,"},{"line_number":49,"context_line":"            floatingips_per_network\u003dfloatingips_per_network)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        mock_create_floatingip.assert_has_calls("},{"line_number":52,"context_line":"            [])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        mock_create_floatingip.reset_mock()"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_ab50a0d5","line":51,"range":{"start_line":51,"start_character":31,"end_line":51,"end_character":48},"updated":"2015-06-26 10:14:54.000000000","message":"This is wrong! `.assert_has_calls([])\u0027 is always True!\n\nUse checks for `mock_calls\u0027 instead","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        mock_list.reset_mock()"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        # Custom options"},{"line_number":59,"context_line":"        floatingips_per_network \u003d 2"},{"line_number":60,"context_line":"        scenario.create_and_list_floatingips("},{"line_number":61,"context_line":"            floatingips_per_network\u003dfloatingips_per_network)"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_4b16b459","line":58,"updated":"2015-06-26 10:14:54.000000000","message":"This is not custom, I see same args as above (floatingips_per_network is `2\u0027 and  floatingip_create_args is actually default)","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        scenario.create_and_list_floatingips("},{"line_number":61,"context_line":"            floatingips_per_network\u003dfloatingips_per_network)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        mock_create_floatingip.assert_has_calls("},{"line_number":64,"context_line":"            [mock.call()])"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        mock_list.assert_called_once_with()"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_262365a9","line":63,"updated":"2015-06-26 10:14:54.000000000","message":"This looks wrong, I see that _create_floatingip() must be called with at least 2 arguments ( ext_network and floatingip_create_args)","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        floatingip \u003d {\"id\": \"network-id\"}"},{"line_number":84,"context_line":"        mock_create_floatingip.return_value \u003d floatingip"},{"line_number":85,"context_line":"        mock_get_external_network.return_value \u003d net[\"id\"]"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        # Default options"},{"line_number":88,"context_line":"        scenario.create_and_delete_floatingips("}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_a646954d","line":85,"updated":"2015-06-26 10:14:54.000000000","message":"... \u003d net","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            floatingip_create_args\u003dfloatingip_create_args,"},{"line_number":90,"context_line":"            floatingips_per_network\u003dfloatingips_per_network)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        mock_create_floatingip.assert_has_calls("},{"line_number":93,"context_line":"            [])"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        mock_create_floatingip.reset_mock()"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_265a852b","line":92,"updated":"2015-06-26 10:14:54.000000000","message":"ditto","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        mock_delete_floatingip.reset_mock()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        # Custom options"},{"line_number":100,"context_line":"        floatingips_per_network \u003d 2"},{"line_number":101,"context_line":"        scenario.create_and_delete_floatingips("},{"line_number":102,"context_line":"            floatingips_per_network\u003dfloatingips_per_network,"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_663acd9a","line":99,"updated":"2015-06-26 10:14:54.000000000","message":"Again, there are no custom args below","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            floatingips_per_network\u003dfloatingips_per_network,"},{"line_number":103,"context_line":"            floatingip_create_args\u003dfloatingip_create_args)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        mock_create_floatingip.assert_has_calls("},{"line_number":106,"context_line":"            [])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        mock_delete_floatingip.assert_has_calls("}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_066c21cf","line":105,"updated":"2015-06-26 10:14:54.000000000","message":"ditto","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        mock_create_floatingip.assert_has_calls("},{"line_number":106,"context_line":"            [])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        mock_delete_floatingip.assert_has_calls("},{"line_number":109,"context_line":"            [])"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_e6633ddc","line":108,"updated":"2015-06-26 10:14:54.000000000","message":"ditto","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"}],"tests/unit/plugins/openstack/scenarios/neutron/test_utils.py":[{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1bb443234a3c7a86602af6a073beb9dd25079f76","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        self._test_atomic_action_timer(scenario.atomic_actions(),"},{"line_number":340,"context_line":"                                       \"neutron.create_port\")"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"    @mock.patch(NEUTRON_UTILS + \"NeutronScenario.clients\")"},{"line_number":343,"context_line":"    def test_create_floatingip(self, mock_clients):"},{"line_number":344,"context_line":"        scenario \u003d utils.NeutronScenario()"},{"line_number":345,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"fa32b979_1ecdf35c","line":342,"updated":"2015-06-23 09:23:12.000000000","message":"Don\u0027t need to mock clients, use self.clients(\"neutron\") instead, please refer to the above tests for example.","commit_id":"5eeec10812f2026ab494944c12cb7abfb4b96311"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"a1be7d997985ede1e4aa39eaddd1db17f700a60c","unresolved":false,"context_lines":[{"line_number":382,"context_line":"        scenario \u003d utils.NeutronScenario()"},{"line_number":383,"context_line":"        network \u003d scenario._create_network({})"},{"line_number":384,"context_line":"        floatingip \u003d scenario._create_floatingip(network, {})"},{"line_number":385,"context_line":"        scenario._delete_floatingip(floatingip)"},{"line_number":386,"context_line":"        self._test_atomic_action_timer(scenario.atomic_actions(),"},{"line_number":387,"context_line":"                                       \"neutron.delete_floatingip\")"},{"line_number":388,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_a6c3f556","line":385,"updated":"2015-06-26 10:14:54.000000000","message":"Please add assert for self.clients(\"neutron\").delete_floatingip","commit_id":"fbbd268dec04a5b2b7acbe36e4f29ec01ab4356e"}]}
