From 5cfc529179302e8aefd1b255769d532881e22533 Mon Sep 17 00:00:00 2001 From: Michael Still Date: Fri, 8 Nov 2013 01:22:21 +1100 Subject: [PATCH] Move flag in libvirt's vif to the libvirt group This change continues moving libvirt specific flags into a libvirt specific configuration group. Progresses blueprint libvirt-opts-group. DocImpact: the following flag has been moved into the libvirt group: use_virtio_for_bridges (formerly libvirt_use_virtio_for_bridges) Change-Id: I755139f0a470a091e36760836c9200f15aa72c37 --- etc/nova/nova.conf.sample | 18 ++++++------- nova/tests/virt/libvirt/test_libvirt_vif.py | 30 ++++++++++++--------- nova/virt/libvirt/vif.py | 10 ++++--- 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/etc/nova/nova.conf.sample b/etc/nova/nova.conf.sample index bc0794c7d269..6e696b499a7b 100644 --- a/etc/nova/nova.conf.sample +++ b/etc/nova/nova.conf.sample @@ -1939,15 +1939,6 @@ #force_raw_images=true -# -# Options defined in nova.virt.libvirt.vif -# - -# Use virtio for bridge interfaces with KVM/QEMU (boolean -# value) -#libvirt_use_virtio_for_bridges=true - - # # Options defined in nova.virt.libvirt.volume # @@ -2674,6 +2665,15 @@ #snapshot_compression=false +# +# Options defined in nova.virt.libvirt.vif +# + +# Use virtio for bridge interfaces with KVM/QEMU (boolean +# value) +#use_virtio_for_bridges=true + + [baremetal] # diff --git a/nova/tests/virt/libvirt/test_libvirt_vif.py b/nova/tests/virt/libvirt/test_libvirt_vif.py index d0ce7e1f5075..77e87d9dfdb6 100644 --- a/nova/tests/virt/libvirt/test_libvirt_vif.py +++ b/nova/tests/virt/libvirt/test_libvirt_vif.py @@ -317,16 +317,18 @@ class LibvirtVifTestCase(test.TestCase): node.find("target").get("dev")) def test_model_novirtio(self): - self.flags(libvirt_use_virtio_for_bridges=False) - self.flags(virt_type='kvm', group='libvirt') + self.flags(use_virtio_for_bridges=False, + virt_type='kvm', + group='libvirt') d = vif.LibvirtGenericVIFDriver(self._get_conn()) xml = self._get_instance_xml(d, self.vif_bridge) self._assertModel(xml) def test_model_kvm(self): - self.flags(libvirt_use_virtio_for_bridges=True) - self.flags(virt_type='kvm', group='libvirt') + self.flags(use_virtio_for_bridges=True, + virt_type='kvm', + group='libvirt') d = vif.LibvirtGenericVIFDriver(self._get_conn()) xml = self._get_instance_xml(d, self.vif_bridge) @@ -334,8 +336,9 @@ class LibvirtVifTestCase(test.TestCase): self._assertModel(xml, "virtio") def test_model_kvm_custom(self): - self.flags(libvirt_use_virtio_for_bridges=True) - self.flags(virt_type='kvm', group='libvirt') + self.flags(use_virtio_for_bridges=True, + virt_type='kvm', + group='libvirt') d = vif.LibvirtGenericVIFDriver(self._get_conn()) image_meta = {'properties': {'hw_vif_model': 'e1000'}} @@ -344,8 +347,9 @@ class LibvirtVifTestCase(test.TestCase): self._assertModel(xml, "e1000") def test_model_kvm_bogus(self): - self.flags(libvirt_use_virtio_for_bridges=True) - self.flags(virt_type='kvm', group='libvirt') + self.flags(use_virtio_for_bridges=True, + virt_type='kvm', + group='libvirt') d = vif.LibvirtGenericVIFDriver(self._get_conn()) image_meta = {'properties': {'hw_vif_model': 'acme'}} @@ -356,8 +360,9 @@ class LibvirtVifTestCase(test.TestCase): image_meta) def test_model_qemu(self): - self.flags(libvirt_use_virtio_for_bridges=True) - self.flags(virt_type='qemu', group='libvirt') + self.flags(use_virtio_for_bridges=True, + virt_type='qemu', + group='libvirt') d = vif.LibvirtGenericVIFDriver(self._get_conn()) xml = self._get_instance_xml(d, self.vif_bridge) @@ -370,8 +375,9 @@ class LibvirtVifTestCase(test.TestCase): self._assertModel(xml, "virtio", "qemu") def test_model_xen(self): - self.flags(libvirt_use_virtio_for_bridges=True) - self.flags(virt_type='xen', group='libvirt') + self.flags(use_virtio_for_bridges=True, + virt_type='xen', + group='libvirt') d = vif.LibvirtGenericVIFDriver(self._get_conn("xen:///system")) xml = self._get_instance_xml(d, self.vif_bridge) diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py index 9e930cc665db..3b1bf1541be4 100644 --- a/nova/virt/libvirt/vif.py +++ b/nova/virt/libvirt/vif.py @@ -36,13 +36,15 @@ from nova.virt.libvirt import designer LOG = logging.getLogger(__name__) libvirt_vif_opts = [ - cfg.BoolOpt('libvirt_use_virtio_for_bridges', + cfg.BoolOpt('use_virtio_for_bridges', default=True, - help='Use virtio for bridge interfaces with KVM/QEMU'), + help='Use virtio for bridge interfaces with KVM/QEMU', + deprecated_group='DEFAULT', + deprecated_name='libvirt_use_virtio_for_bridges'), ] CONF = cfg.CONF -CONF.register_opts(libvirt_vif_opts) +CONF.register_opts(libvirt_vif_opts, 'libvirt') CONF.import_opt('virt_type', 'nova.virt.libvirt.driver', group='libvirt') CONF.import_opt('use_ipv6', 'nova.netconf') @@ -112,7 +114,7 @@ class LibvirtBaseVIFDriver(object): # to the global config parameter if (model is None and CONF.libvirt.virt_type in ('kvm', 'qemu') and - CONF.libvirt_use_virtio_for_bridges): + CONF.libvirt.use_virtio_for_bridges): model = "virtio" # Workaround libvirt bug, where it mistakenly