)]}'
{"rally/plugins/openstack/scenarios/neutron/bgpvpn.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"90ab27eb046b67cbbe404097dbc3f271350c05a0","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        :param export_targets: Additional Route Targets that will be used"},{"line_number":154,"context_line":"        for export."},{"line_number":155,"context_line":"        :param route_distinguishers: List of route distinguisher strings"},{"line_number":156,"context_line":"        :param type: type of VPN and the technology behind it."},{"line_number":157,"context_line":"                     Acceptable formats: l2 and l3"},{"line_number":158,"context_line":"        \"\"\""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        network \u003d self._create_network({})"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_08e7c114","line":157,"range":{"start_line":156,"start_character":8,"end_line":157,"end_character":50},"updated":"2017-05-16 22:02:39.000000000","message":"let\u0027s add simple validation for that and name it \"enum\"\n\nso it will accept parameter name to check and a list of expected values, so you will able to add it to your scenario like:\n\n    @validation.add(\"enum\", param_name\u003d\"type\", values\u003d[\"l2\", \"l3\"], missed\u003dTrue)\n\nIn case of missed\u003dTrue, validator should not fail if argument is missed in config, if it is False(default behaviour) and argument is missed in config -\u003e validaotr should fail.\n\nAn example of number validator - https://github.com/openstack/rally/blob/master/rally/plugins/common/validators.py#L110-L167","commit_id":"2dfaf7e29a48947678ee6d2d1bc3fa7426157fde"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"90ab27eb046b67cbbe404097dbc3f271350c05a0","unresolved":false,"context_lines":[{"line_number":157,"context_line":"                     Acceptable formats: l2 and l3"},{"line_number":158,"context_line":"        \"\"\""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        network \u003d self._create_network({})"},{"line_number":161,"context_line":"        bgpvpn \u003d self._create_bgpvpn(route_targets\u003droute_targets,"},{"line_number":162,"context_line":"                                     import_targets\u003dimport_targets,"},{"line_number":163,"context_line":"                                     export_targets\u003dexport_targets,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f013ff3_88e9911b","line":160,"range":{"start_line":160,"start_character":8,"end_line":160,"end_character":42},"updated":"2017-05-16 22:02:39.000000000","message":"do we need a new network for each iteration?","commit_id":"2dfaf7e29a48947678ee6d2d1bc3fa7426157fde"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"b265e65f1d2569fdd7fca5788a1e1f873b0443ca","unresolved":false,"context_lines":[{"line_number":26,"context_line":"class CreateAndDeleteBgpvpns(utils.NeutronScenario):"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def run(self, route_targets\u003dNone, import_targets\u003dNone,"},{"line_number":29,"context_line":"            export_targets\u003dNone, route_distinguishers\u003dNone, type\u003d\"l3\"):"},{"line_number":30,"context_line":"        \"\"\"Create bgpvpn and delete the bgpvpn."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        Measure the \"neutron bgpvpn-create\" and neutron bgpvpn-delete"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_786aaf80","line":29,"range":{"start_line":29,"start_character":60,"end_line":29,"end_character":69},"updated":"2017-05-18 16:54:03.000000000","message":"same","commit_id":"3bd3e20d081b26d1d246f700822a4b3af56c610f"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"b265e65f1d2569fdd7fca5788a1e1f873b0443ca","unresolved":false,"context_lines":[{"line_number":57,"context_line":"class CreateAndListBgpvpns(utils.NeutronScenario):"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def run(self, route_targets\u003dNone, import_targets\u003dNone,"},{"line_number":60,"context_line":"            export_targets\u003dNone, route_distinguishers\u003dNone, type\u003d\"l3\"):"},{"line_number":61,"context_line":"        \"\"\"Create a bgpvpn and then list all bgpvpns"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        Measure the \"neutron bgpvpn-list\" command performance."}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_b8704774","line":60,"range":{"start_line":60,"start_character":60,"end_line":60,"end_character":69},"updated":"2017-05-18 16:54:03.000000000","message":"same for this parameter","commit_id":"3bd3e20d081b26d1d246f700822a4b3af56c610f"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"b265e65f1d2569fdd7fca5788a1e1f873b0443ca","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            import_targets\u003dNone, export_targets\u003dNone,"},{"line_number":92,"context_line":"            route_distinguishers\u003dNone, updated_route_targets\u003dNone,"},{"line_number":93,"context_line":"            updated_import_targets\u003dNone, updated_export_targets\u003dNone,"},{"line_number":94,"context_line":"            updated_route_distinguishers\u003dNone, bgpvpn_type\u003d\"l3\"):"},{"line_number":95,"context_line":"        \"\"\"Create and Update bgpvpns"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        Measure the \"neutron bgpvpn-update\" command performance."}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_d873fb7f","line":94,"range":{"start_line":94,"start_character":47,"end_line":94,"end_character":62},"updated":"2017-05-18 16:54:03.000000000","message":"please, use enum validator here too. Also, it would  be nice to have unified name for that parameter in all scenarios","commit_id":"3bd3e20d081b26d1d246f700822a4b3af56c610f"},{"author":{"_account_id":21528,"name":"chenhb","email":"chen.haibing1@zte.com.cn","username":"chenhb"},"change_message_id":"a9478c5002fcf7fab777aecf48c5794970e7ec12","unresolved":false,"context_lines":[{"line_number":136,"context_line":"@validation.required_services(consts.Service.NEUTRON)"},{"line_number":137,"context_line":"@validation.add(\"required_platform\", platform\u003d\"openstack\","},{"line_number":138,"context_line":"                admin\u003dTrue, users\u003dTrue)"},{"line_number":139,"context_line":"# @validation.add(\"enum\", param_name\u003d\"type\", values\u003d[\"l2\", \"l3\"], missed\u003dTrue)"},{"line_number":140,"context_line":"@scenario.configure(context\u003d{\"admin_cleanup\": [\"neutron\"]},"},{"line_number":141,"context_line":"                    name\u003d\"NeutronBGPVPN.create_bgpvpn_assoc_disassoc_networks\")"},{"line_number":142,"context_line":"class CreateAndAssociateDissassociateNetworks(utils.NeutronScenario):"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_f5e91d80","line":139,"updated":"2017-05-19 00:06:12.000000000","message":"open this line","commit_id":"3bd3e20d081b26d1d246f700822a4b3af56c610f"},{"author":{"_account_id":21528,"name":"chenhb","email":"chen.haibing1@zte.com.cn","username":"chenhb"},"change_message_id":"a9478c5002fcf7fab777aecf48c5794970e7ec12","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        if not networks:"},{"line_number":164,"context_line":"            network \u003d self._create_network({})"},{"line_number":165,"context_line":"        else:"},{"line_number":166,"context_line":"            network \u003d {\"network\": {}}"},{"line_number":167,"context_line":"            network[\"network\"] \u003d networks[0]"},{"line_number":168,"context_line":"        bgpvpn \u003d self._create_bgpvpn(route_targets\u003droute_targets,"},{"line_number":169,"context_line":"                                     import_targets\u003dimport_targets,"},{"line_number":170,"context_line":"                                     export_targets\u003dexport_targets,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_55fa0942","line":167,"range":{"start_line":166,"start_character":1,"end_line":167,"end_character":44},"updated":"2017-05-19 00:06:12.000000000","message":"we could use network \u003d {\"network\": {networks[0]}} :)","commit_id":"3bd3e20d081b26d1d246f700822a4b3af56c610f"},{"author":{"_account_id":21528,"name":"chenhb","email":"chen.haibing1@zte.com.cn","username":"chenhb"},"change_message_id":"a9478c5002fcf7fab777aecf48c5794970e7ec12","unresolved":false,"context_lines":[{"line_number":206,"context_line":"        if not routers:"},{"line_number":207,"context_line":"            router \u003d self._create_router({})"},{"line_number":208,"context_line":"        else:"},{"line_number":209,"context_line":"            router \u003d {\"router\": {}}"},{"line_number":210,"context_line":"            router[\"router\"] \u003d routers[0]"},{"line_number":211,"context_line":"        bgpvpn \u003d self._create_bgpvpn(route_targets\u003droute_targets,"},{"line_number":212,"context_line":"                                     import_targets\u003dimport_targets,"},{"line_number":213,"context_line":"                                     export_targets\u003dexport_targets,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_9552e166","line":210,"range":{"start_line":209,"start_character":1,"end_line":210,"end_character":41},"updated":"2017-05-19 00:06:12.000000000","message":"same here","commit_id":"3bd3e20d081b26d1d246f700822a4b3af56c610f"}],"rally/plugins/openstack/scenarios/neutron/utils.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"4b3d4466fc9e01a68cc1170a131dd0bd344ca5f7","unresolved":false,"context_lines":[{"line_number":757,"context_line":"    def _create_bgpvpn_network_assoc(self, bgpvpn, network):"},{"line_number":758,"context_line":"        \"\"\"Creates a new BGP VPN network association."},{"line_number":759,"context_line":""},{"line_number":760,"context_line":"            :param bgpvpn: dict, bgpvpn"},{"line_number":761,"context_line":"            :param network: dict, network"},{"line_number":762,"context_line":"            :return dict: network_association"},{"line_number":763,"context_line":"        \"\"\""},{"line_number":764,"context_line":"        netassoc \u003d {\"network_id\": network[\"network\"][\"id\"]}"},{"line_number":765,"context_line":"        return self.clients(\"neutron\").create_bgpvpn_network_assoc("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f013ff3_bd5ca44b","line":762,"range":{"start_line":760,"start_character":0,"end_line":762,"end_character":45},"updated":"2017-05-16 09:10:12.000000000","message":"indentation","commit_id":"fb3f1c4e88b103464e33277404cc2af26a3a9d6a"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"4b3d4466fc9e01a68cc1170a131dd0bd344ca5f7","unresolved":false,"context_lines":[{"line_number":780,"context_line":"    def _create_bgpvpn_router_assoc(self, bgpvpn, router):"},{"line_number":781,"context_line":"        \"\"\"Creates a new BGP VPN router association."},{"line_number":782,"context_line":""},{"line_number":783,"context_line":"            :param bgpvpn: dict, bgpvpn"},{"line_number":784,"context_line":"            :param router: dict, router"},{"line_number":785,"context_line":"            :return dict: network_association"},{"line_number":786,"context_line":"        \"\"\""},{"line_number":787,"context_line":"        router_assoc \u003d {\"router_id\": router[\"router\"][\"id\"]}"},{"line_number":788,"context_line":"        return self.clients(\"neutron\").create_bgpvpn_router_assoc("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f013ff3_9d59e85b","line":785,"range":{"start_line":783,"start_character":0,"end_line":785,"end_character":45},"updated":"2017-05-16 09:10:12.000000000","message":"indentation","commit_id":"fb3f1c4e88b103464e33277404cc2af26a3a9d6a"}]}
