)]}'
{"bindep.txt":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"b45ac64056d61c4d4713d585d99de03777665906","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# This file contains runtime (non-python) dependencies"},{"line_number":2,"context_line":"# More info at: http://docs.openstack.org/infra/bindep/readme.html"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# tools/misc-sanity-checks.sh validates .po[t] files"},{"line_number":5,"context_line":"golang-1.6 [test]"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"# MySQL and PostgreSQL databases since some jobs are set up in"}],"source_content_type":"text/plain","patch_set":4,"id":"7a3c09a3_8c7bb58b","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":52},"updated":"2017-01-17 03:20:44.000000000","message":"this comment seems like a stale copy-and-paste.","commit_id":"d44ac30462c67f1ad13afd2730ff9b5919685fe2"}],"networking_bagpipe/tests/fullstack/base.py":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"0cbff27636226e64bf307ebb4d5fdd88be526a25","unresolved":false,"context_lines":[{"line_number":32,"context_line":"SUBNET_CIDR3 \u003d \u002730.0.0.0/24\u0027"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# Monkey patch method in testlib_api module to upgrade database with"},{"line_number":36,"context_line":"# subproject tables"},{"line_number":37,"context_line":"@classmethod"},{"line_number":38,"context_line":"def _generate_schema_w_migrations(cls, engine):"},{"line_number":39,"context_line":"    alembic_configs \u003d migration.get_alembic_configs()"},{"line_number":40,"context_line":"    with engine.connect() as conn:"},{"line_number":41,"context_line":"        for alembic_config in alembic_configs:"},{"line_number":42,"context_line":"            if (alembic_config.get_main_option(\u0027neutron_project\u0027)"},{"line_number":43,"context_line":"                    in (\u0027neutron\u0027, \u0027networking-bagpipe\u0027, \u0027networking-bgpvpn\u0027)):"},{"line_number":44,"context_line":"                alembic_config.attributes[\u0027connection\u0027] \u003d conn"},{"line_number":45,"context_line":"                alembic_config.neutron_config \u003d cfg.CONF"},{"line_number":46,"context_line":"                alembic_config.neutron_config.set_override("},{"line_number":47,"context_line":"                    \u0027connection\u0027, str(engine.url), group\u003d\u0027database\u0027)"},{"line_number":48,"context_line":"                migration.do_alembic_command("},{"line_number":49,"context_line":"                    alembic_config, \u0027upgrade\u0027, \u0027heads\u0027)"},{"line_number":50,"context_line":"testlib_api_osf._generate_schema_w_migrations \u003d _generate_schema_w_migrations"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"class BaGPipeBaseFullStackTestCase(base.BaseFullStackTestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_5d8fc822","line":50,"range":{"start_line":35,"start_character":0,"end_line":50,"end_character":77},"updated":"2016-12-09 11:25:17.000000000","message":"Can we upstream this in Neutron to avoid the monkeypatching ?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"0cbff27636226e64bf307ebb4d5fdd88be526a25","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                l2_pop\u003dself.l2_pop,"},{"line_number":69,"context_line":"                mech_drivers\u003dself.mech_drivers,"},{"line_number":70,"context_line":"                service_plugins\u003dself.service_plugins,"},{"line_number":71,"context_line":"                arp_responder\u003dself.arp_responder"},{"line_number":72,"context_line":"            ),"},{"line_number":73,"context_line":"            host_descriptions)"},{"line_number":74,"context_line":"        super(BaGPipeBaseFullStackTestCase, self).setUp(env)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_5d60a835","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":48},"updated":"2016-12-09 11:25:17.000000000","message":"What is it used for ?\n(shouldn\u0027t this be derived from other options ?)","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"0cbff27636226e64bf307ebb4d5fdd88be526a25","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            self.safe_client \u003d self.useFixture("},{"line_number":78,"context_line":"                client.BGPVPNClientFixture(self.client))"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _create_network_bgpvpn_assoc(self, tenant_uuid, subnet_cidr,"},{"line_number":81,"context_line":"                                     bgpvpn_id\u003dNone):"},{"line_number":82,"context_line":"        network \u003d self.safe_client.create_network(tenant_uuid)"},{"line_number":83,"context_line":"        subnet \u003d self.safe_client.create_subnet("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_fd4fb4bb","line":80,"range":{"start_line":80,"start_character":8,"end_line":80,"end_character":36},"updated":"2016-12-09 11:25:17.000000000","message":"rename to better describe what the method does ?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"0cbff27636226e64bf307ebb4d5fdd88be526a25","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        return (network[\u0027id\u0027], subnet[\u0027id\u0027])"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def _create_router_bgpvpn_assoc(self, tenant_uuid, subnet_ids,"},{"line_number":94,"context_line":"                                    bgpvpn_id\u003dNone):"},{"line_number":95,"context_line":"        router \u003d self.safe_client.create_router()"},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_3d4a0cad","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":66},"updated":"2016-12-09 11:25:17.000000000","message":"(same as above)","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"}],"networking_bagpipe/tests/fullstack/requirements.txt":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"0cbff27636226e64bf307ebb4d5fdd88be526a25","unresolved":false,"context_lines":[{"line_number":1,"context_line":"golang \u003e 1.5"},{"line_number":2,"context_line":"gobgp"}],"source_content_type":"text/plain","patch_set":1,"id":"3a71b18c_bdeb7c77","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":5},"updated":"2016-12-09 11:25:17.000000000","message":"We can\u0027t describe non-python deps in such a file.\n\nIf done a bit of searching, and I think this should be done with \"bindeps\":\n\nhttp://codesearch.openstack.org/?q\u003dbindep\u0026i\u003dnope\u0026files\u003d\u0026repos\u003dneutron","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"}],"networking_bagpipe/tests/fullstack/resources/client.py":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            \u0027tenant_id\u0027: tenant_id,"},{"line_number":31,"context_line":"            \u0027name\u0027: name"},{"line_number":32,"context_line":"        }"},{"line_number":33,"context_line":"        if type:"},{"line_number":34,"context_line":"            spec[\u0027type\u0027] \u003d type"},{"line_number":35,"context_line":"        if route_targets:"},{"line_number":36,"context_line":"            spec[\u0027route_targets\u0027] \u003d route_targets"},{"line_number":37,"context_line":"        if import_targets:"},{"line_number":38,"context_line":"            spec[\u0027import_targets\u0027] \u003d import_targets"},{"line_number":39,"context_line":"        if export_targets:"},{"line_number":40,"context_line":"            spec[\u0027export_targets\u0027] \u003d export_targets"},{"line_number":41,"context_line":"        if route_distinguishers:"},{"line_number":42,"context_line":"            spec[\u0027route_distinguishers\u0027] \u003d route_distinguishers"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#        bgpvpn \u003d self.client.create_bgpvpn({resource_type: spec})"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_8cecd02a","line":42,"range":{"start_line":33,"start_character":0,"end_line":42,"end_character":63},"updated":"2016-12-09 14:42:54.000000000","message":"Why not do:\n\ndef create_bgpvpn(self, tenant_id, name\u003dNone, **kwargs):\n\n    resource_type \u003d \u0027bgpvpn\u0027\n\n    name \u003d name or utils.get_rand_name(prefix\u003d\u0027bgpvpn\u0027)\n    spec \u003d {\n            \u0027tenant_id\u0027: tenant_id,\n            \u0027name\u0027: name\n    }\n    spec.update(kwargs)\n\n..?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        if route_distinguishers:"},{"line_number":42,"context_line":"            spec[\u0027route_distinguishers\u0027] \u003d route_distinguishers"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#        bgpvpn \u003d self.client.create_bgpvpn({resource_type: spec})"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"#         def delete_associations_and_bgpvpn():"},{"line_number":47,"context_line":"#             bgpvpn_id \u003d bgpvpn[resource_type][\u0027id\u0027]"},{"line_number":48,"context_line":"#             networks \u003d bgpvpn[resource_type][\u0027networks\u0027]"},{"line_number":49,"context_line":"#             routers \u003d bgpvpn[resource_type][\u0027routers\u0027]"},{"line_number":50,"context_line":"#             for network_id in networks:"},{"line_number":51,"context_line":"#                 net_assoc \u003d self.client.get_network_associations("},{"line_number":52,"context_line":"#                     bgpvpn_id, filters\u003d{\u0027network_id\u0027: network_id})"},{"line_number":53,"context_line":"#                 self.client.delete_network_association("},{"line_number":54,"context_line":"#                     net_assoc[\u0027network_association\u0027][\u0027id\u0027],"},{"line_number":55,"context_line":"#                     bgpvpn_id)"},{"line_number":56,"context_line":"#             for router_id in routers:"},{"line_number":57,"context_line":"#                 router_assoc \u003d self.client.get_router_associations("},{"line_number":58,"context_line":"#                     bgpvpn_id, filters\u003d{\u0027router_id\u0027: router_id})"},{"line_number":59,"context_line":"#                 self.client.delete_router_association("},{"line_number":60,"context_line":"#                     router_assoc[\u0027router_association\u0027][\u0027id\u0027],"},{"line_number":61,"context_line":"#                     bgpvpn_id)"},{"line_number":62,"context_line":"#             self.client.delete_bgpvpn(bgpvpn_id)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"#         self.addCleanup("},{"line_number":65,"context_line":"#             neutron_client._safe_method(delete_associations_and_bgpvpn))"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"#        return bgpvpn[resource_type]"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return self._create_resource(resource_type, spec)"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_0c6440e3","line":67,"range":{"start_line":44,"start_character":0,"end_line":67,"end_character":37},"updated":"2016-12-09 14:42:54.000000000","message":"(to remove)","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"}],"networking_bagpipe/tests/fullstack/resources/config.py":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                raise"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class BGPVPNProviderConfigFixture(neutron_cfg.ConfigFixture):"},{"line_number":60,"context_line":"    def __init__(self, env_desc, host_desc, temp_dir):"},{"line_number":61,"context_line":"        super(BGPVPNProviderConfigFixture, self).__init__("},{"line_number":62,"context_line":"            env_desc, host_desc, temp_dir,"},{"line_number":63,"context_line":"            base_filename\u003d\u0027networking_bgpvpn.conf\u0027)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        self.config.update({"},{"line_number":66,"context_line":"            \u0027service_providers\u0027: {"},{"line_number":67,"context_line":"                \u0027service_provider\u0027: BGPVPN_PROVIDER"},{"line_number":68,"context_line":"            }"},{"line_number":69,"context_line":"        })"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class ML2BaGPipeConfigFixture(neutron_cfg.ML2ConfigFixture):"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def __init__(self, env_desc, host_desc, temp_dir, tenant_network_types):"},{"line_number":75,"context_line":"        super(ML2BaGPipeConfigFixture, self).__init__("},{"line_number":76,"context_line":"            env_desc, host_desc, temp_dir, tenant_network_types)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        if env_desc.bagpipe:"},{"line_number":79,"context_line":"            self.config[\u0027ml2\u0027][\u0027type_drivers\u0027] \u003d \u0027route_target\u0027"},{"line_number":80,"context_line":"            self.config.update({"},{"line_number":81,"context_line":"                \u0027ml2_type_route_target\u0027: {"},{"line_number":82,"context_line":"                    \u0027rt_nn_ranges\u0027: \u0027100:199\u0027"},{"line_number":83,"context_line":"                }"},{"line_number":84,"context_line":"            })"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"class OVSBaGPipeConfigFixture(neutron_cfg.OVSConfigFixture):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_6c05b4c0","line":84,"range":{"start_line":59,"start_character":0,"end_line":84,"end_character":14},"updated":"2016-12-09 14:42:54.000000000","message":"I am realizing that having different subdirs under tests/fullstack, one for bagpipe-ml2, another one for bgpvpn, and a \u0027common\u0027 dir for things that are used by both, would be nice.","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            \u0027BGP\u0027: {"},{"line_number":162,"context_line":"                \u0027local_address\u0027: local_ip,"},{"line_number":163,"context_line":"                \u0027peers\u0027: bgp_peer,"},{"line_number":164,"context_line":"                \u0027my_as\u0027: \u002764512\u0027,"},{"line_number":165,"context_line":"            },"},{"line_number":166,"context_line":"            \u0027API\u0027: {"},{"line_number":167,"context_line":"                \u0027api_host\u0027: local_ip,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_ecce2482","line":164,"range":{"start_line":164,"start_character":14,"end_line":164,"end_character":33},"updated":"2016-12-09 14:42:54.000000000","message":"We could add a variant to test with/without rtc.","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"}],"networking_bagpipe/tests/fullstack/resources/environment.py":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            net_helpers.OVSBridgeFixture("},{"line_number":88,"context_line":"                agent_cfg_fixture.get_br_tun_name())).bridge"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        if self.env_desc.ipvpn_encap !\u003d \u0027mpls\u0027:"},{"line_number":91,"context_line":"            self.connect_to_internal_network_via_tunneling()"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        self.ovs_agent \u003d self.useFixture("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_38a9337c","line":90,"range":{"start_line":90,"start_character":40,"end_line":90,"end_character":46},"updated":"2016-12-09 14:42:54.000000000","message":"if this means \"bare mpls\", and \"gre\" means \"mpls-over-gre\", then perhaps better names would be \"bare-mpls\" and \"mpls-gre\" ?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                self.connect_to_internal_network_via_mpls_bridge()"},{"line_number":128,"context_line":"                mpls_interface \u003d filter("},{"line_number":129,"context_line":"                    lambda port: net_helpers.VETH0_PREFIX"},{"line_number":130,"context_line":"                    in port, self.mpls_bridge.get_port_name_list())[0]"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        bgp_cfg_fixture \u003d config.BagpipeBGPConfigFixture("},{"line_number":133,"context_line":"            self.env_desc, self.host_desc, self.neutron_config.temp_dir,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_18f3979f","line":130,"range":{"start_line":130,"start_character":67,"end_line":130,"end_character":70},"updated":"2016-12-09 14:42:54.000000000","message":"wouldn\u0027t it be good to raise/warn if more than one, unless we are 100% sure there is never more than one ?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        self.mpls_bridge.add_port(veth_1.name)"},{"line_number":157,"context_line":"        self.central_data_bridge.add_port(veth_2.name)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        mpls_device \u003d ip_lib.IPDevice(self.mpls_bridge.br_name)"},{"line_number":160,"context_line":"        mpls_device.addr.add(utils.ip_to_cidr(self.local_ip, 24))"},{"line_number":161,"context_line":"        mpls_device.link.set_up()"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        self.mpls_bridge.remove_all_flows()"},{"line_number":164,"context_line":"        self.mpls_bridge.add_flow(in_port\u003d\u0027LOCAL\u0027, actions\u003d\u0027output:1\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_3845b3b2","line":161,"range":{"start_line":159,"start_character":0,"end_line":161,"end_character":33},"updated":"2016-12-09 14:42:54.000000000","message":"Do we remove this IP from the interface on which (perhaps) it was also already configured on ?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"}],"networking_bagpipe/tests/fullstack/resources/process.py":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":98,"context_line":"class GoBGPProcessFixture(neutron_proc.ProcessFixture):"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def start(self):"},{"line_number":101,"context_line":"        # TODO(ythomas1): Find a way to redirect trace in log file"},{"line_number":102,"context_line":"        cmd \u003d [spawn.find_executable(self.exec_name),"},{"line_number":103,"context_line":"               \u0027-t\u0027, \u0027json\u0027,"},{"line_number":104,"context_line":"               \u0027-f\u0027, self.config_filenames[0],"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_f8725be2","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":66},"updated":"2016-12-09 14:42:54.000000000","message":"Maybe a bit crude, but you could exec a shell:  \"/bin/sh\" \"...\" \"\u003e\" \"mylogfile.log\" ?\n\nI guess that neutron must be pushing its log to the console, so perhaps looking at how neutron output is catched into a file can give you an idea ?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"f622ce601a36f065c7ddb41f6fb466d3f4b702d0","unresolved":false,"context_lines":[{"line_number":98,"context_line":"class GoBGPProcessFixture(neutron_proc.ProcessFixture):"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def start(self):"},{"line_number":101,"context_line":"        # TODO(ythomas1): Find a way to redirect trace in log file"},{"line_number":102,"context_line":"        cmd \u003d [spawn.find_executable(self.exec_name),"},{"line_number":103,"context_line":"               \u0027-t\u0027, \u0027json\u0027,"},{"line_number":104,"context_line":"               \u0027-f\u0027, self.config_filenames[0],"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_5bbc296c","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":66},"in_reply_to":"3a71b18c_f8725be2","updated":"2016-12-09 16:19:12.000000000","message":"gobgpd seems to miss an option similar to neutron\u0027s --log-file, so I guess the shell + redirect to a file is the practical solution here...","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"}],"networking_bagpipe/tests/fullstack/test_bagpipe_connectivity.py":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"482b02c53a88d62d9700a6f49501c037805ea1d9","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    of_interface \u003d None"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    scenarios \u003d ["},{"line_number":42,"context_line":"        (\u0027BaGPipe native VXLAN\u0027, {\u0027bagpipe\u0027: True,"},{"line_number":43,"context_line":"                                  \u0027network_type\u0027: \u0027route_target\u0027,"},{"line_number":44,"context_line":"                                  \u0027evpn_driver\u0027: \u0027linux\u0027})]"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_98124761","line":42,"range":{"start_line":42,"start_character":34,"end_line":42,"end_character":50},"updated":"2016-12-09 14:42:54.000000000","message":"what does this parameter correspond to ?","commit_id":"97868f3ee45e9954be48ef93a0a48733e9517750"}]}
