)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":10,"context_line":"an instance id."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I84407455585be8088fa3591b7e5c39f4ce23e7e4"},{"line_number":13,"context_line":"Fixes: Bug #1130749"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAM3%2F%2BlJk%3D","line":13,"updated":"2013-02-26 21:01:13.000000000","message":"Sorry for the nit, but can you change the order of Change-ID and Bug # to conform with expected convention.","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"}],"quantum/plugins/cisco/models/virt_phy_sw_v2.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":326,"context_line":"            host \u003d \u0027\u0027"},{"line_number":327,"context_line":"            if hasattr(conf, \u0027TEST\u0027):"},{"line_number":328,"context_line":"                host \u003d conf.TEST[\u0027host\u0027]"},{"line_number":329,"context_line":"            elif instance_id.startswith(\u0027dhcp\u0027):"},{"line_number":330,"context_line":"                return ovs_output[0]"},{"line_number":331,"context_line":"            elif instance_id:"},{"line_number":332,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BlQc%3D","line":329,"updated":"2013-02-26 19:47:45.000000000","message":"Just for educational purposes, can you elaborate on this check for DHCP in the ID?\n\nI\u0027m guessing that this is to catch when ports are being created as part of a batch, versus VM instance?","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":326,"context_line":"            host \u003d \u0027\u0027"},{"line_number":327,"context_line":"            if hasattr(conf, \u0027TEST\u0027):"},{"line_number":328,"context_line":"                host \u003d conf.TEST[\u0027host\u0027]"},{"line_number":329,"context_line":"            elif instance_id.startswith(\u0027dhcp\u0027):"},{"line_number":330,"context_line":"                return ovs_output[0]"},{"line_number":331,"context_line":"            elif instance_id:"},{"line_number":332,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BjdQ%3D","line":329,"in_reply_to":"AAAAM3%2F%2BlFI%3D","updated":"2013-02-27 16:29:16.000000000","message":"Thanks, I should have checked for the device_owner. fixed","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":326,"context_line":"            host \u003d \u0027\u0027"},{"line_number":327,"context_line":"            if hasattr(conf, \u0027TEST\u0027):"},{"line_number":328,"context_line":"                host \u003d conf.TEST[\u0027host\u0027]"},{"line_number":329,"context_line":"            elif instance_id.startswith(\u0027dhcp\u0027):"},{"line_number":330,"context_line":"                return ovs_output[0]"},{"line_number":331,"context_line":"            elif instance_id:"},{"line_number":332,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BlFI%3D","line":329,"in_reply_to":"AAAAM3%2F%2BlQc%3D","updated":"2013-02-26 21:01:13.000000000","message":"Are you sure you want to check for the instance_id and not the device_owner\u003d\u003d\u0027network:dhcp\u0027?","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":326,"context_line":"            host \u003d \u0027\u0027"},{"line_number":327,"context_line":"            if hasattr(conf, \u0027TEST\u0027):"},{"line_number":328,"context_line":"                host \u003d conf.TEST[\u0027host\u0027]"},{"line_number":329,"context_line":"            elif instance_id.startswith(\u0027dhcp\u0027):"},{"line_number":330,"context_line":"                return ovs_output[0]"},{"line_number":331,"context_line":"            elif instance_id:"},{"line_number":332,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BjdE%3D","line":329,"in_reply_to":"AAAAM3%2F%2BlQc%3D","updated":"2013-02-27 16:29:16.000000000","message":"The quantum DHCP agent creates a port on every network, it sets the device_id as dhcpxxx and device_owner as network:dhcp. This check is to not involve the netxus plugin if it\u0027s  a dhcp agent port.","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":335,"context_line":"                vlan_name \u003d conf.VLAN_NAME_PREFIX + str(vlan_id)"},{"line_number":336,"context_line":"                n_args \u003d [tenant_id, net_name, net_id,"},{"line_number":337,"context_line":"                          vlan_name, vlan_id, host, instance_id]"},{"line_number":338,"context_line":"                nexus_output \u003d \\"},{"line_number":339,"context_line":"                    self._invoke_plugin_per_device("},{"line_number":340,"context_line":"                        const.NEXUS_PLUGIN,"},{"line_number":341,"context_line":"                        \u0027create_network\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BlIg%3D","line":338,"updated":"2013-02-26 21:01:13.000000000","message":"another nit: we seem to be following the convention of not using \u0027\\\u0027 for breaking the line, in this case just indentation should probably work","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":335,"context_line":"                vlan_name \u003d conf.VLAN_NAME_PREFIX + str(vlan_id)"},{"line_number":336,"context_line":"                n_args \u003d [tenant_id, net_name, net_id,"},{"line_number":337,"context_line":"                          vlan_name, vlan_id, host, instance_id]"},{"line_number":338,"context_line":"                nexus_output \u003d \\"},{"line_number":339,"context_line":"                    self._invoke_plugin_per_device("},{"line_number":340,"context_line":"                        const.NEXUS_PLUGIN,"},{"line_number":341,"context_line":"                        \u0027create_network\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BjdA%3D","line":338,"in_reply_to":"AAAAM3%2F%2BlIg%3D","updated":"2013-02-27 16:29:16.000000000","message":"Done","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":376,"context_line":"            tenant_id \u003d old_port[\u0027tenant_id\u0027]"},{"line_number":377,"context_line":"            net_dict \u003d self.get_network(context, net_id)"},{"line_number":378,"context_line":"            net_name \u003d net_dict[\u0027name\u0027]"},{"line_number":379,"context_line":"            vlan_id \u003d self._get_segmentation_id(net_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            # Check if there\u0027s a new device_id"},{"line_number":382,"context_line":"            if instance_id and not old_device:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BlGQ%3D","line":379,"updated":"2013-02-26 21:01:13.000000000","message":"It seems L376 to L379 are only used if L382 is true, suggest moving it under that condition.","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":376,"context_line":"            tenant_id \u003d old_port[\u0027tenant_id\u0027]"},{"line_number":377,"context_line":"            net_dict \u003d self.get_network(context, net_id)"},{"line_number":378,"context_line":"            net_name \u003d net_dict[\u0027name\u0027]"},{"line_number":379,"context_line":"            vlan_id \u003d self._get_segmentation_id(net_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            # Check if there\u0027s a new device_id"},{"line_number":382,"context_line":"            if instance_id and not old_device:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Bjc8%3D","line":379,"in_reply_to":"AAAAM3%2F%2BlGQ%3D","updated":"2013-02-27 16:29:16.000000000","message":"Done","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            vlan_id \u003d self._get_segmentation_id(net_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            # Check if there\u0027s a new device_id"},{"line_number":382,"context_line":"            if instance_id and not old_device:"},{"line_number":383,"context_line":"                # Preallocated port, invoke the nexus plugin now"},{"line_number":384,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"},{"line_number":385,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BlQ0%3D","line":382,"updated":"2013-02-26 19:47:45.000000000","message":"Would it make sense to take the commonality from update_port() and create_port() and pull into a separate function to reduce duplication? The code below for nexus plugin and possibly the code above for net_id, tenant_id, net_name ,...?","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":379,"context_line":"            vlan_id \u003d self._get_segmentation_id(net_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            # Check if there\u0027s a new device_id"},{"line_number":382,"context_line":"            if instance_id and not old_device:"},{"line_number":383,"context_line":"                # Preallocated port, invoke the nexus plugin now"},{"line_number":384,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"},{"line_number":385,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Bjc0%3D","line":382,"in_reply_to":"AAAAM3%2F%2BlGA%3D","updated":"2013-02-27 16:29:16.000000000","message":"I wanted to keep the delta as small as possible as this is a bug fix. There isn\u0027t a some commonality (about 4-5 lines) but it\u0027s negligible overhead.","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":379,"context_line":"            vlan_id \u003d self._get_segmentation_id(net_id)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"            # Check if there\u0027s a new device_id"},{"line_number":382,"context_line":"            if instance_id and not old_device:"},{"line_number":383,"context_line":"                # Preallocated port, invoke the nexus plugin now"},{"line_number":384,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"},{"line_number":385,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BlGA%3D","line":382,"in_reply_to":"AAAAM3%2F%2BlQ0%3D","updated":"2013-02-26 21:01:13.000000000","message":"Agree. might be good to refactor.","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":387,"context_line":"                vlan_name \u003d conf.VLAN_NAME_PREFIX + str(vlan_id)"},{"line_number":388,"context_line":"                n_args \u003d [tenant_id, net_name, net_id,"},{"line_number":389,"context_line":"                          vlan_name, vlan_id, host, instance_id]"},{"line_number":390,"context_line":"                nexus_output \u003d \\"},{"line_number":391,"context_line":"                    self._invoke_plugin_per_device("},{"line_number":392,"context_line":"                        const.NEXUS_PLUGIN,"},{"line_number":393,"context_line":"                        \u0027create_network\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BlHw%3D","line":390,"updated":"2013-02-26 21:01:13.000000000","message":"ditto: \u0027\\\u0027","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":387,"context_line":"                vlan_name \u003d conf.VLAN_NAME_PREFIX + str(vlan_id)"},{"line_number":388,"context_line":"                n_args \u003d [tenant_id, net_name, net_id,"},{"line_number":389,"context_line":"                          vlan_name, vlan_id, host, instance_id]"},{"line_number":390,"context_line":"                nexus_output \u003d \\"},{"line_number":391,"context_line":"                    self._invoke_plugin_per_device("},{"line_number":392,"context_line":"                        const.NEXUS_PLUGIN,"},{"line_number":393,"context_line":"                        \u0027create_network\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Bjcw%3D","line":390,"in_reply_to":"AAAAM3%2F%2BlHw%3D","updated":"2013-02-27 16:29:16.000000000","message":"Done","commit_id":"c4451b53c87467b67511c73389902f6912c730ad"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":327,"context_line":"            host \u003d \u0027\u0027"},{"line_number":328,"context_line":"            if hasattr(conf, \u0027TEST\u0027):"},{"line_number":329,"context_line":"                host \u003d conf.TEST[\u0027host\u0027]"},{"line_number":330,"context_line":"            elif device_owner \u003d\u003d \u0027network:dhcp\u0027:"},{"line_number":331,"context_line":"                return ovs_output[0]"},{"line_number":332,"context_line":"            elif instance_id:"},{"line_number":333,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2BjMU%3D","line":330,"updated":"2013-02-27 18:46:24.000000000","message":"Could the device_owner logic and test for DHCP be put right after the _invoke_plugin_per_device() call, so that all the remaining login, which is related to the create_network, could be extracted to a private function?","commit_id":"8808eeed383023aa570215cbfb8dc57f4d04dd31"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":327,"context_line":"            host \u003d \u0027\u0027"},{"line_number":328,"context_line":"            if hasattr(conf, \u0027TEST\u0027):"},{"line_number":329,"context_line":"                host \u003d conf.TEST[\u0027host\u0027]"},{"line_number":330,"context_line":"            elif device_owner \u003d\u003d \u0027network:dhcp\u0027:"},{"line_number":331,"context_line":"                return ovs_output[0]"},{"line_number":332,"context_line":"            elif instance_id:"},{"line_number":333,"context_line":"                host \u003d self._get_instance_host(tenant_id, instance_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAANH%2F%2F%2F%2BQ%3D","line":330,"in_reply_to":"AAAAM3%2F%2BjMU%3D","updated":"2013-02-27 23:26:30.000000000","message":"Done","commit_id":"8808eeed383023aa570215cbfb8dc57f4d04dd31"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":376,"context_line":""},{"line_number":377,"context_line":"            # Check if there\u0027s a new device_id"},{"line_number":378,"context_line":"            if instance_id and not old_device:"},{"line_number":379,"context_line":"                tenant_id \u003d old_port[\u0027tenant_id\u0027]"},{"line_number":380,"context_line":"                net_dict \u003d self.get_network(context, net_id)"},{"line_number":381,"context_line":"                net_name \u003d net_dict[\u0027name\u0027]"},{"line_number":382,"context_line":"                vlan_id \u003d self._get_segmentation_id(net_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2BjMo%3D","line":379,"updated":"2013-02-27 18:46:24.000000000","message":"Refactor common network create steps from create_port() and update_port() into common function to remove duplication?","commit_id":"8808eeed383023aa570215cbfb8dc57f4d04dd31"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":376,"context_line":""},{"line_number":377,"context_line":"            # Check if there\u0027s a new device_id"},{"line_number":378,"context_line":"            if instance_id and not old_device:"},{"line_number":379,"context_line":"                tenant_id \u003d old_port[\u0027tenant_id\u0027]"},{"line_number":380,"context_line":"                net_dict \u003d self.get_network(context, net_id)"},{"line_number":381,"context_line":"                net_name \u003d net_dict[\u0027name\u0027]"},{"line_number":382,"context_line":"                vlan_id \u003d self._get_segmentation_id(net_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAANH%2F%2F%2F5I%3D","line":379,"in_reply_to":"AAAAM3%2F%2BjMo%3D","updated":"2013-02-27 23:26:30.000000000","message":"Done","commit_id":"8808eeed383023aa570215cbfb8dc57f4d04dd31"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        return nexus_output"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    def create_port(self, context, port):"},{"line_number":328,"context_line":"        \"\"\""},{"line_number":329,"context_line":"        Perform this operation in the context of the configured device"},{"line_number":330,"context_line":"        plugins."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2FSQ%3D","line":327,"updated":"2013-02-28 11:36:37.000000000","message":"Should there be a test case to exercise the path where there is no instance id?","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        return nexus_output"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    def create_port(self, context, port):"},{"line_number":328,"context_line":"        \"\"\""},{"line_number":329,"context_line":"        Perform this operation in the context of the configured device"},{"line_number":330,"context_line":"        plugins."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2BxI%3D","line":327,"in_reply_to":"AAAANH%2F%2F%2B8s%3D","updated":"2013-02-28 18:29:21.000000000","message":"Do those tests exercised both paths - with an instance id and without an instance id?","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        return nexus_output"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"    def create_port(self, context, port):"},{"line_number":328,"context_line":"        \"\"\""},{"line_number":329,"context_line":"        Perform this operation in the context of the configured device"},{"line_number":330,"context_line":"        plugins."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2B8s%3D","line":327,"in_reply_to":"AAAANH%2F%2F%2FSQ%3D","updated":"2013-02-28 17:50:13.000000000","message":"We already run all the quantum update_port tests","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":362,"context_line":"        \"\"\"For this model this method will be delegated to vswitch plugin\"\"\""},{"line_number":363,"context_line":"        pass"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    def update_port(self, context, id, port):"},{"line_number":366,"context_line":"        \"\"\""},{"line_number":367,"context_line":"        Perform this operation in the context of the configured device"},{"line_number":368,"context_line":"        plugins."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2FSM%3D","line":365,"updated":"2013-02-28 11:36:37.000000000","message":"Is there a test case for this new function implementation?","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":362,"context_line":"        \"\"\"For this model this method will be delegated to vswitch plugin\"\"\""},{"line_number":363,"context_line":"        pass"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    def update_port(self, context, id, port):"},{"line_number":366,"context_line":"        \"\"\""},{"line_number":367,"context_line":"        Perform this operation in the context of the configured device"},{"line_number":368,"context_line":"        plugins."}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2B8w%3D","line":365,"in_reply_to":"AAAANH%2F%2F%2FSM%3D","updated":"2013-02-28 17:50:13.000000000","message":"we run all the quantum update_port tests.","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":378,"context_line":"            ovs_output \u003d self._invoke_plugin_per_device(const.VSWITCH_PLUGIN,"},{"line_number":379,"context_line":"                                                        self._func_name(),"},{"line_number":380,"context_line":"                                                        args)"},{"line_number":381,"context_line":"            net_id \u003d old_port[\u0027network_id\u0027]"},{"line_number":382,"context_line":"            instance_id \u003d \u0027\u0027"},{"line_number":383,"context_line":"            if \u0027device_id\u0027 in port[\u0027port\u0027].keys():"},{"line_number":384,"context_line":"                instance_id \u003d port[\u0027port\u0027][\u0027device_id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2FSI%3D","line":381,"updated":"2013-02-28 11:36:37.000000000","message":"Just for consistency with create_port(), net_id could be set when tenant_id is set, below.\n\nIn addition, both could be pushed to _invoke_nexus_for_net_create() by passing in old_port object (port, in case of create_port()).","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"c7d1649f3b5d0f2d21b2125bfbb9f05cdb5c78ba","unresolved":false,"context_lines":[{"line_number":378,"context_line":"            ovs_output \u003d self._invoke_plugin_per_device(const.VSWITCH_PLUGIN,"},{"line_number":379,"context_line":"                                                        self._func_name(),"},{"line_number":380,"context_line":"                                                        args)"},{"line_number":381,"context_line":"            net_id \u003d old_port[\u0027network_id\u0027]"},{"line_number":382,"context_line":"            instance_id \u003d \u0027\u0027"},{"line_number":383,"context_line":"            if \u0027device_id\u0027 in port[\u0027port\u0027].keys():"},{"line_number":384,"context_line":"                instance_id \u003d port[\u0027port\u0027][\u0027device_id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2BxQ%3D","line":381,"in_reply_to":"AAAANH%2F%2F%2B8c%3D","updated":"2013-02-28 18:29:21.000000000","message":"I guess I was thinking _invoke_nexus_for_net_create() could be passed old_port for update_port and be passed port[\u0027port\u0027] for create_port(), instead of being passed the tenant_id and net_id. Inside the function, it could extract the \u0027network_id\u0027 and \u0027tenant_id\u0027 dictionary items. Just a thought.","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":378,"context_line":"            ovs_output \u003d self._invoke_plugin_per_device(const.VSWITCH_PLUGIN,"},{"line_number":379,"context_line":"                                                        self._func_name(),"},{"line_number":380,"context_line":"                                                        args)"},{"line_number":381,"context_line":"            net_id \u003d old_port[\u0027network_id\u0027]"},{"line_number":382,"context_line":"            instance_id \u003d \u0027\u0027"},{"line_number":383,"context_line":"            if \u0027device_id\u0027 in port[\u0027port\u0027].keys():"},{"line_number":384,"context_line":"                instance_id \u003d port[\u0027port\u0027][\u0027device_id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2Bto%3D","line":381,"in_reply_to":"AAAANH%2F%2F%2BxQ%3D","updated":"2013-02-28 18:59:25.000000000","message":"I don\u0027t see any value in doing that other than save maybe a line of code.","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":378,"context_line":"            ovs_output \u003d self._invoke_plugin_per_device(const.VSWITCH_PLUGIN,"},{"line_number":379,"context_line":"                                                        self._func_name(),"},{"line_number":380,"context_line":"                                                        args)"},{"line_number":381,"context_line":"            net_id \u003d old_port[\u0027network_id\u0027]"},{"line_number":382,"context_line":"            instance_id \u003d \u0027\u0027"},{"line_number":383,"context_line":"            if \u0027device_id\u0027 in port[\u0027port\u0027].keys():"},{"line_number":384,"context_line":"                instance_id \u003d port[\u0027port\u0027][\u0027device_id\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2B8c%3D","line":381,"in_reply_to":"AAAANH%2F%2F%2FSI%3D","updated":"2013-02-28 17:50:13.000000000","message":"The dictionary structure is different . I cannot pass old_port as is without modification and that would mean more lines of code just to pass in a dict. things like network_id are not part of the new port dictionary while instance_id is not part of the old_port dict.","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":390,"context_line":"                    context, tenant_id, net_id, instance_id)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            return ovs_output[0]"},{"line_number":393,"context_line":"        except:"},{"line_number":394,"context_line":"            raise"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def delete_port(self, context, id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2FsY%3D","line":393,"updated":"2013-02-28 02:06:09.000000000","message":"Why do you have this wrapped in a try except and don\u0027t handle any error and then raise!","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":390,"context_line":"                    context, tenant_id, net_id, instance_id)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            return ovs_output[0]"},{"line_number":393,"context_line":"        except:"},{"line_number":394,"context_line":"            raise"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def delete_port(self, context, id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2BwI%3D","line":393,"in_reply_to":"AAAANH%2F%2F%2B6E%3D","updated":"2013-02-28 18:41:20.000000000","message":"Still having this in a try: ... except: raise is pointless","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":390,"context_line":"                    context, tenant_id, net_id, instance_id)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            return ovs_output[0]"},{"line_number":393,"context_line":"        except:"},{"line_number":394,"context_line":"            raise"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def delete_port(self, context, id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2BnY%3D","line":393,"in_reply_to":"AAAANH%2F%2F%2BtQ%3D","updated":"2013-02-28 19:39:44.000000000","message":"yes this doesn\u0027t cause any bug but it isn\u0027t needed and will make the exception that would be raised here from somewhere else more cryptic.","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":107,"name":"Arvind Somya","email":"arvind.somya@gmail.com","username":"asomya"},"unresolved":false,"context_lines":[{"line_number":390,"context_line":"                    context, tenant_id, net_id, instance_id)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            return ovs_output[0]"},{"line_number":393,"context_line":"        except:"},{"line_number":394,"context_line":"            raise"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def delete_port(self, context, id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2BtQ%3D","line":393,"in_reply_to":"AAAANH%2F%2F%2BwI%3D","updated":"2013-02-28 18:59:25.000000000","message":"alright, I don\u0027t see why this is an issue but I\u0027ll remove the wrapper anyways.","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":390,"context_line":"                    context, tenant_id, net_id, instance_id)"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"            return ovs_output[0]"},{"line_number":393,"context_line":"        except:"},{"line_number":394,"context_line":"            raise"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"    def delete_port(self, context, id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAANH%2F%2F%2B6E%3D","line":393,"in_reply_to":"AAAANH%2F%2F%2FsY%3D","updated":"2013-02-28 17:13:57.000000000","message":"I believe this is being done to account for any exceptions being raised by the delegated plugin (OVS in this case). There is probably nothing to process locally in case of the exception, so I don\u0027t see an issue with doing it this way.","commit_id":"08692e2a62f4eac91a03bf2fd597d1f6fc2e7c53"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":310,"context_line":"        net_name \u003d net_dict[\u0027name\u0027]"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"        vlan_id \u003d self._get_segmentation_id(net_id)"},{"line_number":313,"context_line":"        host \u003d \u0027\u0027"},{"line_number":314,"context_line":"        host \u003d self._get_instance_host(tenant_id, instance_id)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        # Trunk segmentation id for only this host"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAANH%2F%2F92s%3D","line":313,"updated":"2013-03-01 06:02:50.000000000","message":"Seems like this line can be dropped since host is assigned again on the next line.","commit_id":"6f01818ec040eda7c8e328d39f6a37fd3330a500"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"unresolved":false,"context_lines":[{"line_number":379,"context_line":"                                                    args)"},{"line_number":380,"context_line":"        net_id \u003d old_port[\u0027network_id\u0027]"},{"line_number":381,"context_line":"        instance_id \u003d \u0027\u0027"},{"line_number":382,"context_line":"        if \u0027device_id\u0027 in port[\u0027port\u0027].keys():"},{"line_number":383,"context_line":"            instance_id \u003d port[\u0027port\u0027][\u0027device_id\u0027]"},{"line_number":384,"context_line":""},{"line_number":385,"context_line":"        # Check if there\u0027s a new device_id"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAANH%2F%2F92w%3D","line":382,"updated":"2013-03-01 06:02:50.000000000","message":".keys() is not needed:\n\nif \u0027device_id\u0027 in port[\u0027port\u0027]:","commit_id":"6f01818ec040eda7c8e328d39f6a37fd3330a500"}]}
