)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"aaa153b61cdf2d55b06507c468133b798090e13a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@vmware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-12 11:14:36 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: expand support for Opaque networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The original support for Opaque networks make use of a"},{"line_number":10,"context_line":"configuration flag indicating that a global integration bridge"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a4dcd0f_6d9fe15f","line":7,"updated":"2015-08-10 14:42:09.000000000","message":"You need a blueprint for this.","commit_id":"0bea65dd8aed76103a508d2eb8c80eace949a6a1"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f36c349352b52c0c35fc5f9b6fe1b5e0e4ecf798","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@vmware.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-05-12 11:14:36 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: expand support for Opaque networks"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The original support for Opaque networks make use of a"},{"line_number":10,"context_line":"configuration flag indicating that a global integration bridge"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1a4dcd0f_5cd3b45f","line":7,"in_reply_to":"1a4dcd0f_6d9fe15f","updated":"2015-08-10 15:07:29.000000000","message":"https://blueprints.launchpad.net/nova/+spec/vmware-expand-opaque-support","commit_id":"0bea65dd8aed76103a508d2eb8c80eace949a6a1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a9e6b2657b186d3230b9e002601aa86354e32549","unresolved":false,"context_lines":[{"line_number":15,"context_line":"integration bridge. This will require that we make use of the network"},{"line_number":16,"context_line":"ID for the opaque network."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"DocImpact"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"For backward compatible opaque support the \u0027integration-bridge\u0027 needs"},{"line_number":21,"context_line":"to be set. If this is not set then the network id will be used as the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a1a9d01_accf7728","line":18,"updated":"2015-10-01 14:15:29.000000000","message":"Is there also a minimum required version of neutron that is required for this to work?  Kilo or Liberty?  I remember something in the ML about changes landing in Neutron (or not) and things not landing in nova.","commit_id":"f35e7500aca20411e69d0323c9b032e298842efa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e39d2499191c2f087fbd28c132ded809accec3b5","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"DocImpact"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"For backward compatible opaque support the \u0027integration-bridge\u0027 needs"},{"line_number":21,"context_line":"to be set. If this is not set then the network id will be used as the"},{"line_number":22,"context_line":"opaque id."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"da85f559_7f564d2b","line":20,"updated":"2015-11-11 17:09:13.000000000","message":"Be explicit for doc writers:\n\nCONF.vmware.integration_bridge.\n\nShould also point out that the default value has changed.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"DocImpact"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"For backward compatible opaque support the \u0027integration-bridge\u0027 needs"},{"line_number":21,"context_line":"to be set. If this is not set then the network id will be used as the"},{"line_number":22,"context_line":"opaque id."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"da85f559_9c4d1bc6","line":20,"in_reply_to":"da85f559_7f564d2b","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e39d2499191c2f087fbd28c132ded809accec3b5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"to be set. If this is not set then the network id will be used as the"},{"line_number":22,"context_line":"opaque id."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The support for VC 6.0 has specific support for this. For 5.5 we make"},{"line_number":25,"context_line":"use of a DynamicProperty setting to achieve the same goal."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Implements blueprint vmware-expand-opaque-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"da85f559_3f4c459d","line":24,"updated":"2015-11-11 17:09:13.000000000","message":"I\u0027d move this above the DocImpact tag so it doesn\u0027t confuse docs writers.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"to be set. If this is not set then the network id will be used as the"},{"line_number":22,"context_line":"opaque id."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The support for VC 6.0 has specific support for this. For 5.5 we make"},{"line_number":25,"context_line":"use of a DynamicProperty setting to achieve the same goal."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Implements blueprint vmware-expand-opaque-support"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"da85f559_fc522766","line":24,"in_reply_to":"da85f559_3f4c459d","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"}],"nova/tests/unit/virt/vmwareapi/fake.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5ae60ae5b52ded1908b9374e8b33e8f217731858","unresolved":false,"context_lines":[{"line_number":1100,"context_line":""},{"line_number":1101,"context_line":"    def create(self, obj_name):"},{"line_number":1102,"context_line":"        \"\"\"Creates a namespace object.\"\"\""},{"line_number":1103,"context_line":"        klass \u003d obj_name[4:]  # skip \u0027ns0:\u0027"},{"line_number":1104,"context_line":"        module \u003d sys.modules[__name__]"},{"line_number":1105,"context_line":"        fake_klass \u003d getattr(module, klass, None)"},{"line_number":1106,"context_line":"        if fake_klass is None:"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_946b8af1","line":1103,"updated":"2015-11-12 20:00:11.000000000","message":"Shouldn\u0027t you check if \u0027ns0:\u0027 is in the obj_name first since it\u0027s optional?","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8e96910df979d0e5e8ab616031f2093a02d6c25e","unresolved":false,"context_lines":[{"line_number":1100,"context_line":""},{"line_number":1101,"context_line":"    def create(self, obj_name):"},{"line_number":1102,"context_line":"        \"\"\"Creates a namespace object.\"\"\""},{"line_number":1103,"context_line":"        klass \u003d obj_name[4:]  # skip \u0027ns0:\u0027"},{"line_number":1104,"context_line":"        module \u003d sys.modules[__name__]"},{"line_number":1105,"context_line":"        fake_klass \u003d getattr(module, klass, None)"},{"line_number":1106,"context_line":"        if fake_klass is None:"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_1d20e448","line":1103,"in_reply_to":"da85f559_3978818f","updated":"2015-11-13 19:30:41.000000000","message":"OK, yeah, removing unused things is good.  I don\u0027t like making assumptions about how test object code is used.","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"088477ab519778a90af8156f281a2ab4be166b34","unresolved":false,"context_lines":[{"line_number":1100,"context_line":""},{"line_number":1101,"context_line":"    def create(self, obj_name):"},{"line_number":1102,"context_line":"        \"\"\"Creates a namespace object.\"\"\""},{"line_number":1103,"context_line":"        klass \u003d obj_name[4:]  # skip \u0027ns0:\u0027"},{"line_number":1104,"context_line":"        module \u003d sys.modules[__name__]"},{"line_number":1105,"context_line":"        fake_klass \u003d getattr(module, klass, None)"},{"line_number":1106,"context_line":"        if fake_klass is None:"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_3978818f","line":1103,"in_reply_to":"da85f559_946b8af1","updated":"2015-11-13 06:43:38.000000000","message":"In general every element must have the \u0027ns0:\u0027 prefix. I have not seen any in the API\u0027s that do not have this.\nI am actually going to remove this code as it is not necessary at the moment (I added it when doing the test for the externalId but found a more elegant way of doing that)","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"}],"nova/tests/unit/virt/vmwareapi/test_vif.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    @mock.patch.object(vif, \u0027_check_ovs_supported_version\u0027)"},{"line_number":219,"context_line":"    def test_get_neutron_network_ovs_integration_bridge(self,"},{"line_number":220,"context_line":"                                                        mock_check):"},{"line_number":221,"context_line":"        self.flags(integration_bridge\u003d\u0027fake-bridge-id\u0027, group\u003d\u0027vmware\u0027)"},{"line_number":222,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":223,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_OVS,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_7fd96d21","line":220,"updated":"2015-11-11 17:07:47.000000000","message":"Should assert that mock_check is called.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    @mock.patch.object(vif, \u0027_check_ovs_supported_version\u0027)"},{"line_number":219,"context_line":"    def test_get_neutron_network_ovs_integration_bridge(self,"},{"line_number":220,"context_line":"                                                        mock_check):"},{"line_number":221,"context_line":"        self.flags(integration_bridge\u003d\u0027fake-bridge-id\u0027, group\u003d\u0027vmware\u0027)"},{"line_number":222,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":223,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_OVS,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_0a948140","line":220,"in_reply_to":"da85f559_7fd96d21","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self.assertEqual(expected_ref, network_ref)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    @mock.patch.object(vif, \u0027_check_ovs_supported_version\u0027)"},{"line_number":237,"context_line":"    def test_get_neutron_network_ovs(self, mock_check):"},{"line_number":238,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":239,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_OVS,"},{"line_number":240,"context_line":"                                  address\u003d\u0027DE:AD:BE:EF:00:00\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_3f068586","line":237,"updated":"2015-11-11 17:07:47.000000000","message":"Should assert that mock_check is called.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":234,"context_line":"        self.assertEqual(expected_ref, network_ref)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    @mock.patch.object(vif, \u0027_check_ovs_supported_version\u0027)"},{"line_number":237,"context_line":"    def test_get_neutron_network_ovs(self, mock_check):"},{"line_number":238,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":239,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_OVS,"},{"line_number":240,"context_line":"                                  address\u003d\u0027DE:AD:BE:EF:00:00\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_8a8e312c","line":237,"in_reply_to":"da85f559_3f068586","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        self.assertEqual(expected_ref, network_ref)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @mock.patch.object(network_util, \u0027get_network_with_the_name\u0027,"},{"line_number":253,"context_line":"                        return_value\u003d\u0027fake-network-ref\u0027)"},{"line_number":254,"context_line":"    def test_get_neutron_network_dvs(self, mock_network_name):"},{"line_number":255,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":256,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_bf6fd529","line":253,"updated":"2015-11-11 17:07:47.000000000","message":"nit: this would actually return some dict like thing right? Not a huge deal, but if you respin I\u0027d make this a bit more realistic to the code.\n\nAlso, alignment nit on the return_value arg.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        self.assertEqual(expected_ref, network_ref)"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    @mock.patch.object(network_util, \u0027get_network_with_the_name\u0027,"},{"line_number":253,"context_line":"                        return_value\u003d\u0027fake-network-ref\u0027)"},{"line_number":254,"context_line":"    def test_get_neutron_network_dvs(self, mock_network_name):"},{"line_number":255,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":256,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_2a0b857e","line":253,"in_reply_to":"da85f559_bf6fd529","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        self.assertEqual(\u0027fake-network-ref\u0027, network_ref)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    @mock.patch.object(network_util, \u0027get_network_with_the_name\u0027,"},{"line_number":269,"context_line":"                        return_value\u003dNone)"},{"line_number":270,"context_line":"    def test_get_neutron_network_dvs_no_match(self, mock_network_name):"},{"line_number":271,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":272,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_df53b969","line":269,"updated":"2015-11-11 17:07:47.000000000","message":"Alignment nit.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":266,"context_line":"        self.assertEqual(\u0027fake-network-ref\u0027, network_ref)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    @mock.patch.object(network_util, \u0027get_network_with_the_name\u0027,"},{"line_number":269,"context_line":"                        return_value\u003dNone)"},{"line_number":270,"context_line":"    def test_get_neutron_network_dvs_no_match(self, mock_network_name):"},{"line_number":271,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":272,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_4a84c909","line":269,"in_reply_to":"da85f559_df53b969","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5ae60ae5b52ded1908b9374e8b33e8f217731858","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        fake_network_obj \u003d {\u0027type\u0027: \u0027DistributedVirtualPortgroup\u0027,"},{"line_number":262,"context_line":"                            \u0027dvpg\u0027: \u0027fake-key\u0027,"},{"line_number":263,"context_line":"                            \u0027dvsw\u0027: \u0027fake-props\u0027}"},{"line_number":264,"context_line":"        mock_network_name.return_value \u003d fake_network_obj"},{"line_number":265,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":266,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"},{"line_number":267,"context_line":"                                  address\u003d\u0027DE:AD:BE:EF:00:00\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_f463f63f","line":264,"updated":"2015-11-12 20:00:11.000000000","message":"This is redundant since your decorator is doing it already.  If you plan on using the fake_network_obj variable, then remove the return_value from the decorator.","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8e96910df979d0e5e8ab616031f2093a02d6c25e","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        fake_network_obj \u003d {\u0027type\u0027: \u0027DistributedVirtualPortgroup\u0027,"},{"line_number":262,"context_line":"                            \u0027dvpg\u0027: \u0027fake-key\u0027,"},{"line_number":263,"context_line":"                            \u0027dvsw\u0027: \u0027fake-props\u0027}"},{"line_number":264,"context_line":"        mock_network_name.return_value \u003d fake_network_obj"},{"line_number":265,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":266,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"},{"line_number":267,"context_line":"                                  address\u003d\u0027DE:AD:BE:EF:00:00\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_fdff20a8","line":264,"in_reply_to":"da85f559_79c0492b","updated":"2015-11-13 19:30:41.000000000","message":"It\u0027s redundant because your decorator produces the mock_network_name variable which already has the return_value set on the mock, because it\u0027s in your decorator.  Then you create the fake_network_obj and replace it as the return_value on mock_network_name, but the return values are the same, so it\u0027s redundant.  Meaning I can remove the return_value dict from the decorator and this works the same.","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"cdcaa82ecf8db99f16f927b0391799f2e803312a","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        fake_network_obj \u003d {\u0027type\u0027: \u0027DistributedVirtualPortgroup\u0027,"},{"line_number":262,"context_line":"                            \u0027dvpg\u0027: \u0027fake-key\u0027,"},{"line_number":263,"context_line":"                            \u0027dvsw\u0027: \u0027fake-props\u0027}"},{"line_number":264,"context_line":"        mock_network_name.return_value \u003d fake_network_obj"},{"line_number":265,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":266,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"},{"line_number":267,"context_line":"                                  address\u003d\u0027DE:AD:BE:EF:00:00\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_79c0492b","line":264,"in_reply_to":"da85f559_c8aba1d5","updated":"2015-11-13 06:44:19.000000000","message":"this is also what you asked for on the previous patch set","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"088477ab519778a90af8156f281a2ab4be166b34","unresolved":false,"context_lines":[{"line_number":261,"context_line":"        fake_network_obj \u003d {\u0027type\u0027: \u0027DistributedVirtualPortgroup\u0027,"},{"line_number":262,"context_line":"                            \u0027dvpg\u0027: \u0027fake-key\u0027,"},{"line_number":263,"context_line":"                            \u0027dvsw\u0027: \u0027fake-props\u0027}"},{"line_number":264,"context_line":"        mock_network_name.return_value \u003d fake_network_obj"},{"line_number":265,"context_line":"        vif_info \u003d network_model.NetworkInfo(["},{"line_number":266,"context_line":"                network_model.VIF(type\u003dnetwork_model.VIF_TYPE_DVS,"},{"line_number":267,"context_line":"                                  address\u003d\u0027DE:AD:BE:EF:00:00\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_c8aba1d5","line":264,"in_reply_to":"da85f559_f463f63f","updated":"2015-11-13 06:43:38.000000000","message":"why is it redundant? Please see line 276 that validates the value returned by the method. _get_neutron_network.","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9e01bb8634c0f40090e3913daeb709a1a9f4ecdf","unresolved":false,"context_lines":[{"line_number":254,"context_line":"        mock_check.assert_called_once_with(\u0027fake-session\u0027)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"    @mock.patch.object(network_util, \u0027get_network_with_the_name\u0027,"},{"line_number":257,"context_line":"                       return_value\u003d{\u0027type\u0027: \u0027DistributedVirtualPortgroup\u0027,"},{"line_number":258,"context_line":"                                     \u0027dvpg\u0027: \u0027fake-key\u0027,"},{"line_number":259,"context_line":"                                     \u0027dvsw\u0027: \u0027fake-props\u0027})"},{"line_number":260,"context_line":"    def test_get_neutron_network_dvs(self, mock_network_name):"}],"source_content_type":"text/x-python","patch_set":15,"id":"da85f559_3de4c80b","line":257,"updated":"2015-11-13 19:31:17.000000000","message":"This is redundant, see comments in previous patch set.","commit_id":"841aad8e5cf4603fbe9abb5e7c9c1e72da1d381d"}],"nova/tests/unit/virt/vmwareapi/test_vm_util.py":[{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"a4690e3d5564183e5f45a0c7cc57cb3c61cdebd9","unresolved":false,"context_lines":[{"line_number":1068,"context_line":"    def test_get_network_attach_config_spec_opaque(self):"},{"line_number":1069,"context_line":"        network_ref \u003d {\u0027type\u0027: \u0027OpaqueNetwork\u0027,"},{"line_number":1070,"context_line":"                       \u0027network-id\u0027: \u0027fake-network-id\u0027,"},{"line_number":1071,"context_line":"                       \u0027network-type\u0027: \u0027nsx.logical_switch\u0027,"},{"line_number":1072,"context_line":"                       \u0027use-external-id\u0027: True}"},{"line_number":1073,"context_line":"        self._get_network_attach_config_spec_opaque(network_ref)"},{"line_number":1074,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da85f559_449fa35f","line":1071,"updated":"2015-11-07 18:33:47.000000000","message":"should be nsx.LogicalSwitch","commit_id":"e50d5e75bb3d0df718b754d8ffc62136f209ab94"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f99b6b60cc788fa842972c94475467c7f0ec6232","unresolved":false,"context_lines":[{"line_number":1068,"context_line":"    def test_get_network_attach_config_spec_opaque(self):"},{"line_number":1069,"context_line":"        network_ref \u003d {\u0027type\u0027: \u0027OpaqueNetwork\u0027,"},{"line_number":1070,"context_line":"                       \u0027network-id\u0027: \u0027fake-network-id\u0027,"},{"line_number":1071,"context_line":"                       \u0027network-type\u0027: \u0027nsx.logical_switch\u0027,"},{"line_number":1072,"context_line":"                       \u0027use-external-id\u0027: True}"},{"line_number":1073,"context_line":"        self._get_network_attach_config_spec_opaque(network_ref)"},{"line_number":1074,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da85f559_a5d1a8fd","line":1071,"in_reply_to":"da85f559_449fa35f","updated":"2015-11-08 07:23:43.000000000","message":"Done","commit_id":"e50d5e75bb3d0df718b754d8ffc62136f209ab94"}],"nova/virt/vmwareapi/vif.py":[{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"89314529d4e019a7caad551e78d07ed53c0e1037","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"def _get_neutron_network(session, network_id, cluster, vif):"},{"line_number":100,"context_line":"    if vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_OVS:"},{"line_number":101,"context_line":"        if CONF.vmware.integration_bridge:"},{"line_number":102,"context_line":"            net_id \u003d CONF.vmware.integration_bridge"},{"line_number":103,"context_line":"            use_external_id \u003d False"},{"line_number":104,"context_line":"            network_type \u003d \u0027opaque\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_9d3754e3","line":101,"updated":"2015-03-26 17:06:22.000000000","message":"This might cause troubles if people forget to unset the integration bridge parameter after moving to next-gen NSX.\n\nhowever, this is just something that needs to be documented. I do not think there is a smooth and simple technical solution","commit_id":"a1f07bbe04b785608376db6c9e0bb736ad16644f"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"89314529d4e019a7caad551e78d07ed53c0e1037","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        if not network_ref:"},{"line_number":117,"context_line":"            raise exception.NetworkNotFoundForBridge(bridge\u003dnetwork_id)"},{"line_number":118,"context_line":"    else:"},{"line_number":119,"context_line":"        reason \u003d _(\u0027vif tyoe %s not supported\u0027) % vif[\u0027type\u0027]"},{"line_number":120,"context_line":"        raise exception.InvalidInput(reason\u003dreason)"},{"line_number":121,"context_line":"    return network_ref"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_029abf14","line":119,"updated":"2015-03-26 17:06:22.000000000","message":"typo in tyoe","commit_id":"a1f07bbe04b785608376db6c9e0bb736ad16644f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2c848d30cc071b5cdd587cc5eeb30c5cabf261ce","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        if not network_ref:"},{"line_number":117,"context_line":"            raise exception.NetworkNotFoundForBridge(bridge\u003dnetwork_id)"},{"line_number":118,"context_line":"    else:"},{"line_number":119,"context_line":"        reason \u003d _(\u0027vif tyoe %s not supported\u0027) % vif[\u0027type\u0027]"},{"line_number":120,"context_line":"        raise exception.InvalidInput(reason\u003dreason)"},{"line_number":121,"context_line":"    return network_ref"},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa963961_3dbcc86b","line":119,"in_reply_to":"fa963961_029abf14","updated":"2015-03-26 17:29:59.000000000","message":"Done","commit_id":"a1f07bbe04b785608376db6c9e0bb736ad16644f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2d134d477f38f017fc1b65cd25fb8a00edc8ab8","unresolved":false,"context_lines":[{"line_number":32,"context_line":"               default\u003d\u0027vmnic0\u0027,"},{"line_number":33,"context_line":"               help\u003d\u0027Physical ethernet adapter name for vlan networking\u0027),"},{"line_number":34,"context_line":"    cfg.StrOpt(\u0027integration_bridge\u0027,"},{"line_number":35,"context_line":"               help\u003d\u0027Name of Integration Bridge\u0027),"},{"line_number":36,"context_line":"]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"CONF.register_opts(vmwareapi_vif_opts, \u0027vmware\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_d71a3917","line":35,"updated":"2015-11-04 14:30:42.000000000","message":"This needs to be updated per the spec.\n\nAlso, wasn\u0027t this going to be deprecated along with changing the default to None?","commit_id":"d48bf1a15cf91c6b52e4f81cef71f58f2920773a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4d67c8286e41aa3e1ab282cdd4e22288a105353f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"               default\u003d\u0027vmnic0\u0027,"},{"line_number":33,"context_line":"               help\u003d\u0027Physical ethernet adapter name for vlan networking\u0027),"},{"line_number":34,"context_line":"    cfg.StrOpt(\u0027integration_bridge\u0027,"},{"line_number":35,"context_line":"               help\u003d\u0027Name of Integration Bridge\u0027),"},{"line_number":36,"context_line":"]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"CONF.register_opts(vmwareapi_vif_opts, \u0027vmware\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_30ed6fef","line":35,"in_reply_to":"fa80f949_d71a3917","updated":"2015-11-06 14:19:29.000000000","message":"I have updated the comment. By default all cfg params are set to None.https://github.com/openstack/oslo.config/blob/master/oslo_config/cfg.py#L697","commit_id":"d48bf1a15cf91c6b52e4f81cef71f58f2920773a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2d134d477f38f017fc1b65cd25fb8a00edc8ab8","unresolved":false,"context_lines":[{"line_number":99,"context_line":"def _get_neutron_network(session, network_id, cluster, vif):"},{"line_number":100,"context_line":"    if vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_OVS:"},{"line_number":101,"context_line":"        if CONF.vmware.integration_bridge:"},{"line_number":102,"context_line":"            net_id \u003d CONF.vmware.integration_bridge"},{"line_number":103,"context_line":"            use_external_id \u003d False"},{"line_number":104,"context_line":"            network_type \u003d \u0027opaque\u0027"},{"line_number":105,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_77e26d05","line":102,"updated":"2015-11-04 14:30:42.000000000","message":"Could we add comments that this is the NSX-MH case, and the else block is the NSXv3 case?","commit_id":"d48bf1a15cf91c6b52e4f81cef71f58f2920773a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4d67c8286e41aa3e1ab282cdd4e22288a105353f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"def _get_neutron_network(session, network_id, cluster, vif):"},{"line_number":100,"context_line":"    if vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_OVS:"},{"line_number":101,"context_line":"        if CONF.vmware.integration_bridge:"},{"line_number":102,"context_line":"            net_id \u003d CONF.vmware.integration_bridge"},{"line_number":103,"context_line":"            use_external_id \u003d False"},{"line_number":104,"context_line":"            network_type \u003d \u0027opaque\u0027"},{"line_number":105,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_eb65b8b4","line":102,"in_reply_to":"fa80f949_77e26d05","updated":"2015-11-06 14:19:29.000000000","message":"Done","commit_id":"d48bf1a15cf91c6b52e4f81cef71f58f2920773a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"a4690e3d5564183e5f45a0c7cc57cb3c61cdebd9","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s is \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da85f559_e4afb792","line":111,"updated":"2015-11-07 18:33:47.000000000","message":"\"is\" at the end can be removed.\nLOG.warning(_LW(\u0027VMware vCenter version less than %(version)s does not support the \\\u0027ovs\\\u0027 ports.\u0027),","commit_id":"e50d5e75bb3d0df718b754d8ffc62136f209ab94"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f99b6b60cc788fa842972c94475467c7f0ec6232","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s is \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"da85f559_c5ce2c5a","line":111,"in_reply_to":"da85f559_e4afb792","updated":"2015-11-08 07:23:43.000000000","message":"Done","commit_id":"e50d5e75bb3d0df718b754d8ffc62136f209ab94"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"a4690e3d5564183e5f45a0c7cc57cb3c61cdebd9","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def _get_neutron_network(session, network_id, cluster, vif):"},{"line_number":117,"context_line":"    if vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_OVS:"},{"line_number":118,"context_line":"        _check_ovs_supported_version(session)"},{"line_number":119,"context_line":"        # Check if this is the NSX-MH plugin is used"}],"source_content_type":"text/x-python","patch_set":10,"id":"da85f559_a4a0cf91","line":116,"updated":"2015-11-07 18:33:47.000000000","message":"network_id can be removed since it is already contained in vif\ni.e vif[\u0027network\u0027][\u0027bridge\u0027]","commit_id":"e50d5e75bb3d0df718b754d8ffc62136f209ab94"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"f99b6b60cc788fa842972c94475467c7f0ec6232","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"def _get_neutron_network(session, network_id, cluster, vif):"},{"line_number":117,"context_line":"    if vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_OVS:"},{"line_number":118,"context_line":"        _check_ovs_supported_version(session)"},{"line_number":119,"context_line":"        # Check if this is the NSX-MH plugin is used"}],"source_content_type":"text/x-python","patch_set":10,"id":"da85f559_0503d474","line":116,"in_reply_to":"da85f559_a4a0cf91","updated":"2015-11-08 07:23:43.000000000","message":"Done","commit_id":"e50d5e75bb3d0df718b754d8ffc62136f209ab94"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"               default\u003d\u0027vmnic0\u0027,"},{"line_number":36,"context_line":"               help\u003d\u0027Physical ethernet adapter name for vlan networking\u0027),"},{"line_number":37,"context_line":"    cfg.StrOpt(\u0027integration_bridge\u0027,"},{"line_number":38,"context_line":"               help\u003d\u0027This option should be configured only when using the \u0027"},{"line_number":39,"context_line":"                    \u0027NSX-MH Neutron plugin. This is the name of the \u0027"},{"line_number":40,"context_line":"                    \u0027integration bridge on the ESXi. This should not be set \u0027"},{"line_number":41,"context_line":"                    \u0027for any other Neutron plugin. Hence the default value \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_11429a68","line":38,"updated":"2015-11-11 17:07:47.000000000","message":"Were we also going to deprecate this option?","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"               default\u003d\u0027vmnic0\u0027,"},{"line_number":36,"context_line":"               help\u003d\u0027Physical ethernet adapter name for vlan networking\u0027),"},{"line_number":37,"context_line":"    cfg.StrOpt(\u0027integration_bridge\u0027,"},{"line_number":38,"context_line":"               help\u003d\u0027This option should be configured only when using the \u0027"},{"line_number":39,"context_line":"                    \u0027NSX-MH Neutron plugin. This is the name of the \u0027"},{"line_number":40,"context_line":"                    \u0027integration bridge on the ESXi. This should not be set \u0027"},{"line_number":41,"context_line":"                    \u0027for any other Neutron plugin. Hence the default value \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_61d3f060","line":38,"in_reply_to":"da85f559_11429a68","updated":"2015-11-12 08:28:03.000000000","message":"I think that at the start of the N cycle we will deprecate the MH. I could add a Note that in the N cycle we should add a deprecation note and then blow it away in O. But that may be an overkill.\nLet me know what you think.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fb7e5e811bd92499eaf410416a9e9704d4e2a7a3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"               default\u003d\u0027vmnic0\u0027,"},{"line_number":36,"context_line":"               help\u003d\u0027Physical ethernet adapter name for vlan networking\u0027),"},{"line_number":37,"context_line":"    cfg.StrOpt(\u0027integration_bridge\u0027,"},{"line_number":38,"context_line":"               help\u003d\u0027This option should be configured only when using the \u0027"},{"line_number":39,"context_line":"                    \u0027NSX-MH Neutron plugin. This is the name of the \u0027"},{"line_number":40,"context_line":"                    \u0027integration bridge on the ESXi. This should not be set \u0027"},{"line_number":41,"context_line":"                    \u0027for any other Neutron plugin. Hence the default value \u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_d4db5220","line":38,"in_reply_to":"da85f559_61d3f060","updated":"2015-11-12 19:53:32.000000000","message":"It\u0027s unnecessary to add that note to deprecate in N.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    return network_ref"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def _check_ovs_supported_version(session):"},{"line_number":107,"context_line":"    # The port type \u0027ovs\u0027 is only support by the VC version 5.5 onwards"},{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_54c9f024","line":106,"updated":"2015-11-11 17:07:47.000000000","message":"Seems would could have done this in a dependent change to narrow the scope of this review, but I won\u0027t block on it.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fb7e5e811bd92499eaf410416a9e9704d4e2a7a3","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    return network_ref"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def _check_ovs_supported_version(session):"},{"line_number":107,"context_line":"    # The port type \u0027ovs\u0027 is only support by the VC version 5.5 onwards"},{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_b4ea4eab","line":106,"in_reply_to":"da85f559_2daf1f7e","updated":"2015-11-12 19:53:32.000000000","message":"We can leave it in.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    return network_ref"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def _check_ovs_supported_version(session):"},{"line_number":107,"context_line":"    # The port type \u0027ovs\u0027 is only support by the VC version 5.5 onwards"},{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_2daf1f7e","line":106,"in_reply_to":"da85f559_54c9f024","updated":"2015-11-12 08:28:03.000000000","message":"i could certainly split this out. just concerned about getting reviews for it","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    # The port type \u0027ovs\u0027 is only support by the VC version 5.5 onwards"},{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_b172ae0f","line":110,"updated":"2015-11-11 17:07:47.000000000","message":"nit: I\u0027d prefer \u003c logic since that\u0027s what the warning says, but only update if you need to respin.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    # The port type \u0027ovs\u0027 is only support by the VC version 5.5 onwards"},{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_e1a600ad","line":110,"in_reply_to":"da85f559_b172ae0f","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_1fa2a14b","line":111,"updated":"2015-11-11 17:07:47.000000000","message":"You don\u0027t have any unit test that hits where this warning is logged.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"    min_version \u003d utils.convert_version_to_int(constants.MIN_VC_OVS_VERSION)"},{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_01a22499","line":111,"in_reply_to":"da85f559_1fa2a14b","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_f1535669","line":112,"updated":"2015-11-11 17:07:47.000000000","message":"Suggested rewording if you respin:\n\n\"does not support \u0027ovs\u0027 ports\" or \"does not support the \u0027ovs\u0027 port type.\"","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    vc_version \u003d vim_util.get_vc_version(session)"},{"line_number":110,"context_line":"    if min_version \u003e utils.convert_version_to_int(vc_version):"},{"line_number":111,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s \u0027"},{"line_number":112,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 ports.\u0027),"},{"line_number":113,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_VERSION})"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_41b26ce6","line":112,"in_reply_to":"da85f559_f1535669","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        _check_ovs_supported_version(session)"},{"line_number":119,"context_line":"        # Check if this is the NSX-MH plugin is used"},{"line_number":120,"context_line":"        if CONF.vmware.integration_bridge:"},{"line_number":121,"context_line":"            net_id \u003d CONF.vmware.integration_bridge"},{"line_number":122,"context_line":"            use_external_id \u003d False"},{"line_number":123,"context_line":"            network_type \u003d \u0027opaque\u0027"},{"line_number":124,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_746514b3","line":121,"updated":"2015-11-11 17:07:47.000000000","message":"Why don\u0027t we validate the network ID anymore in this case, i.e. using _is_valid_opaque_network_id ?","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fb7e5e811bd92499eaf410416a9e9704d4e2a7a3","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        _check_ovs_supported_version(session)"},{"line_number":119,"context_line":"        # Check if this is the NSX-MH plugin is used"},{"line_number":120,"context_line":"        if CONF.vmware.integration_bridge:"},{"line_number":121,"context_line":"            net_id \u003d CONF.vmware.integration_bridge"},{"line_number":122,"context_line":"            use_external_id \u003d False"},{"line_number":123,"context_line":"            network_type \u003d \u0027opaque\u0027"},{"line_number":124,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_94fcea73","line":121,"in_reply_to":"da85f559_61e0d0cd","updated":"2015-11-12 19:53:32.000000000","message":"OK. Figured I\u0027d ask. :)","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        _check_ovs_supported_version(session)"},{"line_number":119,"context_line":"        # Check if this is the NSX-MH plugin is used"},{"line_number":120,"context_line":"        if CONF.vmware.integration_bridge:"},{"line_number":121,"context_line":"            net_id \u003d CONF.vmware.integration_bridge"},{"line_number":122,"context_line":"            use_external_id \u003d False"},{"line_number":123,"context_line":"            network_type \u003d \u0027opaque\u0027"},{"line_number":124,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_61e0d0cd","line":121,"in_reply_to":"da85f559_746514b3","updated":"2015-11-12 08:28:03.000000000","message":"that was a redundant check so we removed it","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                       \u0027network-type\u0027: network_type,"},{"line_number":131,"context_line":"                       \u0027use-external-id\u0027: use_external_id}"},{"line_number":132,"context_line":"    elif vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_DVS:"},{"line_number":133,"context_line":"        network_id \u003d vif[\u0027network\u0027][\u0027bridge\u0027]"},{"line_number":134,"context_line":"        network_ref \u003d network_util.get_network_with_the_name("},{"line_number":135,"context_line":"                session, network_id, cluster)"},{"line_number":136,"context_line":"        if not network_ref:"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_5491f045","line":133,"updated":"2015-11-11 17:07:47.000000000","message":"This used to be:\n\nnetwork_name \u003d (vif[\u0027network\u0027][\u0027bridge\u0027] or\n                CONF.vmware.integration_bridge)\n\nWhy does that change?","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                       \u0027network-type\u0027: network_type,"},{"line_number":131,"context_line":"                       \u0027use-external-id\u0027: use_external_id}"},{"line_number":132,"context_line":"    elif vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_DVS:"},{"line_number":133,"context_line":"        network_id \u003d vif[\u0027network\u0027][\u0027bridge\u0027]"},{"line_number":134,"context_line":"        network_ref \u003d network_util.get_network_with_the_name("},{"line_number":135,"context_line":"                session, network_id, cluster)"},{"line_number":136,"context_line":"        if not network_ref:"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_e1fb6077","line":133,"in_reply_to":"da85f559_5491f045","updated":"2015-11-12 08:28:03.000000000","message":"for the DVS that is not relevant. the DVS will always be the vif[\u0027network\u0027][\u0027bridge\u0027]","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fb7e5e811bd92499eaf410416a9e9704d4e2a7a3","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                       \u0027network-type\u0027: network_type,"},{"line_number":131,"context_line":"                       \u0027use-external-id\u0027: use_external_id}"},{"line_number":132,"context_line":"    elif vif[\u0027type\u0027] \u003d\u003d model.VIF_TYPE_DVS:"},{"line_number":133,"context_line":"        network_id \u003d vif[\u0027network\u0027][\u0027bridge\u0027]"},{"line_number":134,"context_line":"        network_ref \u003d network_util.get_network_with_the_name("},{"line_number":135,"context_line":"                session, network_id, cluster)"},{"line_number":136,"context_line":"        if not network_ref:"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_1448facb","line":133,"in_reply_to":"da85f559_e1fb6077","updated":"2015-11-12 19:53:32.000000000","message":"OK, so I guess we could have cleaned that up separately, but again, not a big deal.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5ae60ae5b52ded1908b9374e8b33e8f217731858","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    if vc_version \u003c min_version:"},{"line_number":113,"context_line":"        LOG.warning(_LW(\u0027VMware vCenter version less than %(version)s \u0027"},{"line_number":114,"context_line":"                        \u0027does not support the \\\u0027ovs\\\u0027 port type.\u0027),"},{"line_number":115,"context_line":"                    {\u0027version\u0027: constants.MIN_VC_OVS_VERSION})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"def _get_neutron_network(session, cluster, vif):"}],"source_content_type":"text/x-python","patch_set":14,"id":"da85f559_545d2247","line":115,"updated":"2015-11-12 20:00:11.000000000","message":"Heh, good catch on the version - good thing a test was added. :)","commit_id":"0ddd6596b052447282a7487ee1d1b940a88617d3"}],"nova/virt/vmwareapi/vm_util.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2d134d477f38f017fc1b65cd25fb8a00edc8ab8","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        backing.opaqueNetworkType \u003d network_ref[\u0027network-type\u0027]"},{"line_number":431,"context_line":"        # Configure externalId"},{"line_number":432,"context_line":"        if network_ref[\u0027use-external-id\u0027]:"},{"line_number":433,"context_line":"            if hasattr(net_device, \u0027externalId\u0027):"},{"line_number":434,"context_line":"                net_device.externalId \u003d vif_info[\u0027iface_id\u0027]"},{"line_number":435,"context_line":"            else:"},{"line_number":436,"context_line":"                dp \u003d client_factory.create(\u0027ns0:DynamicProperty\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_b731b5a4","line":433,"updated":"2015-11-04 14:30:42.000000000","message":"It\u0027d be good to add a comment that this is for VC 6.0+ checking, and the else block is for VC 5.5 checking.\n\nWe should probably also have a check somewhere, or in a dependent change, that looks for VC \u003c 5.5 and logs a warning or whatever that this isn\u0027t going to work.","commit_id":"d48bf1a15cf91c6b52e4f81cef71f58f2920773a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"4d67c8286e41aa3e1ab282cdd4e22288a105353f","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        backing.opaqueNetworkType \u003d network_ref[\u0027network-type\u0027]"},{"line_number":431,"context_line":"        # Configure externalId"},{"line_number":432,"context_line":"        if network_ref[\u0027use-external-id\u0027]:"},{"line_number":433,"context_line":"            if hasattr(net_device, \u0027externalId\u0027):"},{"line_number":434,"context_line":"                net_device.externalId \u003d vif_info[\u0027iface_id\u0027]"},{"line_number":435,"context_line":"            else:"},{"line_number":436,"context_line":"                dp \u003d client_factory.create(\u0027ns0:DynamicProperty\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa80f949_e6f5ed56","line":433,"in_reply_to":"fa80f949_b731b5a4","updated":"2015-11-06 14:19:29.000000000","message":"Done","commit_id":"d48bf1a15cf91c6b52e4f81cef71f58f2920773a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"188b78b3826cbc8a6747ff9df7332f4ec67f333e","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        # Configure externalId"},{"line_number":432,"context_line":"        if network_ref[\u0027use-external-id\u0027]:"},{"line_number":433,"context_line":"            # externalId is only supported from vCenter 6.0 onwards"},{"line_number":434,"context_line":"            if hasattr(net_device, \u0027externalId\u0027):"},{"line_number":435,"context_line":"                net_device.externalId \u003d vif_info[\u0027iface_id\u0027]"},{"line_number":436,"context_line":"            else:"},{"line_number":437,"context_line":"                dp \u003d client_factory.create(\u0027ns0:DynamicProperty\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_5fa8298d","line":434,"updated":"2015-11-11 17:07:47.000000000","message":"I don\u0027t see a test for where this is True.","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"260bad01aa577ebbb57486d826eceee2b273bda3","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        # Configure externalId"},{"line_number":432,"context_line":"        if network_ref[\u0027use-external-id\u0027]:"},{"line_number":433,"context_line":"            # externalId is only supported from vCenter 6.0 onwards"},{"line_number":434,"context_line":"            if hasattr(net_device, \u0027externalId\u0027):"},{"line_number":435,"context_line":"                net_device.externalId \u003d vif_info[\u0027iface_id\u0027]"},{"line_number":436,"context_line":"            else:"},{"line_number":437,"context_line":"                dp \u003d client_factory.create(\u0027ns0:DynamicProperty\u0027)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da85f559_76509832","line":434,"in_reply_to":"da85f559_5fa8298d","updated":"2015-11-12 08:28:03.000000000","message":"Done","commit_id":"23cd204b4426de24c7474f2c491345b50b5a4107"}]}
