From 85f857e62a5edacbf467c19add6e51565ae3669f Mon Sep 17 00:00:00 2001 From: Gary Kotton Date: Sat, 8 Dec 2012 08:54:16 +0000 Subject: Add vif_type to the VIF model This is part of blueprint vif-plugging-improvements. The patch has two parts: 1. Add support for vif_type to the VIF model 2. Read the vif_type from the Quantum port binding The patch is backward compatible, that is, a quantum plugin does not need to return the vif_type. Change-Id: Ice772f00b22163da98b98a2c69a0a4ad3f5526ff --- nova/tests/network/test_manager.py | 1 + nova/tests/network/test_network_info.py | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) (limited to 'nova/tests') diff --git a/nova/tests/network/test_manager.py b/nova/tests/network/test_manager.py index 700b74141..596c88f13 100644 --- a/nova/tests/network/test_manager.py +++ b/nova/tests/network/test_manager.py @@ -180,6 +180,7 @@ class FlatNetworkTestCase(test.TestCase): 'label': 'test%d' % nid, 'mac': 'DE:AD:BE:EF:00:%02x' % nid, 'rxtx_cap': 30, + 'vif_type': None, 'vif_uuid': '00000000-0000-0000-0000-00000000000000%02d' % nid, 'should_create_vlan': False, diff --git a/nova/tests/network/test_network_info.py b/nova/tests/network/test_network_info.py index c9b17306d..3e19a4461 100644 --- a/nova/tests/network/test_network_info.py +++ b/nova/tests/network/test_network_info.py @@ -259,6 +259,19 @@ class VIFTests(test.TestCase): self.assertEqual(vif['network'], fake_network_cache_model.new_network()) + def test_create_vif_with_type(self): + vif_dict = dict( + id=1, + address='aa:aa:aa:aa:aa:aa', + network=fake_network_cache_model.new_network(), + type='bridge') + vif = fake_network_cache_model.new_vif(vif_dict) + self.assertEqual(vif['id'], 1) + self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa') + self.assertEqual(vif['type'], 'bridge') + self.assertEqual(vif['network'], + fake_network_cache_model.new_network()) + def test_vif_get_fixed_ips(self): vif = fake_network_cache_model.new_vif() fixed_ips = vif.fixed_ips() @@ -296,6 +309,19 @@ class VIFTests(test.TestCase): self.assertEqual(vif['network'], fake_network_cache_model.new_network()) + def test_hydrate_vif_with_type(self): + vif_dict = dict( + id=1, + address='aa:aa:aa:aa:aa:aa', + network=fake_network_cache_model.new_network(), + type='bridge') + vif = model.VIF.hydrate(fake_network_cache_model.new_vif(vif_dict)) + self.assertEqual(vif['id'], 1) + self.assertEqual(vif['address'], 'aa:aa:aa:aa:aa:aa') + self.assertEqual(vif['type'], 'bridge') + self.assertEqual(vif['network'], + fake_network_cache_model.new_network()) + class NetworkInfoTests(test.TestCase): def test_create_model(self): -- cgit