)]}'
{"etc/neutron/plugins/ml2/ml2_conf_arista.ini":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":66,"context_line":"# primary_l3_host_password \u003d"},{"line_number":67,"context_line":"# Example: primary_l3_password \u003d my_password"},{"line_number":68,"context_line":"#"},{"line_number":69,"context_line":"# (StrOpt) IP address of the second Arista switch MLAG\u0027ed with the first."},{"line_number":70,"context_line":"#          This is optional field, however, if mlag_config flag is set,"},{"line_number":71,"context_line":"#          then this is a required field. If not set, all"},{"line_number":72,"context_line":"#          communications to Arista EOS will fail. If mlag_config is set"}],"source_content_type":"text/x-properties","patch_set":2,"id":"7ac7a964_6ff463f2","line":69,"updated":"2014-08-15 15:13:15.000000000","message":"MLAG?","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"# primary_l3_host_password \u003d"},{"line_number":67,"context_line":"# Example: primary_l3_password \u003d my_password"},{"line_number":68,"context_line":"#"},{"line_number":69,"context_line":"# (StrOpt) IP address of the second Arista switch MLAG\u0027ed with the first."},{"line_number":70,"context_line":"#          This is optional field, however, if mlag_config flag is set,"},{"line_number":71,"context_line":"#          then this is a required field. If not set, all"},{"line_number":72,"context_line":"#          communications to Arista EOS will fail. If mlag_config is set"}],"source_content_type":"text/x-properties","patch_set":2,"id":"7ac7a964_a25cc5ee","line":69,"in_reply_to":"7ac7a964_6ff463f2","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"d311dba197b05568053ab19fe0a8f82791420c36","unresolved":false,"context_lines":[{"line_number":66,"context_line":"# primary_l3_host_password \u003d"},{"line_number":67,"context_line":"# Example: primary_l3_password \u003d my_password"},{"line_number":68,"context_line":"#"},{"line_number":69,"context_line":"# (StrOpt) IP address of the second Arista switch paied as MLAG with the first."},{"line_number":70,"context_line":"#          This is optional field, however, if mlag_config flag is set,"},{"line_number":71,"context_line":"#          then this is a required field. If not set, all"},{"line_number":72,"context_line":"#          communications to Arista EOS will fail. If mlag_config is set"}],"source_content_type":"text/x-properties","patch_set":3,"id":"1abeadc6_e7037371","line":69,"updated":"2014-08-18 12:48:28.000000000","message":"Sorry, wasn\u0027t clear. May want to define what MLAG is (multichassis link aggregation?).  paied -\u003e paired","commit_id":"c9a0f8a789e2ab47e23ce2c1211d6da3eccc1302"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"944e72394407dc90e6500043234b22813ba41376","unresolved":false,"context_lines":[{"line_number":66,"context_line":"# primary_l3_host_password \u003d"},{"line_number":67,"context_line":"# Example: primary_l3_password \u003d my_password"},{"line_number":68,"context_line":"#"},{"line_number":69,"context_line":"# (StrOpt) IP address of the second Arista switch paied as MLAG with the first."},{"line_number":70,"context_line":"#          This is optional field, however, if mlag_config flag is set,"},{"line_number":71,"context_line":"#          then this is a required field. If not set, all"},{"line_number":72,"context_line":"#          communications to Arista EOS will fail. If mlag_config is set"}],"source_content_type":"text/x-properties","patch_set":3,"id":"1abeadc6_6a4e36c3","line":69,"in_reply_to":"1abeadc6_e7037371","updated":"2014-08-19 22:10:00.000000000","message":"Done","commit_id":"c9a0f8a789e2ab47e23ce2c1211d6da3eccc1302"}],"neutron/plugins/ml2/drivers/arista/arista_l3_driver.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"1cc19f6e825a542b7cc36286dd4e940e3d120af6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2014 Arista Networks, Inc.  All rights reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_4b79a592","line":1,"updated":"2014-08-14 00:51:16.000000000","message":"no vim lines in new code, please.","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2014 Arista Networks, Inc.  All rights reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_b0d0c154","line":1,"in_reply_to":"7ac7a964_4b79a592","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        :param router_name: globally unique identifier for router/VRF"},{"line_number":156,"context_line":"        :param rdm: A random value between 1 and 10 to create rd for VRF"},{"line_number":157,"context_line":"        :param server: Server endpoint on the Arista swtich to be configured"},{"line_number":158,"context_line":"        \"\"\""},{"line_number":159,"context_line":"        cmds \u003d []"},{"line_number":160,"context_line":"        rd \u003d \"%s:%s\" % (rdm, rdm)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_ba8270fe","line":157,"updated":"2014-08-14 12:36:42.000000000","message":"Typo: swtich","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        :param router_name: globally unique identifier for router/VRF"},{"line_number":156,"context_line":"        :param rdm: A random value between 1 and 10 to create rd for VRF"},{"line_number":157,"context_line":"        :param server: Server endpoint on the Arista swtich to be configured"},{"line_number":158,"context_line":"        \"\"\""},{"line_number":159,"context_line":"        cmds \u003d []"},{"line_number":160,"context_line":"        rd \u003d \"%s:%s\" % (rdm, rdm)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_f0f31908","line":157,"in_reply_to":"7ac7a964_ba8270fe","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        \"\"\"Deletes a router from Arista HW Device."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        :param router_name: globally unique identifier for router/VRF"},{"line_number":176,"context_line":"        :param server: Server endpoint on the Arista swtich to be configured"},{"line_number":177,"context_line":"        \"\"\""},{"line_number":178,"context_line":"        cmds \u003d []"},{"line_number":179,"context_line":"        for c in self.routerDict[\u0027delete\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_faa22899","line":176,"updated":"2014-08-14 12:36:42.000000000","message":"Typo: swtich","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        \"\"\"Deletes a router from Arista HW Device."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        :param router_name: globally unique identifier for router/VRF"},{"line_number":176,"context_line":"        :param server: Server endpoint on the Arista swtich to be configured"},{"line_number":177,"context_line":"        \"\"\""},{"line_number":178,"context_line":"        cmds \u003d []"},{"line_number":179,"context_line":"        for c in self.routerDict[\u0027delete\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_f041590c","line":176,"in_reply_to":"7ac7a964_faa22899","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            self.interfaceDict \u003d router_in_vrf[\u0027interface\u0027]"},{"line_number":190,"context_line":"        else:"},{"line_number":191,"context_line":"            if ipv \u003d\u003d 6:"},{"line_number":192,"context_line":"                #for ipV6 use IpV6 commmands"},{"line_number":193,"context_line":"                self.interfaceDict \u003d router_in_default_vrf_v6[\u0027interface\u0027]"},{"line_number":194,"context_line":"                self._additionalInterfaceCmdsDict \u003d ("},{"line_number":195,"context_line":"                    additional_cmds_for_mlag_v6[\u0027interface\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_5ac15c2d","line":192,"updated":"2014-08-14 12:36:42.000000000","message":"Capitalization typo: ipV6 and IpV6 should both be IPv6","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":189,"context_line":"            self.interfaceDict \u003d router_in_vrf[\u0027interface\u0027]"},{"line_number":190,"context_line":"        else:"},{"line_number":191,"context_line":"            if ipv \u003d\u003d 6:"},{"line_number":192,"context_line":"                #for ipV6 use IpV6 commmands"},{"line_number":193,"context_line":"                self.interfaceDict \u003d router_in_default_vrf_v6[\u0027interface\u0027]"},{"line_number":194,"context_line":"                self._additionalInterfaceCmdsDict \u003d ("},{"line_number":195,"context_line":"                    additional_cmds_for_mlag_v6[\u0027interface\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_706c699d","line":192,"in_reply_to":"7ac7a964_5ac15c2d","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"1cc19f6e825a542b7cc36286dd4e940e3d120af6","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        \"\"\""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        if not segment_id:"},{"line_number":214,"context_line":"            segment_id \u003d 1"},{"line_number":215,"context_line":"        cmds \u003d []"},{"line_number":216,"context_line":"        for c in self.interfaceDict[\u0027add\u0027]:"},{"line_number":217,"context_line":"            if self.mlag_configured:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_0b5fad0f","line":214,"updated":"2014-08-14 00:51:16.000000000","message":"DEFAULT_VLAN ?","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":211,"context_line":"        \"\"\""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        if not segment_id:"},{"line_number":214,"context_line":"            segment_id \u003d 1"},{"line_number":215,"context_line":"        cmds \u003d []"},{"line_number":216,"context_line":"        for c in self.interfaceDict[\u0027add\u0027]:"},{"line_number":217,"context_line":"            if self.mlag_configured:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_d00a9dd1","line":214,"in_reply_to":"7ac7a964_0b5fad0f","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        :param segment_id: VLAN Id associated with interface that is added"},{"line_number":232,"context_line":"        :param router_name: globally unique identifier for router/VRF"},{"line_number":233,"context_line":"        :param server: Server endpoint on the Arista swtich to be configured"},{"line_number":234,"context_line":"        \"\"\""},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        if not segment_id:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_daec8cca","line":233,"updated":"2014-08-14 12:36:42.000000000","message":"Typo: swtich","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        :param segment_id: VLAN Id associated with interface that is added"},{"line_number":232,"context_line":"        :param router_name: globally unique identifier for router/VRF"},{"line_number":233,"context_line":"        :param server: Server endpoint on the Arista swtich to be configured"},{"line_number":234,"context_line":"        \"\"\""},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        if not segment_id:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_501dad0e","line":233,"in_reply_to":"7ac7a964_daec8cca","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"1cc19f6e825a542b7cc36286dd4e940e3d120af6","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            router_name \u003d self._arista_router_name(tenant_id, router[\u0027name\u0027])"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            rdm \u003d str(int(hashlib.sha256(router_name).hexdigest(),"},{"line_number":254,"context_line":"                    16) % 6553)"},{"line_number":255,"context_line":"            for s in self._servers:"},{"line_number":256,"context_line":"                self.create_router_on_eos(router_name, rdm, s)"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_0bbb2d0f","line":254,"updated":"2014-08-14 00:51:16.000000000","message":"this doesn\u0027t seem like \"A random value between 1 and 10\"","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":251,"context_line":"            router_name \u003d self._arista_router_name(tenant_id, router[\u0027name\u0027])"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"            rdm \u003d str(int(hashlib.sha256(router_name).hexdigest(),"},{"line_number":254,"context_line":"                    16) % 6553)"},{"line_number":255,"context_line":"            for s in self._servers:"},{"line_number":256,"context_line":"                self.create_router_on_eos(router_name, rdm, s)"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_30ce7184","line":254,"in_reply_to":"7ac7a964_0bbb2d0f","updated":"2014-08-15 00:55:36.000000000","message":"This is not intended to be a random number between 1 and 10. Did I mention it somewhere? Where did you get that idea?","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    Provides access to the Neutron Data bases for all provisioned"},{"line_number":402,"context_line":"    networks as well ports. This data is used during the synchronization"},{"line_number":403,"context_line":"    of DB between ML2 Mechanism Driver and Arista EOS"},{"line_number":404,"context_line":"    Names of the networks and ports are not stroed in Arista repository"},{"line_number":405,"context_line":"    They are pulled from Neutron DB."},{"line_number":406,"context_line":"    \"\"\""},{"line_number":407,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_ba127060","line":404,"updated":"2014-08-14 12:36:42.000000000","message":"Typo: stroed -\u003e stored","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":401,"context_line":"    Provides access to the Neutron Data bases for all provisioned"},{"line_number":402,"context_line":"    networks as well ports. This data is used during the synchronization"},{"line_number":403,"context_line":"    of DB between ML2 Mechanism Driver and Arista EOS"},{"line_number":404,"context_line":"    Names of the networks and ports are not stroed in Arista repository"},{"line_number":405,"context_line":"    They are pulled from Neutron DB."},{"line_number":406,"context_line":"    \"\"\""},{"line_number":407,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_d0945d39","line":404,"in_reply_to":"7ac7a964_ba127060","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        self._run_openstack_l3_cmds(cmds, server)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def delete_interface_from_router(self, segment_id, router_name, server):"},{"line_number":227,"context_line":"        \"\"\"Deltes an interface from existing HW router on Arista HW device."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        :param segment_id: VLAN Id associated with interface that is added"},{"line_number":230,"context_line":"        :param router_name: globally unique identifier for router/VRF"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_cfc9f77a","line":227,"updated":"2014-08-15 15:13:15.000000000","message":"Deltes -\u003e Deletes","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":224,"context_line":"        self._run_openstack_l3_cmds(cmds, server)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    def delete_interface_from_router(self, segment_id, router_name, server):"},{"line_number":227,"context_line":"        \"\"\"Deltes an interface from existing HW router on Arista HW device."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"        :param segment_id: VLAN Id associated with interface that is added"},{"line_number":230,"context_line":"        :param router_name: globally unique identifier for router/VRF"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_c220e14b","line":227,"in_reply_to":"7ac7a964_cfc9f77a","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        self._run_openstack_l3_cmds(cmds, server)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def create_router(self, context, tenant_id, router):"},{"line_number":243,"context_line":"        \"\"\"Creates A router on Arista Switch."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        Deals with multiple configurations - such as Router per VRF,"},{"line_number":246,"context_line":"        a router in default VRF, Virtual Router in MLAG configurations"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_4f93274f","line":243,"updated":"2014-08-15 15:13:15.000000000","message":"nit: A -\u003e a","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        self._run_openstack_l3_cmds(cmds, server)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def create_router(self, context, tenant_id, router):"},{"line_number":243,"context_line":"        \"\"\"Creates A router on Arista Switch."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        Deals with multiple configurations - such as Router per VRF,"},{"line_number":246,"context_line":"        a router in default VRF, Virtual Router in MLAG configurations"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_a2868511","line":243,"in_reply_to":"7ac7a964_4f93274f","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                self.create_router_on_eos(router_name, rdm, s)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def delete_router(self, context, tenant_id, router_id, router):"},{"line_number":257,"context_line":"        \"\"\"Deleted A router from Arista Switch \"\"\""},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if router:"},{"line_number":260,"context_line":"            for s in self._servers:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_2fdeeb11","line":257,"updated":"2014-08-15 15:13:15.000000000","message":"nit: Missing period at end of summary string (PEP257)","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                self.create_router_on_eos(router_name, rdm, s)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def delete_router(self, context, tenant_id, router_id, router):"},{"line_number":257,"context_line":"        \"\"\"Deleted A router from Arista Switch \"\"\""},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if router:"},{"line_number":260,"context_line":"            for s in self._servers:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_021bb91b","line":257,"in_reply_to":"7ac7a964_2fdeeb11","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":282,"context_line":"            if self.mlag_configured:"},{"line_number":283,"context_line":"                # For MLAG, we send a specific IP address as opposed to cidr"},{"line_number":284,"context_line":"                # For now, we are using x.x.x.253 and x.x.x.254 as virtual IP"},{"line_number":285,"context_line":"                for i in range(len(self._servers)):"},{"line_number":286,"context_line":"                    #get appropriate virtual IP address for this router"},{"line_number":287,"context_line":"                    router_ip \u003d self._get_router_ip(cidr, i,"},{"line_number":288,"context_line":"                                                    router_info[\u0027ip_version\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_d2727ee2","line":285,"updated":"2014-08-15 15:13:15.000000000","message":"Could use:\n\n    for i, server in enumerate(self._servers):\n\nand then use i and server on L287 and 294.","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":282,"context_line":"            if self.mlag_configured:"},{"line_number":283,"context_line":"                # For MLAG, we send a specific IP address as opposed to cidr"},{"line_number":284,"context_line":"                # For now, we are using x.x.x.253 and x.x.x.254 as virtual IP"},{"line_number":285,"context_line":"                for i in range(len(self._servers)):"},{"line_number":286,"context_line":"                    #get appropriate virtual IP address for this router"},{"line_number":287,"context_line":"                    router_ip \u003d self._get_router_ip(cidr, i,"},{"line_number":288,"context_line":"                                                    router_info[\u0027ip_version\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_08011705","line":285,"in_reply_to":"7ac7a964_d2727ee2","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"d311dba197b05568053ab19fe0a8f82791420c36","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                self.create_router_on_eos(router_name, rdm, s)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def delete_router(self, context, tenant_id, router_id, router):"},{"line_number":257,"context_line":"        \"\"\"Deleted A router from Arista Switch \"\"\""},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if router:"},{"line_number":260,"context_line":"            for s in self._servers:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_07f86f7b","line":257,"updated":"2014-08-18 12:48:28.000000000","message":"period at end of string (instead of space)","commit_id":"c9a0f8a789e2ab47e23ce2c1211d6da3eccc1302"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"944e72394407dc90e6500043234b22813ba41376","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                self.create_router_on_eos(router_name, rdm, s)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    def delete_router(self, context, tenant_id, router_id, router):"},{"line_number":257,"context_line":"        \"\"\"Deleted A router from Arista Switch \"\"\""},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        if router:"},{"line_number":260,"context_line":"            for s in self._servers:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_4fa0ac90","line":257,"in_reply_to":"1abeadc6_07f86f7b","updated":"2014-08-19 22:10:00.000000000","message":"Done","commit_id":"c9a0f8a789e2ab47e23ce2c1211d6da3eccc1302"}],"neutron/plugins/ml2/drivers/arista/config.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":78,"context_line":"ARISTA_L3_PLUGIN \u003d ["},{"line_number":79,"context_line":"    cfg.StrOpt(\u0027primary_l3_host_username\u0027,"},{"line_number":80,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":81,"context_line":"               help\u003d_(\u0027Username for Arista EOS. This is required field.\u0027"},{"line_number":82,"context_line":"                      \u0027if not set, all communications to Arista EOS\u0027"},{"line_number":83,"context_line":"                      \u0027will fail\u0027)),"},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027primary_l3_host_password\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_155ea012","line":81,"updated":"2014-08-15 15:13:15.000000000","message":"Space and end of string and capitalize the next word. Here and next two.","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"ARISTA_L3_PLUGIN \u003d ["},{"line_number":79,"context_line":"    cfg.StrOpt(\u0027primary_l3_host_username\u0027,"},{"line_number":80,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":81,"context_line":"               help\u003d_(\u0027Username for Arista EOS. This is required field.\u0027"},{"line_number":82,"context_line":"                      \u0027if not set, all communications to Arista EOS\u0027"},{"line_number":83,"context_line":"                      \u0027will fail\u0027)),"},{"line_number":84,"context_line":"    cfg.StrOpt(\u0027primary_l3_host_password\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_42bdb167","line":81,"in_reply_to":"7ac7a964_155ea012","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                      \u0027will fail\u0027)),"},{"line_number":95,"context_line":"    cfg.StrOpt(\u0027secondary_l3_host\u0027,"},{"line_number":96,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":97,"context_line":"               help\u003d_(\u0027Arista EOS IP address for second Switch MLAGed with\u0027"},{"line_number":98,"context_line":"                      \u0027the first one. This an optional field, however, if\u0027"},{"line_number":99,"context_line":"                      \u0027if mlag_config flag is set, then this is required\u0027"},{"line_number":100,"context_line":"                      \u0027If not set, all communications to Arista EOS\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_757d146e","line":97,"updated":"2014-08-15 15:13:15.000000000","message":"For all these help strings, add spaces at the end of each line for continuation.","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                      \u0027will fail\u0027)),"},{"line_number":95,"context_line":"    cfg.StrOpt(\u0027secondary_l3_host\u0027,"},{"line_number":96,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":97,"context_line":"               help\u003d_(\u0027Arista EOS IP address for second Switch MLAGed with\u0027"},{"line_number":98,"context_line":"                      \u0027the first one. This an optional field, however, if\u0027"},{"line_number":99,"context_line":"                      \u0027if mlag_config flag is set, then this is required\u0027"},{"line_number":100,"context_line":"                      \u0027If not set, all communications to Arista EOS\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_a2ba056c","line":97,"in_reply_to":"7ac7a964_757d146e","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":96,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":97,"context_line":"               help\u003d_(\u0027Arista EOS IP address for second Switch MLAGed with\u0027"},{"line_number":98,"context_line":"                      \u0027the first one. This an optional field, however, if\u0027"},{"line_number":99,"context_line":"                      \u0027if mlag_config flag is set, then this is required\u0027"},{"line_number":100,"context_line":"                      \u0027If not set, all communications to Arista EOS\u0027"},{"line_number":101,"context_line":"                      \u0027will fail\u0027)),"},{"line_number":102,"context_line":"    cfg.BoolOpt(\u0027mlag_config\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_158ce07e","line":99,"updated":"2014-08-15 15:13:15.000000000","message":"if repeated twice (previous line and this). Periods missing at the end of sentence.","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":96,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":97,"context_line":"               help\u003d_(\u0027Arista EOS IP address for second Switch MLAGed with\u0027"},{"line_number":98,"context_line":"                      \u0027the first one. This an optional field, however, if\u0027"},{"line_number":99,"context_line":"                      \u0027if mlag_config flag is set, then this is required\u0027"},{"line_number":100,"context_line":"                      \u0027If not set, all communications to Arista EOS\u0027"},{"line_number":101,"context_line":"                      \u0027will fail\u0027)),"},{"line_number":102,"context_line":"    cfg.BoolOpt(\u0027mlag_config\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_e2ab1d1c","line":99,"in_reply_to":"7ac7a964_158ce07e","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                default\u003dFalse,"},{"line_number":104,"context_line":"                help\u003d_(\u0027This flag is used indicate if Arista Switches are\u0027"},{"line_number":105,"context_line":"                       \u0027are configured in MLAG mode. If yes, all L3 config\u0027"},{"line_number":106,"context_line":"                       \u0027is pushed to both the switches automatically\u0027"},{"line_number":107,"context_line":"                       \u0027if this flag is set to True, ensure to speify IP\u0027"},{"line_number":108,"context_line":"                       \u0027addresses of both switches.\u0027"},{"line_number":109,"context_line":"                       \u0027This is optional. If not set, a value of \"False\"\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_b5ddec72","line":106,"updated":"2014-08-15 15:13:15.000000000","message":"Missing period at end of sentence.","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                default\u003dFalse,"},{"line_number":104,"context_line":"                help\u003d_(\u0027This flag is used indicate if Arista Switches are\u0027"},{"line_number":105,"context_line":"                       \u0027are configured in MLAG mode. If yes, all L3 config\u0027"},{"line_number":106,"context_line":"                       \u0027is pushed to both the switches automatically\u0027"},{"line_number":107,"context_line":"                       \u0027if this flag is set to True, ensure to speify IP\u0027"},{"line_number":108,"context_line":"                       \u0027addresses of both switches.\u0027"},{"line_number":109,"context_line":"                       \u0027This is optional. If not set, a value of \"False\"\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_22a6f553","line":106,"in_reply_to":"7ac7a964_b5ddec72","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                help\u003d_(\u0027This flag is used indicate if Arista Switches are\u0027"},{"line_number":105,"context_line":"                       \u0027are configured in MLAG mode. If yes, all L3 config\u0027"},{"line_number":106,"context_line":"                       \u0027is pushed to both the switches automatically\u0027"},{"line_number":107,"context_line":"                       \u0027if this flag is set to True, ensure to speify IP\u0027"},{"line_number":108,"context_line":"                       \u0027addresses of both switches.\u0027"},{"line_number":109,"context_line":"                       \u0027This is optional. If not set, a value of \"False\"\u0027"},{"line_number":110,"context_line":"                       \u0027is assumed.\u0027)),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_75cb54a5","line":107,"updated":"2014-08-15 15:13:15.000000000","message":"speify -\u003e specify","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                help\u003d_(\u0027This flag is used indicate if Arista Switches are\u0027"},{"line_number":105,"context_line":"                       \u0027are configured in MLAG mode. If yes, all L3 config\u0027"},{"line_number":106,"context_line":"                       \u0027is pushed to both the switches automatically\u0027"},{"line_number":107,"context_line":"                       \u0027if this flag is set to True, ensure to speify IP\u0027"},{"line_number":108,"context_line":"                       \u0027addresses of both switches.\u0027"},{"line_number":109,"context_line":"                       \u0027This is optional. If not set, a value of \"False\"\u0027"},{"line_number":110,"context_line":"                       \u0027is assumed.\u0027)),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_4264d121","line":107,"in_reply_to":"7ac7a964_75cb54a5","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                default\u003dFalse,"},{"line_number":113,"context_line":"                help\u003d_(\u0027A True value for this flag indicates to create a\u0027"},{"line_number":114,"context_line":"                       \u0027router in VRF. If not set, all routers are created\u0027"},{"line_number":115,"context_line":"                       \u0027in default VRFs\u0027"},{"line_number":116,"context_line":"                       \u0027This is optional. If not set, a value of \"False\"\u0027"},{"line_number":117,"context_line":"                       \u0027is assumed.\u0027)),"},{"line_number":118,"context_line":"    cfg.IntOpt(\u0027l3_sync_interval\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_755994fd","line":115,"updated":"2014-08-15 15:13:15.000000000","message":"Missing period.","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                default\u003dFalse,"},{"line_number":113,"context_line":"                help\u003d_(\u0027A True value for this flag indicates to create a\u0027"},{"line_number":114,"context_line":"                       \u0027router in VRF. If not set, all routers are created\u0027"},{"line_number":115,"context_line":"                       \u0027in default VRFs\u0027"},{"line_number":116,"context_line":"                       \u0027This is optional. If not set, a value of \"False\"\u0027"},{"line_number":117,"context_line":"                       \u0027is assumed.\u0027)),"},{"line_number":118,"context_line":"    cfg.IntOpt(\u0027l3_sync_interval\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_62670d26","line":115,"in_reply_to":"7ac7a964_755994fd","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"d311dba197b05568053ab19fe0a8f82791420c36","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                       \u0027configured in MLAG mode. If yes, all L3 config \u0027"},{"line_number":106,"context_line":"                       \u0027is pushed to both the switches automatically. \u0027"},{"line_number":107,"context_line":"                       \u0027If this flag is set to True, ensure to specify IP \u0027"},{"line_number":108,"context_line":"                       \u0027addresses of both switches.\u0027"},{"line_number":109,"context_line":"                       \u0027This is optional. If not set, a value of \"False\" \u0027"},{"line_number":110,"context_line":"                       \u0027is assumed.\u0027)),"},{"line_number":111,"context_line":"    cfg.BoolOpt(\u0027use_vrf\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_073f8f26","line":108,"updated":"2014-08-18 12:48:28.000000000","message":"space after period, due to continuation.","commit_id":"c9a0f8a789e2ab47e23ce2c1211d6da3eccc1302"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"944e72394407dc90e6500043234b22813ba41376","unresolved":false,"context_lines":[{"line_number":105,"context_line":"                       \u0027configured in MLAG mode. If yes, all L3 config \u0027"},{"line_number":106,"context_line":"                       \u0027is pushed to both the switches automatically. \u0027"},{"line_number":107,"context_line":"                       \u0027If this flag is set to True, ensure to specify IP \u0027"},{"line_number":108,"context_line":"                       \u0027addresses of both switches.\u0027"},{"line_number":109,"context_line":"                       \u0027This is optional. If not set, a value of \"False\" \u0027"},{"line_number":110,"context_line":"                       \u0027is assumed.\u0027)),"},{"line_number":111,"context_line":"    cfg.BoolOpt(\u0027use_vrf\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"1abeadc6_af2b00ea","line":108,"in_reply_to":"1abeadc6_073f8f26","updated":"2014-08-19 22:10:00.000000000","message":"Done","commit_id":"c9a0f8a789e2ab47e23ce2c1211d6da3eccc1302"}],"neutron/services/l3_router/l3_arista.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"1cc19f6e825a542b7cc36286dd4e940e3d120af6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2014 Arista Networks, Inc.  All rights reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_ab3eb927","line":1,"updated":"2014-08-14 00:51:16.000000000","message":"remove vim line","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright 2014 Arista Networks, Inc.  All rights reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_90aae56e","line":1,"in_reply_to":"7ac7a964_ab3eb927","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"1cc19f6e825a542b7cc36286dd4e940e3d120af6","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            return new_router"},{"line_number":122,"context_line":"        except Exception:"},{"line_number":123,"context_line":"            LOG.error(_(\"Error creating router on Arista HW \""},{"line_number":124,"context_line":"                        \"router\u003d%s \") % new_router)"},{"line_number":125,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":126,"context_line":"                super(AristaL3ServicePlugin, self).delete_router(context,"},{"line_number":127,"context_line":"                                                    new_router[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_8b881de9","line":124,"updated":"2014-08-14 00:51:16.000000000","message":"this should be inside the following save_and_reraise_exception block","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            return new_router"},{"line_number":122,"context_line":"        except Exception:"},{"line_number":123,"context_line":"            LOG.error(_(\"Error creating router on Arista HW \""},{"line_number":124,"context_line":"                        \"router\u003d%s \") % new_router)"},{"line_number":125,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":126,"context_line":"                super(AristaL3ServicePlugin, self).delete_router(context,"},{"line_number":127,"context_line":"                                                    new_router[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_f035d946","line":124,"in_reply_to":"7ac7a964_8b881de9","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"1cc19f6e825a542b7cc36286dd4e940e3d120af6","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        \"\"\"Add a subnet of a network to an existing router\"\"\""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        LOG.debug(_(\"AristaL3ServicePlugin.add_router_interface() called, \""},{"line_number":179,"context_line":"                    \"id\u003d%(id)s, interface\u003d%(interface)s.\"),"},{"line_number":180,"context_line":"                  {\u0027id\u0027: router_id, \u0027interface\u0027: interface_info})"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        new_router \u003d super(AristaL3ServicePlugin, self).add_router_interface("}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_cb505561","line":179,"updated":"2014-08-14 00:51:16.000000000","message":"do not localize debug log.\n\nprobably it\u0027s better to use neutron.common.log.log decorator.","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        \"\"\"Add a subnet of a network to an existing router\"\"\""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        LOG.debug(_(\"AristaL3ServicePlugin.add_router_interface() called, \""},{"line_number":179,"context_line":"                    \"id\u003d%(id)s, interface\u003d%(interface)s.\"),"},{"line_number":180,"context_line":"                  {\u0027id\u0027: router_id, \u0027interface\u0027: interface_info})"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        new_router \u003d super(AristaL3ServicePlugin, self).add_router_interface("}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_a8620ad6","line":179,"in_reply_to":"7ac7a964_cb505561","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"1cc19f6e825a542b7cc36286dd4e940e3d120af6","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            context, router_id, interface_info)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        #Get network info for the subnet that is being added to the router."},{"line_number":186,"context_line":"        #Check if the interface information is by port-id or subnet-id"},{"line_number":187,"context_line":"        add_by_port, add_by_sub \u003d self._validate_interface_info(interface_info)"},{"line_number":188,"context_line":"        if add_by_sub:"},{"line_number":189,"context_line":"            subnet \u003d self.get_subnet(context, interface_info[\u0027subnet_id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_0be24d9f","line":186,"updated":"2014-08-14 00:51:16.000000000","message":"insert a space after #.\n\neg. # Check ...","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            context, router_id, interface_info)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"        #Get network info for the subnet that is being added to the router."},{"line_number":186,"context_line":"        #Check if the interface information is by port-id or subnet-id"},{"line_number":187,"context_line":"        add_by_port, add_by_sub \u003d self._validate_interface_info(interface_info)"},{"line_number":188,"context_line":"        if add_by_sub:"},{"line_number":189,"context_line":"            subnet \u003d self.get_subnet(context, interface_info[\u0027subnet_id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_90f90550","line":186,"in_reply_to":"7ac7a964_0be24d9f","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        Walks through the Neturon Db and ensures that all the routers"},{"line_number":263,"context_line":"        created in Netuton DB match with EOS. After creating appropriate"},{"line_number":264,"context_line":"        routers, it ensures to add interfaces as well."},{"line_number":265,"context_line":"        uses idompotent properties of EOS configuration, which means"},{"line_number":266,"context_line":"        same commands can be repeated."},{"line_number":267,"context_line":"        \"\"\""},{"line_number":268,"context_line":"        LOG.info(_(\u0027Syncing Neutron Router DB \u003c-\u003e EOS\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_559ccd69","line":265,"updated":"2014-08-14 12:36:42.000000000","message":"Typo: idompotent -\u003e idempotent","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        Walks through the Neturon Db and ensures that all the routers"},{"line_number":263,"context_line":"        created in Netuton DB match with EOS. After creating appropriate"},{"line_number":264,"context_line":"        routers, it ensures to add interfaces as well."},{"line_number":265,"context_line":"        uses idompotent properties of EOS configuration, which means"},{"line_number":266,"context_line":"        same commands can be repeated."},{"line_number":267,"context_line":"        \"\"\""},{"line_number":268,"context_line":"        LOG.info(_(\u0027Syncing Neutron Router DB \u003c-\u003e EOS\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_d0c1bde5","line":265,"in_reply_to":"7ac7a964_559ccd69","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":279,"context_line":"            except Exception:"},{"line_number":280,"context_line":"                continue"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"            \"figure out which interfaces are added to this router\""},{"line_number":283,"context_line":"            for p in ports:"},{"line_number":284,"context_line":"                if p[\u0027device_id\u0027] \u003d\u003d r[\u0027id\u0027]:"},{"line_number":285,"context_line":"                    net_id \u003d p[\u0027network_id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_95bbc5c3","line":282,"updated":"2014-08-14 12:36:42.000000000","message":"What is this string doing here? Is this supposed to be a comment rather than a string?","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":279,"context_line":"            except Exception:"},{"line_number":280,"context_line":"                continue"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"            \"figure out which interfaces are added to this router\""},{"line_number":283,"context_line":"            for p in ports:"},{"line_number":284,"context_line":"                if p[\u0027device_id\u0027] \u003d\u003d r[\u0027id\u0027]:"},{"line_number":285,"context_line":"                    net_id \u003d p[\u0027network_id\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_90a7454f","line":282,"in_reply_to":"7ac7a964_95bbc5c3","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    \"\"\"Implements L3 Router service plugin for Arista Hardware."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    Creates routers in Arista Hardware, managees them, adds/deletes interfaces"},{"line_number":58,"context_line":"    to the routes."},{"line_number":59,"context_line":"    \"\"\""},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_b5208c4a","line":57,"updated":"2014-08-15 15:13:15.000000000","message":"managees -\u003e manages.  Hardware -\u003e hardware (here and above)","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    \"\"\"Implements L3 Router service plugin for Arista Hardware."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    Creates routers in Arista Hardware, managees them, adds/deletes interfaces"},{"line_number":58,"context_line":"    to the routes."},{"line_number":59,"context_line":"    \"\"\""},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_e2595d5c","line":57,"in_reply_to":"7ac7a964_b5208c4a","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        return constants.L3_ROUTER_NAT"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def get_plugin_description(self):"},{"line_number":88,"context_line":"        \"\"\"returns string description of the plugin.\"\"\""},{"line_number":89,"context_line":"        return (\"Arista L3 Router Service Plugin for Arista Hardware \""},{"line_number":90,"context_line":"                \"based routing\")"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_1516a0f1","line":88,"updated":"2014-08-15 15:13:15.000000000","message":"Returns","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        return constants.L3_ROUTER_NAT"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def get_plugin_description(self):"},{"line_number":88,"context_line":"        \"\"\"returns string description of the plugin.\"\"\""},{"line_number":89,"context_line":"        return (\"Arista L3 Router Service Plugin for Arista Hardware \""},{"line_number":90,"context_line":"                \"based routing\")"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_3d753a98","line":88,"in_reply_to":"7ac7a964_1516a0f1","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    @log.log"},{"line_number":215,"context_line":"    def remove_router_interface(self, context, router_id, interface_info):"},{"line_number":216,"context_line":"        \"\"\"Add a subnet of a network to an existing router\"\"\""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        new_router \u003d ("},{"line_number":219,"context_line":"                   super(AristaL3ServicePlugin, self).remove_router_interface("}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_f5f124ce","line":216,"updated":"2014-08-15 15:13:15.000000000","message":"Nit: pep257 add period to end of docstring summary line","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    @log.log"},{"line_number":215,"context_line":"    def remove_router_interface(self, context, router_id, interface_info):"},{"line_number":216,"context_line":"        \"\"\"Add a subnet of a network to an existing router\"\"\""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        new_router \u003d ("},{"line_number":219,"context_line":"                   super(AristaL3ServicePlugin, self).remove_router_interface("}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_3d27fab7","line":216,"in_reply_to":"7ac7a964_f5f124ce","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                                                \u0027exc\u0027: exc})"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def synchronize(self):"},{"line_number":247,"context_line":"        \"\"\"Syncronizes Router DB from Neturon DB with EOS."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        Walks through the Neturon Db and ensures that all the routers"},{"line_number":250,"context_line":"        created in Netuton DB match with EOS. After creating appropriate"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_95b8f0e6","line":247,"updated":"2014-08-15 15:13:15.000000000","message":"Syncronizes -\u003e Synchronizes","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                                                \u0027exc\u0027: exc})"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"    def synchronize(self):"},{"line_number":247,"context_line":"        \"\"\"Syncronizes Router DB from Neturon DB with EOS."},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        Walks through the Neturon Db and ensures that all the routers"},{"line_number":250,"context_line":"        created in Netuton DB match with EOS. After creating appropriate"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_1d307ee7","line":247,"in_reply_to":"7ac7a964_95b8f0e6","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        Walks through the Neturon Db and ensures that all the routers"},{"line_number":250,"context_line":"        created in Netuton DB match with EOS. After creating appropriate"},{"line_number":251,"context_line":"        routers, it ensures to add interfaces as well."},{"line_number":252,"context_line":"        uses idempotent properties of EOS configuration, which means"},{"line_number":253,"context_line":"        same commands can be repeated."},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":"        LOG.info(_(\u0027Syncing Neutron Router DB \u003c-\u003e EOS\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_35a2bcae","line":252,"updated":"2014-08-15 15:13:15.000000000","message":"Uses","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        Walks through the Neturon Db and ensures that all the routers"},{"line_number":250,"context_line":"        created in Netuton DB match with EOS. After creating appropriate"},{"line_number":251,"context_line":"        routers, it ensures to add interfaces as well."},{"line_number":252,"context_line":"        uses idempotent properties of EOS configuration, which means"},{"line_number":253,"context_line":"        same commands can be repeated."},{"line_number":254,"context_line":"        \"\"\""},{"line_number":255,"context_line":"        LOG.info(_(\u0027Syncing Neutron Router DB \u003c-\u003e EOS\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_7d589232","line":252,"in_reply_to":"7ac7a964_35a2bcae","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"}],"neutron/tests/unit/ml2/drivers/arista/test_arista_l3_driver.py":[{"author":{"_account_id":7776,"name":"Paul Carver","email":"pcarver@att.com","username":"pcarver"},"change_message_id":"df2b9d675d9571f12ab343c506297c778d006676","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                                                             cmds\u003dcmds)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def test_detele_interface_from_router_on_eos(self):"},{"line_number":169,"context_line":"        router_name \u003d \u0027test-router-1\u0027"},{"line_number":170,"context_line":"        segment_id \u003d \u0027123\u0027"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        self.drv.delete_interface_from_router(segment_id, router_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_35fcb13e","line":169,"updated":"2014-08-14 12:36:42.000000000","message":"Typo: detele -\u003e delete","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"b6cb84473d9b85dbb0c1379ac89a5a908d1a8be3","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                                                             cmds\u003dcmds)"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def test_detele_interface_from_router_on_eos(self):"},{"line_number":169,"context_line":"        router_name \u003d \u0027test-router-1\u0027"},{"line_number":170,"context_line":"        segment_id \u003d \u0027123\u0027"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        self.drv.delete_interface_from_router(segment_id, router_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac7a964_2bafe2e4","line":169,"in_reply_to":"7ac7a964_35fcb13e","updated":"2014-08-15 00:55:36.000000000","message":"Done","commit_id":"e5d623e1018f885dbfa60b63d1d10081ad2107b2"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0571f9ee8a1f51c9fca2ccea3f47817fd56ba767","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    \"\"\"Test cases to test the RPC between Arista Driver and EOS."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    Tests all methods used to send commands between Arista L3 Driver and EOS"},{"line_number":41,"context_line":"    to program routing functions in Default VRF"},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_35b71cda","line":41,"updated":"2014-08-15 15:13:15.000000000","message":"nit: period.","commit_id":"08bf82c64481ac27ed84238009c61258551be124"},{"author":{"_account_id":6558,"name":"Sukhdev Kapur","email":"sukhdevkapur@gmail.com","username":"sukhdev-8"},"change_message_id":"a7037e1635dd7335ca974cffe611113759ded9e3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    \"\"\"Test cases to test the RPC between Arista Driver and EOS."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    Tests all methods used to send commands between Arista L3 Driver and EOS"},{"line_number":41,"context_line":"    to program routing functions in Default VRF"},{"line_number":42,"context_line":"    \"\"\""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ac7a964_024c969d","line":41,"in_reply_to":"7ac7a964_35b71cda","updated":"2014-08-15 23:00:09.000000000","message":"Done","commit_id":"08bf82c64481ac27ed84238009c61258551be124"}]}
