)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"20c62dcb092a900b282536ec6942ed58c2f6d74b","unresolved":false,"context_lines":[{"line_number":964,"context_line":"                for iface in ifaces]"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) To avoid the ports currently alloacated being"},{"line_number":968,"context_line":"            # populated into cache by other threads, remove it from ifaces and"},{"line_number":969,"context_line":"            # put them into cache in the order of port_ids"},{"line_number":970,"context_line":"            ifaceids \u003d [iface[\u0027id\u0027] for iface in ifaces"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_674b5e88","line":967,"updated":"2015-12-07 08:30:46.000000000","message":"alloacated \u003d\u003e allocated","commit_id":"3b545855f07746c4b22b83602ba9fbba848cd9ba"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"2f1f1fafc9509fb4204239909a352879573fea09","unresolved":false,"context_lines":[{"line_number":964,"context_line":"                for iface in ifaces]"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) To avoid the ports currently alloacated being"},{"line_number":968,"context_line":"            # populated into cache by other threads, remove it from ifaces and"},{"line_number":969,"context_line":"            # put them into cache in the order of port_ids"},{"line_number":970,"context_line":"            ifaceids \u003d [iface[\u0027id\u0027] for iface in ifaces"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_b29426e2","line":967,"in_reply_to":"7a740942_674b5e88","updated":"2015-12-07 08:51:26.000000000","message":"garyk, a good catch.","commit_id":"3b545855f07746c4b22b83602ba9fbba848cd9ba"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"86e0dfca2f8df2188a599869b3c445f14f74c95a","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                {\u0027id\u0027: iface[\u0027network\u0027][\u0027id\u0027],"},{"line_number":962,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":963,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":964,"context_line":"                for iface in ifaces]"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a740942_abfc3ab8","line":964,"updated":"2015-12-09 03:40:11.000000000","message":"I think we have same problem at here, we will get duplicated network at here also. Correct me if I\u0027m wrong.","commit_id":"002d94e070e8fe35429afeb30021c79ff4599a15"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"63d0f1d61a088e7bada5af39dde693f9f6ba9749","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                {\u0027id\u0027: iface[\u0027network\u0027][\u0027id\u0027],"},{"line_number":962,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":963,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":964,"context_line":"                for iface in ifaces]"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a740942_8b705b0c","line":964,"in_reply_to":"7a740942_abfc3ab8","updated":"2015-12-09 05:43:28.000000000","message":"Done","commit_id":"002d94e070e8fe35429afeb30021c79ff4599a15"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"86e0dfca2f8df2188a599869b3c445f14f74c95a","unresolved":false,"context_lines":[{"line_number":970,"context_line":"            # in the order from port_ids"},{"line_number":971,"context_line":"            ifaceids \u003d [iface[\u0027id\u0027] for iface in ifaces"},{"line_number":972,"context_line":"                        if iface[\u0027id\u0027] not in port_ids]"},{"line_number":973,"context_line":"            port_ids \u003d ifaceids + port_ids"},{"line_number":974,"context_line":""},{"line_number":975,"context_line":"        return networks, port_ids"},{"line_number":976,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a740942_8b14dee8","line":973,"updated":"2015-12-09 03:40:11.000000000","message":"nit, does this make the code more clear:\n\nport_ides \u003d list(set([iface[\u0027id\u0027] for iface in ifaces] + port_ids))\n\nbut never mid, I fine with both way.","commit_id":"002d94e070e8fe35429afeb30021c79ff4599a15"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"63d0f1d61a088e7bada5af39dde693f9f6ba9749","unresolved":false,"context_lines":[{"line_number":970,"context_line":"            # in the order from port_ids"},{"line_number":971,"context_line":"            ifaceids \u003d [iface[\u0027id\u0027] for iface in ifaces"},{"line_number":972,"context_line":"                        if iface[\u0027id\u0027] not in port_ids]"},{"line_number":973,"context_line":"            port_ids \u003d ifaceids + port_ids"},{"line_number":974,"context_line":""},{"line_number":975,"context_line":"        return networks, port_ids"},{"line_number":976,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a740942_0bca2b1b","line":973,"in_reply_to":"7a740942_8b14dee8","updated":"2015-12-09 05:43:28.000000000","message":"we can not use set, this will miss the order.","commit_id":"002d94e070e8fe35429afeb30021c79ff4599a15"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f1d201505a182b5857b4e2892590ffd17a7b9106","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                {\u0027id\u0027: iface[\u0027network\u0027][\u0027id\u0027],"},{"line_number":962,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":963,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":964,"context_line":"                for iface in ifaces]))"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a740942_e52ee341","line":964,"updated":"2015-12-09 09:22:44.000000000","message":"Emm...although the later code won\u0027t depend on the order of networks list anymore. But we return ordered networks at line 953 https://github.com/openstack/nova/blob/master/nova/network/neutronv2/api.py#L291\n\nI prefer we still keep the order at here.","commit_id":"08d2ecfc3ccba524c0a433739b8ee29f0e0a0047"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f81881a65cf6756a2c6f18a7ff6eabe5d93907dc","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                {\u0027id\u0027: iface[\u0027network\u0027][\u0027id\u0027],"},{"line_number":962,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":963,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":964,"context_line":"                for iface in ifaces]))"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a740942_7c03420e","line":964,"in_reply_to":"7a740942_91e5dedd","updated":"2015-12-10 00:47:15.000000000","message":"yes, but we hope just keep it as order, avoid some people need depend on the order in the future but he forget this a little bit code different than other place. Also the line 953 is ordered and line 973 also. So I hope this interface keep consistent contract, only return ordered networks and ports list.","commit_id":"08d2ecfc3ccba524c0a433739b8ee29f0e0a0047"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"6191d9216f86477c0eb10911a96e006d1f9daf58","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                {\u0027id\u0027: iface[\u0027network\u0027][\u0027id\u0027],"},{"line_number":962,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":963,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":964,"context_line":"                for iface in ifaces]))"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a740942_91e5dedd","line":964,"in_reply_to":"7a740942_94cf0f28","updated":"2015-12-09 11:34:32.000000000","message":"Hi, alex\n\n_gather_port_ids_and_networks is only used once, and we can see that the returned\nnetworks\u0027 order are not related. So I think we can back to the set version.","commit_id":"08d2ecfc3ccba524c0a433739b8ee29f0e0a0047"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"066a20f9b570da67bafa3ff6192faca937446598","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                {\u0027id\u0027: iface[\u0027network\u0027][\u0027id\u0027],"},{"line_number":962,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":963,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":964,"context_line":"                for iface in ifaces]))"},{"line_number":965,"context_line":""},{"line_number":966,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":967,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a740942_94cf0f28","line":964,"in_reply_to":"7a740942_e52ee341","updated":"2015-12-09 10:53:41.000000000","message":"Done","commit_id":"08d2ecfc3ccba524c0a433739b8ee29f0e0a0047"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"7324654d71ffb551a0632e69e5762e5a40f5387d","unresolved":false,"context_lines":[{"line_number":963,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":964,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":965,"context_line":"                for iface in ifaces if iface[\u0027network\u0027][\u0027id\u0027] not in netids] +"},{"line_number":966,"context_line":"                networks)"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":969,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a7e1126_6cb03e44","line":966,"updated":"2015-12-17 20:37:38.000000000","message":"personally find this to basically be too dense to be really reviewable. Can you unwind this to make it a bit more clear what we are getting at the end. Honestly, a dedicated network transform function would be fine.","commit_id":"8266a66756dba842d7471f3b98629438714bce7a"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"342f0283ddfe1148b8e38d7822b931fac6d39963","unresolved":false,"context_lines":[{"line_number":963,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":964,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":965,"context_line":"                for iface in ifaces if iface[\u0027network\u0027][\u0027id\u0027] not in netids] +"},{"line_number":966,"context_line":"                networks)"},{"line_number":967,"context_line":""},{"line_number":968,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":969,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":13,"id":"3a7e1126_0327f2ca","line":966,"in_reply_to":"3a7e1126_6cb03e44","updated":"2015-12-19 00:31:22.000000000","message":"Done","commit_id":"8266a66756dba842d7471f3b98629438714bce7a"},{"author":{"_account_id":15424,"name":"javeme","email":"javaloveme@gmail.com","username":"javeme"},"change_message_id":"5214229c49d3be7aabeb57716d1ef01786cc8f8e","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":885,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":886,"context_line":"                for iface in ifaces if iface[\u0027network\u0027][\u0027id\u0027] not in netids] +"},{"line_number":887,"context_line":"                networks)"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":890,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":16,"id":"1a7b0d38_9721f5b6","line":887,"range":{"start_line":887,"start_character":24,"end_line":887,"end_character":25},"updated":"2015-12-24 16:50:15.000000000","message":"nit, I prefer to add a var ifaces \u003d [filter it...], then  networks \u003d networks + [...]","commit_id":"5487cc37d0df7229658c03dd1b9a5b60a65f8931"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"1f8479847b69731a023de9271921b37dac495d55","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":885,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":886,"context_line":"                for iface in ifaces if iface[\u0027network\u0027][\u0027id\u0027] not in netids] +"},{"line_number":887,"context_line":"                networks)"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":890,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":16,"id":"da6ed579_72262918","line":887,"range":{"start_line":887,"start_character":24,"end_line":887,"end_character":25},"in_reply_to":"1a7b0d38_9721f5b6","updated":"2016-01-12 02:55:40.000000000","message":"yeh, I guess Sean are talking about the same thing. I will +2 if you can tuning this little.","commit_id":"5487cc37d0df7229658c03dd1b9a5b60a65f8931"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"2c26b56e1207845575b91f52427520bc8585e6e7","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                 \u0027name\u0027: iface[\u0027network\u0027][\u0027label\u0027],"},{"line_number":885,"context_line":"                 \u0027tenant_id\u0027: iface[\u0027network\u0027][\u0027meta\u0027][\u0027tenant_id\u0027]}"},{"line_number":886,"context_line":"                for iface in ifaces if iface[\u0027network\u0027][\u0027id\u0027] not in netids] +"},{"line_number":887,"context_line":"                networks)"},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"            # Include existing interfaces so they are not removed from the db."},{"line_number":890,"context_line":"            # NOTE(gongysh) It is likely that the ports, which are currently"}],"source_content_type":"text/x-python","patch_set":16,"id":"da6ed579_5d955f30","line":887,"range":{"start_line":887,"start_character":24,"end_line":887,"end_character":25},"in_reply_to":"da6ed579_72262918","updated":"2016-01-15 10:29:49.000000000","message":"Done","commit_id":"5487cc37d0df7229658c03dd1b9a5b60a65f8931"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"86e0dfca2f8df2188a599869b3c445f14f74c95a","unresolved":false,"context_lines":[{"line_number":2602,"context_line":"        fake_inst.info_cache \u003d objects.InstanceInfoCache.new("},{"line_number":2603,"context_line":"            self.context, \u0027fake-uuid\u0027)"},{"line_number":2604,"context_line":"        # NOTE(gongysh) TO simulate the cache has been populated with the"},{"line_number":2605,"context_line":"        # ports being allocated"},{"line_number":2606,"context_line":"        vif \u003d model.VIF("},{"line_number":2607,"context_line":"            id\u003dfake_ports[3][\u0027id\u0027],"},{"line_number":2608,"context_line":"            address\u003dfake_ports[3][\u0027mac_address\u0027],"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a740942_6b75f22f","line":2605,"updated":"2015-12-09 03:40:11.000000000","message":"Can we have separated unit test for this case? this is more clear this is special case we need take care","commit_id":"002d94e070e8fe35429afeb30021c79ff4599a15"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"9ce479054c83538e103e62fc589f3178869f864c","unresolved":false,"context_lines":[{"line_number":2602,"context_line":"        fake_inst.info_cache \u003d objects.InstanceInfoCache.new("},{"line_number":2603,"context_line":"            self.context, \u0027fake-uuid\u0027)"},{"line_number":2604,"context_line":"        # NOTE(gongysh) TO simulate the cache has been populated with the"},{"line_number":2605,"context_line":"        # ports being allocated"},{"line_number":2606,"context_line":"        vif \u003d model.VIF("},{"line_number":2607,"context_line":"            id\u003dfake_ports[3][\u0027id\u0027],"},{"line_number":2608,"context_line":"            address\u003dfake_ports[3][\u0027mac_address\u0027],"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a740942_cbb42383","line":2605,"in_reply_to":"7a740942_6b75f22f","updated":"2015-12-09 05:47:47.000000000","message":"Done","commit_id":"002d94e070e8fe35429afeb30021c79ff4599a15"}]}
