Merge "libvirt: Make scheduler filters customizable"
This commit is contained in:
commit
b973d44f0e
@ -14,12 +14,13 @@
|
||||
# under the License.
|
||||
|
||||
import copy
|
||||
import fixtures
|
||||
import io
|
||||
|
||||
import fixtures
|
||||
import mock
|
||||
|
||||
from nova import conf
|
||||
from nova.objects import fields as obj_fields
|
||||
|
||||
from nova.tests import fixtures as nova_fixtures
|
||||
from nova.tests.functional import fixtures as func_fixtures
|
||||
from nova.tests.functional import test_servers as base
|
||||
@ -27,8 +28,13 @@ from nova.tests.unit.virt.libvirt import fake_imagebackend
|
||||
from nova.tests.unit.virt.libvirt import fakelibvirt
|
||||
|
||||
|
||||
CONF = conf.CONF
|
||||
|
||||
|
||||
class ServersTestBase(base.ServersTestBase):
|
||||
|
||||
ADDITIONAL_FILTERS = []
|
||||
|
||||
def setUp(self):
|
||||
super(ServersTestBase, self).setUp()
|
||||
|
||||
@ -80,6 +86,15 @@ class ServersTestBase(base.ServersTestBase):
|
||||
# service in the test
|
||||
self.flags(compute_driver='libvirt.LibvirtDriver')
|
||||
|
||||
def _setup_scheduler_service(self):
|
||||
enabled_filters = CONF.filter_scheduler.enabled_filters
|
||||
enabled_filters += self.ADDITIONAL_FILTERS
|
||||
|
||||
self.flags(driver='filter_scheduler', group='scheduler')
|
||||
self.flags(enabled_filters=enabled_filters, group='filter_scheduler')
|
||||
|
||||
return self.start_service('scheduler')
|
||||
|
||||
def _get_connection(self, host_info, pci_info=None,
|
||||
libvirt_version=fakelibvirt.FAKE_LIBVIRT_VERSION,
|
||||
mdev_info=None):
|
||||
|
@ -33,6 +33,8 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
class NUMAServersTestBase(base.ServersTestBase):
|
||||
|
||||
ADDITIONAL_FILTERS = ['NUMATopologyFilter']
|
||||
|
||||
def setUp(self):
|
||||
super(NUMAServersTestBase, self).setUp()
|
||||
|
||||
@ -47,14 +49,6 @@ class NUMAServersTestBase(base.ServersTestBase):
|
||||
self.mock_filter = _p.start()
|
||||
self.addCleanup(_p.stop)
|
||||
|
||||
def _setup_scheduler_service(self):
|
||||
# Enable the 'NUMATopologyFilter'
|
||||
self.flags(driver='filter_scheduler', group='scheduler')
|
||||
self.flags(enabled_filters=CONF.filter_scheduler.enabled_filters +
|
||||
['NUMATopologyFilter'],
|
||||
group='filter_scheduler')
|
||||
return self.start_service('scheduler')
|
||||
|
||||
|
||||
class NUMAServersTest(NUMAServersTestBase):
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
|
||||
import fixtures
|
||||
import mock
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
from oslo_serialization import jsonutils
|
||||
|
||||
@ -24,12 +23,13 @@ from nova.tests.functional.libvirt import base
|
||||
from nova.tests.unit.virt.libvirt import fakelibvirt
|
||||
|
||||
|
||||
CONF = cfg.CONF
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class _PCIServersTestBase(base.ServersTestBase):
|
||||
|
||||
ADDITIONAL_FILTERS = ['NUMATopologyFilter', 'PciPassthroughFilter']
|
||||
|
||||
def setUp(self):
|
||||
self.flags(passthrough_whitelist=self.PCI_PASSTHROUGH_WHITELIST,
|
||||
alias=self.PCI_ALIAS,
|
||||
@ -49,16 +49,6 @@ class _PCIServersTestBase(base.ServersTestBase):
|
||||
'.PciPassthroughFilter.host_passes',
|
||||
side_effect=host_pass_mock)).mock
|
||||
|
||||
def _setup_scheduler_service(self):
|
||||
# Enable the 'NUMATopologyFilter', 'PciPassthroughFilter'
|
||||
enabled_filters = CONF.filter_scheduler.enabled_filters + [
|
||||
'NUMATopologyFilter', 'PciPassthroughFilter']
|
||||
|
||||
self.flags(driver='filter_scheduler', group='scheduler')
|
||||
self.flags(enabled_filters=enabled_filters, group='filter_scheduler')
|
||||
|
||||
return self.start_service('scheduler')
|
||||
|
||||
def _run_build_test(self, flavor_id, end_status='ACTIVE'):
|
||||
|
||||
if not self.compute_started:
|
||||
|
@ -20,6 +20,8 @@ from nova.tests.unit.virt.libvirt import fakelibvirt
|
||||
|
||||
class RealTimeServersTest(base.ServersTestBase):
|
||||
|
||||
ADDITIONAL_FILTERS = ['NUMATopologyFilter']
|
||||
|
||||
def setUp(self):
|
||||
super(RealTimeServersTest, self).setUp()
|
||||
self.flags(sysinfo_serial='none', group='libvirt')
|
||||
|
Loading…
Reference in New Issue
Block a user