summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2013-03-16 10:24:20 -0400
committerDan Prince <dprince@redhat.com>2013-03-16 10:26:02 -0400
commit6031a81fd5e513473e82fb65a46cec56c5613379 (patch)
treecce59a597fb3e79ba0dfb7cbbc8c4f10cbdd792c
parent9ee8c946f2cf0f541f14a25505ceaaac7c0a53cd (diff)
downloadnova-6031a81fd5e513473e82fb65a46cec56c5613379.tar.gz
nova-6031a81fd5e513473e82fb65a46cec56c5613379.tar.xz
nova-6031a81fd5e513473e82fb65a46cec56c5613379.zip
Revert "Remove the usage of instance['extra_specs'
This reverts commit 76c47c1c3057d5ee479cf1e55b803f5ac9faba1d. Fix libvirt vif get_config interface breakage. In 76c47c1 we added a new arg to the libvirt vif driver get_config interface (instance_type=None). We did not update all the libvirt drivers to use it however which can break things badly (instances fail to spawn, etc). We clearly need more test coverage here as well. This should fix SmokeStack. Fixes LP Bug #1155950. Change-Id: I073d119ea2bfd5c314d2d8c8bbf2f6d7d649753a
-rw-r--r--nova/tests/fake_network.py3
-rwxr-xr-xnova/virt/libvirt/driver.py3
-rw-r--r--nova/virt/libvirt/vif.py18
3 files changed, 8 insertions, 16 deletions
diff --git a/nova/tests/fake_network.py b/nova/tests/fake_network.py
index a51a40f16..42ce71ded 100644
--- a/nova/tests/fake_network.py
+++ b/nova/tests/fake_network.py
@@ -54,8 +54,7 @@ class FakeVIFDriver(object):
def setattr(self, key, val):
self.__setattr__(key, val)
- def get_config(self, instance, network, mapping, image_meta,
- inst_type=None):
+ def get_config(self, instance, network, mapping, image_meta):
conf = libvirt_config.LibvirtConfigGuestInterface()
for attr, val in conf.__dict__.iteritems():
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 4ad7f2619..eabe75c73 100755
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -2247,8 +2247,7 @@ class LibvirtDriver(driver.ComputeDriver):
for (network, mapping) in network_info:
cfg = self.vif_driver.get_config(instance,
network, mapping,
- image_meta,
- inst_type)
+ image_meta)
guest.add_device(cfg)
if CONF.libvirt_type == "qemu" or CONF.libvirt_type == "kvm":
diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py
index 1fe7385e1..68b0505aa 100644
--- a/nova/virt/libvirt/vif.py
+++ b/nova/virt/libvirt/vif.py
@@ -92,8 +92,7 @@ class LibvirtBaseVIFDriver(object):
return mapping['vif_devname']
return ("nic" + mapping['vif_uuid'])[:network_model.NIC_NAME_LEN]
- def get_config(self, instance, network, mapping, image_meta,
- inst_type=None):
+ def get_config(self, instance, network, mapping, image_meta):
conf = vconfig.LibvirtConfigGuestInterface()
# Default to letting libvirt / the hypervisor choose the model
model = None
@@ -160,15 +159,13 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
return True
return False
- def get_config_bridge(self, instance, network, mapping, image_meta,
- inst_type=None):
+ def get_config_bridge(self, instance, network, mapping, image_meta):
"""Get VIF configurations for bridge type."""
conf = super(LibvirtGenericVIFDriver,
self).get_config(instance,
network,
mapping,
- image_meta,
- inst_type)
+ image_meta)
designer.set_vif_host_backend_bridge_config(
conf, self.get_bridge_name(network),
@@ -178,8 +175,7 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
name = "nova-instance-" + instance['name'] + "-" + mac_id
if self.get_firewall_required():
conf.filtername = name
- if inst_type and inst_type.get('extra_specs') is not None:
- designer.set_vif_bandwidth_config(conf, inst_type['extra_specs'])
+ designer.set_vif_bandwidth_config(conf, instance)
return conf
@@ -262,8 +258,7 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
return conf
- def get_config(self, instance, network, mapping, image_meta,
- inst_type=None):
+ def get_config(self, instance, network, mapping, image_meta):
vif_type = mapping.get('vif_type')
LOG.debug(_("vif_type=%(vif_type)s instance=%(instance)s "
@@ -278,8 +273,7 @@ class LibvirtGenericVIFDriver(LibvirtBaseVIFDriver):
if vif_type == network_model.VIF_TYPE_BRIDGE:
return self.get_config_bridge(instance,
network, mapping,
- image_meta,
- inst_type)
+ image_meta)
elif vif_type == network_model.VIF_TYPE_OVS:
return self.get_config_ovs(instance,
network, mapping,