Move schedule filter check to compute module

As part of the work of making test.py stable for plugins, the
is_scheduler_filter_enabled helper has to be moved, since it's
compute specific, legacy and not useful outside of Tempest.

Change-Id: I6efda7372d1e8a2028853a63f6793f680df86d64
This commit is contained in:
Andrea Frittoli 2017-08-07 21:06:27 +01:00
parent e31581afea
commit 88eb677da9
6 changed files with 30 additions and 28 deletions

View File

@ -163,7 +163,7 @@ class LiveMigrationRemoteConsolesV26Test(LiveMigrationTest):
@testtools.skipUnless(CONF.compute_feature_enabled.serial_console,
'Serial console not supported.')
@testtools.skipUnless(
test.is_scheduler_filter_enabled("DifferentHostFilter"),
compute.is_scheduler_filter_enabled("DifferentHostFilter"),
'DifferentHostFilter is not available.')
def test_live_migration_serial_console(self):
"""Test the live-migration of an instance which has a serial console

View File

@ -15,9 +15,9 @@
import testtools
from tempest.api.compute import base
from tempest.common import compute
from tempest import config
from tempest.lib import decorators
from tempest import test
CONF = config.CONF
@ -45,7 +45,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest):
@decorators.idempotent_id('26a9d5df-6890-45f2-abc4-a659290cb130')
@testtools.skipUnless(
test.is_scheduler_filter_enabled("SameHostFilter"),
compute.is_scheduler_filter_enabled("SameHostFilter"),
'SameHostFilter is not available.')
def test_create_servers_on_same_host(self):
hints = {'same_host': self.server01}
@ -56,7 +56,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest):
@decorators.idempotent_id('cc7ca884-6e3e-42a3-a92f-c522fcf25e8e')
@testtools.skipUnless(
test.is_scheduler_filter_enabled("DifferentHostFilter"),
compute.is_scheduler_filter_enabled("DifferentHostFilter"),
'DifferentHostFilter is not available.')
def test_create_servers_on_different_hosts(self):
hints = {'different_host': self.server01}
@ -67,7 +67,7 @@ class ServersOnMultiNodesTest(base.BaseV2ComputeAdminTest):
@decorators.idempotent_id('7869cc84-d661-4e14-9f00-c18cdc89cf57')
@testtools.skipUnless(
test.is_scheduler_filter_enabled("DifferentHostFilter"),
compute.is_scheduler_filter_enabled("DifferentHostFilter"),
'DifferentHostFilter is not available.')
def test_create_servers_on_different_hosts_with_list_of_servers(self):
# This scheduler-hint supports list of servers also.

View File

@ -17,6 +17,7 @@ import netaddr
import testtools
from tempest.api.compute import base
from tempest.common import compute
from tempest.common.utils.linux import remote_client
from tempest import config
from tempest.lib.common.utils import data_utils
@ -134,7 +135,7 @@ class ServersTestJSON(base.BaseV2ComputeTest):
@decorators.idempotent_id('ed20d3fb-9d1f-4329-b160-543fbd5d9811')
@testtools.skipUnless(
test.is_scheduler_filter_enabled("ServerGroupAffinityFilter"),
compute.is_scheduler_filter_enabled("ServerGroupAffinityFilter"),
'ServerGroupAffinityFilter is not available.')
def test_create_server_with_scheduler_hint_group(self):
# Create a server with the scheduler hint "group".

View File

@ -41,6 +41,27 @@ CONF = config.CONF
LOG = logging.getLogger(__name__)
def is_scheduler_filter_enabled(filter_name):
"""Check the list of enabled compute scheduler filters from config.
This function checks whether the given compute scheduler filter is
available and configured in the config file. If the
scheduler_available_filters option is set to 'all' (Default value. which
means default filters are configured in nova) in tempest.conf then, this
function returns True with assumption that requested filter 'filter_name'
is one of available filter in nova ("nova.scheduler.filters.all_filters").
"""
filters = CONF.compute_feature_enabled.scheduler_available_filters
if not filters:
return False
if 'all' in filters:
return True
if filter_name in filters:
return True
return False
def create_test_server(clients, validatable=False, validation_resources=None,
tenant_network=None, wait_until=None,
volume_backed=False, name=None, flavor=None,

View File

@ -15,6 +15,7 @@
from oslo_log import log
import testtools
from tempest.common import compute
from tempest.common.utils import net_info
from tempest import config
from tempest.lib.common.utils import data_utils
@ -162,7 +163,7 @@ class TestSecurityGroupsBasicOps(manager.NetworkScenarioTest):
super(TestSecurityGroupsBasicOps, cls).resource_setup()
cls.multi_node = CONF.compute.min_compute_nodes > 1 and \
test.is_scheduler_filter_enabled("DifferentHostFilter")
compute.is_scheduler_filter_enabled("DifferentHostFilter")
if cls.multi_node:
LOG.info("Working in Multi Node mode")
else:

View File

@ -144,27 +144,6 @@ def is_extension_enabled(extension_name, service):
return False
def is_scheduler_filter_enabled(filter_name):
"""Check the list of enabled compute scheduler filters from config.
This function checks whether the given compute scheduler filter is
available and configured in the config file. If the
scheduler_available_filters option is set to 'all' (Default value. which
means default filters are configured in nova) in tempest.conf then, this
function returns True with assumption that requested filter 'filter_name'
is one of available filter in nova ("nova.scheduler.filters.all_filters").
"""
filters = CONF.compute_feature_enabled.scheduler_available_filters
if not filters:
return False
if 'all' in filters:
return True
if filter_name in filters:
return True
return False
at_exit_set = set()