diff options
author | Dan Prince <dprince@redhat.com> | 2013-03-16 10:24:20 -0400 |
---|---|---|
committer | Dan Prince <dprince@redhat.com> | 2013-03-16 10:26:02 -0400 |
commit | 6031a81fd5e513473e82fb65a46cec56c5613379 (patch) | |
tree | cce59a597fb3e79ba0dfb7cbbc8c4f10cbdd792c | |
parent | 9ee8c946f2cf0f541f14a25505ceaaac7c0a53cd (diff) | |
download | nova-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.py | 3 | ||||
-rwxr-xr-x | nova/virt/libvirt/driver.py | 3 | ||||
-rw-r--r-- | nova/virt/libvirt/vif.py | 18 |
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, |