diff --git a/nova/db/main/api.py b/nova/db/main/api.py index d7ad3c39a5..90452631d9 100644 --- a/nova/db/main/api.py +++ b/nova/db/main/api.py @@ -1061,9 +1061,9 @@ def _virtual_interface_query(context): @require_context @pick_context_manager_writer -def virtual_interface_update(context, address, values): +def virtual_interface_update(context, vif_uuid, values): """Create a virtual interface record in the database.""" - vif_ref = virtual_interface_get_by_address(context, address) + vif_ref = virtual_interface_get_by_uuid(context, vif_uuid) vif_ref.update(values) vif_ref.save(context.session) return vif_ref diff --git a/nova/objects/virtual_interface.py b/nova/objects/virtual_interface.py index d553c448b4..eac3ea84ac 100644 --- a/nova/objects/virtual_interface.py +++ b/nova/objects/virtual_interface.py @@ -110,7 +110,7 @@ class VirtualInterface(base.NovaPersistentObject, base.NovaObject): raise exception.ObjectActionError(action='save', reason='address is not mutable') db_vif = main_db_api.virtual_interface_update( - self._context, self.address, updates) + self._context, self.uuid, updates) return self._from_db_object(self._context, self, db_vif) @base.remotable_classmethod diff --git a/nova/tests/unit/db/main/test_api.py b/nova/tests/unit/db/main/test_api.py index d8dcd5734c..c544952506 100644 --- a/nova/tests/unit/db/main/test_api.py +++ b/nova/tests/unit/db/main/test_api.py @@ -5036,10 +5036,10 @@ class VirtualInterfaceTestCase(test.TestCase, ModelsObjectComparatorMixin): 'tag': 'bar', 'deleted': 0} ignored_keys = ['created_at', 'id', 'deleted_at', 'updated_at'] - vif_addr = db.virtual_interface_create(self.ctxt, create)['address'] - db.virtual_interface_update(self.ctxt, vif_addr, update) - updated_vif = db.virtual_interface_get_by_address(self.ctxt, - updated['address']) + vif_uuid = db.virtual_interface_create(self.ctxt, create)['uuid'] + db.virtual_interface_update(self.ctxt, vif_uuid, update) + updated_vif = db.virtual_interface_get_by_uuid(self.ctxt, + updated['uuid']) self._assertEqualObjects(updated, updated_vif, ignored_keys) diff --git a/nova/tests/unit/objects/test_virtual_interface.py b/nova/tests/unit/objects/test_virtual_interface.py index a806668c6b..9deaefdfa4 100644 --- a/nova/tests/unit/objects/test_virtual_interface.py +++ b/nova/tests/unit/objects/test_virtual_interface.py @@ -108,7 +108,7 @@ class _TestVirtualInterface(object): vif.address = '00:00:00:00:00:00' vif.network_id = 123 vif.instance_uuid = uuids.instance_uuid - vif.uuid = uuids.vif_uuid + vif.uuid = '4c461286-ff41-4e8c-a592-6afdc8f345fd' vif.tag = 'foo' vif.create() @@ -116,8 +116,9 @@ class _TestVirtualInterface(object): update.return_value = fake_vif vif.tag = 'bar' vif.save() - update.assert_called_once_with(self.context, '00:00:00:00:00:00', - {'tag': 'bar'}) + update.assert_called_once_with(self.context, + '4c461286-ff41-4e8c-a592-6afdc8f345fd', + {'tag': 'bar'}) def test_delete_by_instance_uuid(self): with mock.patch.object(db,