)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"83980090198fdd7285579a719a34825a8bf6cd39","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"network: Unchain _get_phynet_info from _get_port_vnic_info"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In a future change, we\u0027re going to want to retrieve physnet for an"},{"line_number":10,"context_line":"information for both requests with port IDs and those with networks IDs."},{"line_number":11,"context_line":"In order to do that, we need to split getting information about a"},{"line_number":12,"context_line":"network\u0027s physnet from getting information about a port\u0027s vNIC type."},{"line_number":13,"context_line":"Along the way, the following modifications are made to make this a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f6a8fd7_013497dd","line":10,"range":{"start_line":9,"start_character":43,"end_line":10,"end_character":15},"updated":"2018-04-27 13:09:03.000000000","message":"my parser failed here","commit_id":"709a750f23dc5f0f0a523326038844bee8aa45bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6cb23a03d16234c411d6cfbe524b37212d861573","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"network: Unchain _get_phynet_info from _get_port_vnic_info"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In a future change, we\u0027re going to want to retrieve physnet for an"},{"line_number":10,"context_line":"information for both requests with port IDs and those with networks IDs."},{"line_number":11,"context_line":"In order to do that, we need to split getting information about a"},{"line_number":12,"context_line":"network\u0027s physnet from getting information about a port\u0027s vNIC type."},{"line_number":13,"context_line":"Along the way, the following modifications are made to make this a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9f6a8fd7_f7d8411f","line":10,"range":{"start_line":9,"start_character":43,"end_line":10,"end_character":15},"in_reply_to":"9f6a8fd7_013497dd","updated":"2018-04-27 14:38:43.000000000","message":"Heh, my bad. What I meant to say was:\n\n  In a future change, we\u0027re going to want to retrieve physnet information\n  for networks even when we\u0027re only provided with a networks ID.","commit_id":"709a750f23dc5f0f0a523326038844bee8aa45bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"aec65d5bce0af4b378565e6fa38060344ef76acd","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"network: Unchain _get_phynet_info from _get_port_vnic_info"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In a future change, we\u0027re going to want to retrieve physnet for an"},{"line_number":10,"context_line":"information for both requests with port IDs and those with networks IDs."},{"line_number":11,"context_line":"In order to do that, we need to split getting information about a"},{"line_number":12,"context_line":"network\u0027s physnet from getting information about a port\u0027s vNIC type."},{"line_number":13,"context_line":"Along the way, the following modifications are made to make this a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f7c97a3_06d6d1c6","line":10,"range":{"start_line":9,"start_character":43,"end_line":10,"end_character":15},"in_reply_to":"9f6a8fd7_f7d8411f","updated":"2018-05-07 13:50:22.000000000","message":"Done","commit_id":"709a750f23dc5f0f0a523326038844bee8aa45bc"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b1953ce68a33e9cd3ff8f5ee03c46a32a9c800c0","unresolved":false,"context_lines":[{"line_number":13,"context_line":"port\u0027s vNIC type. Along the way, the following modifications are made to"},{"line_number":14,"context_line":"make this a little easier to parse:"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"- Rename \u0027_get_phynet_info\u0027 to \u0027_get_network_info\u0027 to better reflect its"},{"line_number":17,"context_line":"  purpose and provide a broader scope for future changes"},{"line_number":18,"context_line":"- Replace references to \u0027phynet\u0027 with the more common \u0027physnet\u0027"},{"line_number":19,"context_line":"- Reduce the scope of some unit tests to focus on the individual"},{"line_number":20,"context_line":"  functions"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Part of blueprint numa-aware-vswitches"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_a95ef776","line":20,"range":{"start_line":16,"start_character":0,"end_line":20,"end_character":11},"updated":"2018-06-15 09:05:51.000000000","message":"I would have not did all of that in the same commit Stephen.\n\nThe best would have been to only move out _get_phynet_info from get_port_vnic_info and bside of that provide some patches with your cleaning.\n\nIs that possible you just move the function for the serie? so we can focus on what is necessary ?","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c70fe4ef908cd9670c1305c724903d02032831df","unresolved":false,"context_lines":[{"line_number":13,"context_line":"port\u0027s vNIC type. Along the way, the following modifications are made to"},{"line_number":14,"context_line":"make this a little easier to parse:"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"- Rename \u0027_get_phynet_info\u0027 to \u0027_get_network_info\u0027 to better reflect its"},{"line_number":17,"context_line":"  purpose and provide a broader scope for future changes"},{"line_number":18,"context_line":"- Replace references to \u0027phynet\u0027 with the more common \u0027physnet\u0027"},{"line_number":19,"context_line":"- Reduce the scope of some unit tests to focus on the individual"},{"line_number":20,"context_line":"  functions"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Part of blueprint numa-aware-vswitches"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_e06159aa","line":20,"range":{"start_line":16,"start_character":0,"end_line":20,"end_character":11},"in_reply_to":"5f7c97a3_a95ef776","updated":"2018-06-21 10:34:16.000000000","message":"Not completely. The third point here is required by the main change (given that the \u0027_get_port_vnic_info\u0027 no longer returns things like physnet info. The other two are a little more gratuitous though so I\u0027ll split those out","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"83980090198fdd7285579a719a34825a8bf6cd39","unresolved":false,"context_lines":[{"line_number":1528,"context_line":"        :param neutron: The neutron client object."},{"line_number":1529,"context_line":"        :param net_id: The ID of the network to retrieve information for."},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        :return: Value of ``provider:physical_network`` attribute for network"},{"line_number":1532,"context_line":"            if defined, else None."},{"line_number":1533,"context_line":"        \"\"\""},{"line_number":1534,"context_line":"        if self._has_multi_provider_extension(context, neutron\u003dneutron):"},{"line_number":1535,"context_line":"            network \u003d neutron.show_network(net_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_01b7b73c","line":1532,"range":{"start_line":1531,"start_character":17,"end_line":1532,"end_character":34},"updated":"2018-04-27 13:09:03.000000000","message":"To be correct this will be the provider:physical_network value from the first segment of the network that defines that value if there are network segments.","commit_id":"709a750f23dc5f0f0a523326038844bee8aa45bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6cb23a03d16234c411d6cfbe524b37212d861573","unresolved":false,"context_lines":[{"line_number":1528,"context_line":"        :param neutron: The neutron client object."},{"line_number":1529,"context_line":"        :param net_id: The ID of the network to retrieve information for."},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        :return: Value of ``provider:physical_network`` attribute for network"},{"line_number":1532,"context_line":"            if defined, else None."},{"line_number":1533,"context_line":"        \"\"\""},{"line_number":1534,"context_line":"        if self._has_multi_provider_extension(context, neutron\u003dneutron):"},{"line_number":1535,"context_line":"            network \u003d neutron.show_network(net_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f6a8fd7_d7097d95","line":1532,"range":{"start_line":1531,"start_character":17,"end_line":1532,"end_character":34},"in_reply_to":"9f6a8fd7_01b7b73c","updated":"2018-04-27 14:38:43.000000000","message":"Correct. I\u0027ll address this.","commit_id":"709a750f23dc5f0f0a523326038844bee8aa45bc"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"aec65d5bce0af4b378565e6fa38060344ef76acd","unresolved":false,"context_lines":[{"line_number":1528,"context_line":"        :param neutron: The neutron client object."},{"line_number":1529,"context_line":"        :param net_id: The ID of the network to retrieve information for."},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"        :return: Value of ``provider:physical_network`` attribute for network"},{"line_number":1532,"context_line":"            if defined, else None."},{"line_number":1533,"context_line":"        \"\"\""},{"line_number":1534,"context_line":"        if self._has_multi_provider_extension(context, neutron\u003dneutron):"},{"line_number":1535,"context_line":"            network \u003d neutron.show_network(net_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_46c369ee","line":1532,"range":{"start_line":1531,"start_character":17,"end_line":1532,"end_character":34},"in_reply_to":"9f6a8fd7_d7097d95","updated":"2018-05-07 13:50:22.000000000","message":"Done","commit_id":"709a750f23dc5f0f0a523326038844bee8aa45bc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5f780ce4dbe13857b0d473af743eee893b914678","unresolved":false,"context_lines":[{"line_number":1522,"context_line":"        raise exception.FixedIpNotFoundForSpecificInstance("},{"line_number":1523,"context_line":"                instance_uuid\u003dinstance.uuid, ip\u003daddress)"},{"line_number":1524,"context_line":""},{"line_number":1525,"context_line":"    def _get_network_info(self, context, neutron, net_id):"},{"line_number":1526,"context_line":"        \"\"\"Retrieve detailed network info."},{"line_number":1527,"context_line":""},{"line_number":1528,"context_line":"        :param context: The request context."}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_2660ad0d","line":1525,"updated":"2018-06-18 13:58:35.000000000","message":"If you\u0027re cleaning things up, it sounds like this should be called \"_get_network_physnet_info()\" ?","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c70fe4ef908cd9670c1305c724903d02032831df","unresolved":false,"context_lines":[{"line_number":1522,"context_line":"        raise exception.FixedIpNotFoundForSpecificInstance("},{"line_number":1523,"context_line":"                instance_uuid\u003dinstance.uuid, ip\u003daddress)"},{"line_number":1524,"context_line":""},{"line_number":1525,"context_line":"    def _get_network_info(self, context, neutron, net_id):"},{"line_number":1526,"context_line":"        \"\"\"Retrieve detailed network info."},{"line_number":1527,"context_line":""},{"line_number":1528,"context_line":"        :param context: The request context."}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_07f43d5a","line":1525,"in_reply_to":"5f7c97a3_2660ad0d","updated":"2018-06-21 10:34:16.000000000","message":"That\u0027s what I had called it initially [1] but a subsequent change modifies this to also return tunnel information. I\u0027m preempting that change here","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5f780ce4dbe13857b0d473af743eee893b914678","unresolved":false,"context_lines":[{"line_number":1529,"context_line":"        :param neutron: The neutron client object."},{"line_number":1530,"context_line":"        :param net_id: The ID of the network to retrieve information for."},{"line_number":1531,"context_line":""},{"line_number":1532,"context_line":"        :return: Value of ``provider:physical_network`` attribute for network"},{"line_number":1533,"context_line":"            if defined, else None. If a the network uses multiple segments, the"},{"line_number":1534,"context_line":"            first segment that defines this value will be used."},{"line_number":1535,"context_line":"        \"\"\""},{"line_number":1536,"context_line":"        if self._has_multi_provider_extension(context, neutron\u003dneutron):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_26ed0d8e","line":1533,"range":{"start_line":1532,"start_character":17,"end_line":1533,"end_character":22},"updated":"2018-06-18 13:58:35.000000000","message":"Can you indicate in here that the \"value\" is the \"name\"? Because before I read the old code side, I was thinking you were returning the name sometimes (L1552), and the value of this field other times (L1563).","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bf26a0993a9d7c86cafb2050868ebcfd53fad877","unresolved":false,"context_lines":[{"line_number":1529,"context_line":"        :param neutron: The neutron client object."},{"line_number":1530,"context_line":"        :param net_id: The ID of the network to retrieve information for."},{"line_number":1531,"context_line":""},{"line_number":1532,"context_line":"        :return: Value of ``provider:physical_network`` attribute for network"},{"line_number":1533,"context_line":"            if defined, else None. If a the network uses multiple segments, the"},{"line_number":1534,"context_line":"            first segment that defines this value will be used."},{"line_number":1535,"context_line":"        \"\"\""},{"line_number":1536,"context_line":"        if self._has_multi_provider_extension(context, neutron\u003dneutron):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_7696004c","line":1533,"range":{"start_line":1532,"start_character":17,"end_line":1533,"end_character":22},"in_reply_to":"5f7c97a3_26ed0d8e","updated":"2018-06-21 14:52:04.000000000","message":"Done","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b1953ce68a33e9cd3ff8f5ee03c46a32a9c800c0","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"        \"\"\""},{"line_number":1536,"context_line":"        if self._has_multi_provider_extension(context, neutron\u003dneutron):"},{"line_number":1537,"context_line":"            network \u003d neutron.show_network(net_id,"},{"line_number":1538,"context_line":"                                           fields\u003d\u0027segments\u0027).get(\u0027network\u0027)"},{"line_number":1539,"context_line":"            segments \u003d network.get(\u0027segments\u0027, {})"},{"line_number":1540,"context_line":"            for net in segments:"},{"line_number":1541,"context_line":"                # NOTE(vladikr): In general, \"multi-segments\" network is a"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_29cc2789","line":1538,"range":{"start_line":1538,"start_character":50,"end_line":1538,"end_character":60},"updated":"2018-06-15 09:05:51.000000000","message":"We can probably add \u0027provider:physical_network\u0027 here And rework a bit the algo:\n\n  if segments:\n    for net in sgements:\n      ...\n      return physnet_name\n    raise exception.NovaException()\n\n  return network.get(\u0027provider:physical_network\u0027).get(\u0027network\u0027)","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bf26a0993a9d7c86cafb2050868ebcfd53fad877","unresolved":false,"context_lines":[{"line_number":1535,"context_line":"        \"\"\""},{"line_number":1536,"context_line":"        if self._has_multi_provider_extension(context, neutron\u003dneutron):"},{"line_number":1537,"context_line":"            network \u003d neutron.show_network(net_id,"},{"line_number":1538,"context_line":"                                           fields\u003d\u0027segments\u0027).get(\u0027network\u0027)"},{"line_number":1539,"context_line":"            segments \u003d network.get(\u0027segments\u0027, {})"},{"line_number":1540,"context_line":"            for net in segments:"},{"line_number":1541,"context_line":"                # NOTE(vladikr): In general, \"multi-segments\" network is a"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_b6901850","line":1538,"range":{"start_line":1538,"start_character":50,"end_line":1538,"end_character":60},"in_reply_to":"5f7c97a3_29cc2789","updated":"2018-06-21 14:52:04.000000000","message":"Agreed, but I might keep that to a separate patch at the end, if that\u0027s OK?","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5f780ce4dbe13857b0d473af743eee893b914678","unresolved":false,"context_lines":[{"line_number":1560,"context_line":""},{"line_number":1561,"context_line":"        net \u003d neutron.show_network("},{"line_number":1562,"context_line":"            net_id, fields\u003d[\u0027provider:physical_network\u0027]).get(\u0027network\u0027)"},{"line_number":1563,"context_line":"        return net.get(\u0027provider:physical_network\u0027)"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":"    @staticmethod"},{"line_number":1566,"context_line":"    def _get_trusted_mode_from_port(port):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_06ec918d","line":1563,"updated":"2018-06-18 13:58:35.000000000","message":"All the cleanup in this function could be done in a separate patch.","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bf26a0993a9d7c86cafb2050868ebcfd53fad877","unresolved":false,"context_lines":[{"line_number":1560,"context_line":""},{"line_number":1561,"context_line":"        net \u003d neutron.show_network("},{"line_number":1562,"context_line":"            net_id, fields\u003d[\u0027provider:physical_network\u0027]).get(\u0027network\u0027)"},{"line_number":1563,"context_line":"        return net.get(\u0027provider:physical_network\u0027)"},{"line_number":1564,"context_line":""},{"line_number":1565,"context_line":"    @staticmethod"},{"line_number":1566,"context_line":"    def _get_trusted_mode_from_port(port):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_16bb0ce5","line":1563,"in_reply_to":"5f7c97a3_06ec918d","updated":"2018-06-21 14:52:04.000000000","message":"Done","commit_id":"86dfa12af964756bf8ec188d4a811d1b6e5b7a22"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6bd1c11a4b23bad559bf4d24a7cc393e7e4a2deb","unresolved":false,"context_lines":[{"line_number":1605,"context_line":"            if request_net.port_id:"},{"line_number":1606,"context_line":"                network_id \u003d self._show_port("},{"line_number":1607,"context_line":"                    context, request_net.port_id, neutron_client\u003dneutron,"},{"line_number":1608,"context_line":"                    fields\u003d[\u0027network_id\u0027])[\u0027network_id\u0027]"},{"line_number":1609,"context_line":"                phynet_name \u003d self._get_phynet_info("},{"line_number":1610,"context_line":"                    context, neutron, network_id)"},{"line_number":1611,"context_line":"                vnic_type, trusted \u003d self._get_port_vnic_info("}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_485eb913","line":1608,"updated":"2018-06-21 18:59:42.000000000","message":"I was going to comment in the previous set that this is adding another show call, which seems bad, given that we\u0027re doing basically two shows of the same port back to back with different things in mind.\n\nI know you want to separate the phynet part out, but if we returned the network_id from _get_port_vnic_info() we could avoid this extra show right?","commit_id":"5310122b36c329207e6e4e629b2efcb466a41b76"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8c83055f7f62b822503c789017fdc05ff1eaad3f","unresolved":false,"context_lines":[{"line_number":1605,"context_line":"            if request_net.port_id:"},{"line_number":1606,"context_line":"                network_id \u003d self._show_port("},{"line_number":1607,"context_line":"                    context, request_net.port_id, neutron_client\u003dneutron,"},{"line_number":1608,"context_line":"                    fields\u003d[\u0027network_id\u0027])[\u0027network_id\u0027]"},{"line_number":1609,"context_line":"                phynet_name \u003d self._get_phynet_info("},{"line_number":1610,"context_line":"                    context, neutron, network_id)"},{"line_number":1611,"context_line":"                vnic_type, trusted \u003d self._get_port_vnic_info("}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_f21f6a06","line":1608,"in_reply_to":"5f7c97a3_485eb913","updated":"2018-06-22 09:51:33.000000000","message":"I agree with Dan here. The bandwidth series also needs additional port information and I also would like to get that without introducing yet another port show call.\n\nCan we do a structure like:\n\ngather_port_information():\n   for req in requested_networks:\n       if req is a port:\n           port \u003d show_port(req)  # the only show_port call\n           get_port_vnic_info(port)\n           get_physnet(port)\n           # later on I will add \n           get_resource_request(port)\n       elif req is a network:\n           network \u003d show_network(req)  \n           get_physnet(network)\n           ...","commit_id":"5310122b36c329207e6e4e629b2efcb466a41b76"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"10690c4bbc16c1b8b2c2016f7c1f9cebbf2b5ada","unresolved":false,"context_lines":[{"line_number":1605,"context_line":"            if request_net.port_id:"},{"line_number":1606,"context_line":"                network_id \u003d self._show_port("},{"line_number":1607,"context_line":"                    context, request_net.port_id, neutron_client\u003dneutron,"},{"line_number":1608,"context_line":"                    fields\u003d[\u0027network_id\u0027])[\u0027network_id\u0027]"},{"line_number":1609,"context_line":"                phynet_name \u003d self._get_phynet_info("},{"line_number":1610,"context_line":"                    context, neutron, network_id)"},{"line_number":1611,"context_line":"                vnic_type, trusted \u003d self._get_port_vnic_info("}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_d27b4926","line":1608,"in_reply_to":"5f7c97a3_f21f6a06","updated":"2018-06-22 14:43:58.000000000","message":"\u003e I agree with Dan here. The bandwidth series also needs additional\n \u003e port information and I also would like to get that without\n \u003e introducing yet another port show call.\n \u003e \n \u003e Can we do a structure like:\n \u003e \n \u003e   gather_port_information():\n \u003e       for req in requested_networks:\n \u003e           if req is a port:\n \u003e               port \u003d show_port(req)  # the only show_port call\n \u003e               get_port_vnic_info(port)\n \u003e               get_physnet(port)\n \u003e               # later on I will add\n \u003e               get_resource_request(port)\n \u003e           elif req is a network:\n \u003e               network \u003d show_network(req)\n \u003e               get_physnet(network)\n \u003e               ...\n\nI\u0027ve done a variant of this. Lemme know what you think","commit_id":"5310122b36c329207e6e4e629b2efcb466a41b76"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6bd1c11a4b23bad559bf4d24a7cc393e7e4a2deb","unresolved":false,"context_lines":[{"line_number":1614,"context_line":"                          \"vnic_type\u003d%s, phynet_name\u003d%s, trusted\u003d%s\","},{"line_number":1615,"context_line":"                          request_net.port_id, vnic_type, phynet_name,"},{"line_number":1616,"context_line":"                          trusted)"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"            pci_request_id \u003d None"},{"line_number":1619,"context_line":"            if vnic_type in network_model.VNIC_TYPES_SRIOV:"},{"line_number":1620,"context_line":"                # TODO(moshele): To differentiate between the SR-IOV legacy"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_282c9d97","line":1617,"updated":"2018-06-21 18:59:42.000000000","message":"Random whitespace","commit_id":"5310122b36c329207e6e4e629b2efcb466a41b76"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"10690c4bbc16c1b8b2c2016f7c1f9cebbf2b5ada","unresolved":false,"context_lines":[{"line_number":1614,"context_line":"                          \"vnic_type\u003d%s, phynet_name\u003d%s, trusted\u003d%s\","},{"line_number":1615,"context_line":"                          request_net.port_id, vnic_type, phynet_name,"},{"line_number":1616,"context_line":"                          trusted)"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"            pci_request_id \u003d None"},{"line_number":1619,"context_line":"            if vnic_type in network_model.VNIC_TYPES_SRIOV:"},{"line_number":1620,"context_line":"                # TODO(moshele): To differentiate between the SR-IOV legacy"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_b2c00d4c","line":1617,"in_reply_to":"5f7c97a3_282c9d97","updated":"2018-06-22 14:43:58.000000000","message":"Done","commit_id":"5310122b36c329207e6e4e629b2efcb466a41b76"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2f98c65745e2687335cc3aabfe9a9e91a1afaa41","unresolved":false,"context_lines":[{"line_number":1609,"context_line":"                vnic_type, trusted, network_id \u003d self._get_port_vnic_info("},{"line_number":1610,"context_line":"                    context, neutron, request_net.port_id)"},{"line_number":1611,"context_line":"                phynet_name \u003d self._get_phynet_info("},{"line_number":1612,"context_line":"                    context, neutron, network_id)"},{"line_number":1613,"context_line":"                LOG.debug(\"Creating PCI device request for port_id\u003d%s, \""},{"line_number":1614,"context_line":"                          \"vnic_type\u003d%s, phynet_name\u003d%s, trusted\u003d%s\","},{"line_number":1615,"context_line":"                          request_net.port_id, vnic_type, phynet_name,"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_c1783a2c","line":1612,"updated":"2018-06-25 12:51:49.000000000","message":"This structure looks good based on the shape of it in later patches","commit_id":"d137fd1b64624e9e4c2ea87b69c3a85614441e4d"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2f98c65745e2687335cc3aabfe9a9e91a1afaa41","unresolved":false,"context_lines":[{"line_number":3148,"context_line":"        self.assertEqual(\u0027phynet10\u0027, physnet_name)"},{"line_number":3149,"context_line":""},{"line_number":3150,"context_line":"    @mock.patch.object(neutronapi, \u0027get_client\u0027, return_value\u003dmock.Mock())"},{"line_number":3151,"context_line":"    def test_get_phynset_info_vlan_with_multi_segment_ext("},{"line_number":3152,"context_line":"            self, mock_get_client):"},{"line_number":3153,"context_line":"        api \u003d neutronapi.API()"},{"line_number":3154,"context_line":"        self.mox.ResetAll()"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_a1dc1e74","line":3151,"updated":"2018-06-25 12:51:49.000000000","message":"I think it is a good chance to rename the test in a way that shows the differences between the test in \ntest_get_phynet_info_multi_segment and in test_get_phynset_info_vlan_with_multi_segment_ext\n\nBoth test uses multisegment extension but the first one has multiple segments while the second only has one.\n\nBtw test_get_phynset_info_vlan_with_multi_segment_ext has a typo: s/phynset/physnet/","commit_id":"d137fd1b64624e9e4c2ea87b69c3a85614441e4d"}]}
