Migrate the preprov creds module to tempest lib

This commit migrates the preprovisioned credentials provider from
tempest/common into tempest/lib. As part of this 2 dependencies are
also migrated to lib: the InvalidTestResource exception class and the
tempest.common.fixed_network module.

Change-Id: Ib9e909aaaf81f7cb57e2382cec44598e918747b8
This commit is contained in:
Matthew Treinish 2017-07-17 12:38:35 -04:00
parent c51b712dec
commit b19c55df4b
No known key found for this signature in database
GPG Key ID: FD12A0F214C9E177
15 changed files with 42 additions and 28 deletions

View File

@ -14,3 +14,10 @@ The dynamic credentials module
.. automodule:: tempest.lib.common.dynamic_creds .. automodule:: tempest.lib.common.dynamic_creds
:members: :members:
--------------------------------------
The pre-provisioned credentials module
--------------------------------------
.. automodule:: tempest.lib.common.preprov_creds
:members:

View File

@ -0,0 +1,11 @@
---
features:
- The tempest module tempest.common.preprov_creds which is used to provide
credentials from a list of preprovisioned resources has been migrated into
tempest lib at tempest.lib.common.preprov_creds.
- The InvalidTestResource exception class from tempest.exceptions has been
migrated into tempest.lib.exceptions
- The tempest module tempest.common.fixed_network which provided utilities for
finding fixed networks by and helpers for picking the network to use when
multiple tenant networks are available has been migrated into tempest lib
at tempest.lib.common.fixed_network.

View File

@ -14,8 +14,8 @@
from tempest.api.compute import base from tempest.api.compute import base
from tempest.common import compute from tempest.common import compute
from tempest.common import fixed_network
from tempest.common import waiters from tempest.common import waiters
from tempest.lib.common import fixed_network
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators

View File

@ -15,9 +15,9 @@
import testtools import testtools
from tempest.api.compute import base from tempest.api.compute import base
from tempest.common import fixed_network
from tempest.common import waiters from tempest.common import waiters
from tempest import config from tempest import config
from tempest.lib.common import fixed_network
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils
from tempest.lib import decorators from tempest.lib import decorators

View File

@ -25,9 +25,9 @@ from six.moves.urllib import parse as urlparse
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import excutils from oslo_utils import excutils
from tempest.common import fixed_network
from tempest.common import waiters from tempest.common import waiters
from tempest import config from tempest import config
from tempest.lib.common import fixed_network
from tempest.lib.common import rest_client from tempest.lib.common import rest_client
from tempest.lib.common.utils import data_utils from tempest.lib.common.utils import data_utils

View File

@ -14,10 +14,10 @@
from oslo_concurrency import lockutils from oslo_concurrency import lockutils
from tempest import clients from tempest import clients
from tempest.common import preprov_creds
from tempest import config from tempest import config
from tempest.lib import auth from tempest.lib import auth
from tempest.lib.common import dynamic_creds from tempest.lib.common import dynamic_creds
from tempest.lib.common import preprov_creds
from tempest.lib import exceptions from tempest.lib import exceptions
CONF = config.CONF CONF = config.CONF

View File

@ -52,12 +52,5 @@ class ServerUnreachable(exceptions.TempestException):
"the configured network") "the configured network")
# NOTE(andreaf) This exception is added here to facilitate the migration
# of get_network_from_name and preprov_creds to tempest.lib, and it should
# be migrated along with them
class InvalidTestResource(exceptions.TempestException):
message = "%(name)s is not a valid %(type)s, or the name is ambiguous"
class RFCViolation(exceptions.RestClientException): class RFCViolation(exceptions.RestClientException):
message = "RFC Violation" message = "RFC Violation"

View File

@ -14,8 +14,8 @@ import copy
from oslo_log import log as logging from oslo_log import log as logging
from tempest import exceptions
from tempest.lib.common.utils import test_utils from tempest.lib.common.utils import test_utils
from tempest.lib import exceptions
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)

View File

@ -20,10 +20,9 @@ from oslo_log import log as logging
import six import six
import yaml import yaml
from tempest.common import fixed_network
from tempest import exceptions
from tempest.lib import auth from tempest.lib import auth
from tempest.lib.common import cred_provider from tempest.lib.common import cred_provider
from tempest.lib.common import fixed_network
from tempest.lib import exceptions as lib_exc from tempest.lib import exceptions as lib_exc
from tempest.lib.services import clients from tempest.lib.services import clients
@ -350,7 +349,7 @@ class PreProvisionedCredentialProvider(cred_provider.CredentialProvider):
try: try:
network = fixed_network.get_network_from_name( network = fixed_network.get_network_from_name(
net_name, compute_network_client) net_name, compute_network_client)
except exceptions.InvalidTestResource: except lib_exc.InvalidTestResource:
network = {} network = {}
net_creds.set_resources(network=network) net_creds.set_resources(network=network)
return net_creds return net_creds

View File

@ -269,3 +269,7 @@ class VolumeBackupException(TempestException):
class DeleteErrorException(TempestException): class DeleteErrorException(TempestException):
message = ("Resource %(resource_id)s failed to delete " message = ("Resource %(resource_id)s failed to delete "
"and is in ERROR status") "and is in ERROR status")
class InvalidTestResource(TempestException):
message = "%(name)s is not a valid %(type)s, or the name is ambiguous"

View File

@ -26,10 +26,10 @@ import testtools
from tempest import clients from tempest import clients
from tempest.common import credentials_factory as credentials from tempest.common import credentials_factory as credentials
from tempest.common import fixed_network
import tempest.common.validation_resources as vresources import tempest.common.validation_resources as vresources
from tempest import config from tempest import config
from tempest.lib.common import cred_client from tempest.lib.common import cred_client
from tempest.lib.common import fixed_network
from tempest.lib import decorators from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc from tempest.lib import exceptions as lib_exc

View File

@ -53,7 +53,7 @@ class TestAdminAvailable(base.TestCase):
'password': 'p', 'password': 'p',
'types': ['admin']}) 'types': ['admin']})
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=accounts)) return_value=accounts))
cfg.CONF.set_default('test_accounts_file', cfg.CONF.set_default('test_accounts_file',
use_accounts_file, group='auth') use_accounts_file, group='auth')

View File

@ -40,7 +40,7 @@ class TestAltAvailable(base.TestCase):
project_name="t%s" % ii, project_name="t%s" % ii,
password="p") for ii in creds] password="p") for ii in creds]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=accounts)) return_value=accounts))
cfg.CONF.set_default('test_accounts_file', cfg.CONF.set_default('test_accounts_file',
use_accounts_file, group='auth') use_accounts_file, group='auth')

View File

@ -24,10 +24,10 @@ import fixtures
from oslo_concurrency.fixture import lockutils as lockutils_fixtures from oslo_concurrency.fixture import lockutils as lockutils_fixtures
from oslo_config import cfg from oslo_config import cfg
from tempest.common import preprov_creds
from tempest import config from tempest import config
from tempest.lib import auth from tempest.lib import auth
from tempest.lib.common import cred_provider from tempest.lib.common import cred_provider
from tempest.lib.common import preprov_creds
from tempest.lib import exceptions as lib_exc from tempest.lib import exceptions as lib_exc
from tempest.tests import base from tempest.tests import base
from tempest.tests import fake_config from tempest.tests import fake_config
@ -88,7 +88,7 @@ class TestPreProvisionedCredentials(base.TestCase):
self.useFixture(lockutils_fixtures.ExternalLockFixture()) self.useFixture(lockutils_fixtures.ExternalLockFixture())
self.test_accounts = self._fake_accounts(cfg.CONF.identity.admin_role) self.test_accounts = self._fake_accounts(cfg.CONF.identity.admin_role)
self.accounts_mock = self.useFixture(fixtures.MockPatch( self.accounts_mock = self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=self.test_accounts)) return_value=self.test_accounts))
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'os.path.isfile', return_value=True)) 'os.path.isfile', return_value=True))
@ -271,7 +271,7 @@ class TestPreProvisionedCredentials(base.TestCase):
def test_is_not_multi_user(self): def test_is_not_multi_user(self):
self.test_accounts = [self.test_accounts[0]] self.test_accounts = [self.test_accounts[0]]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=self.test_accounts)) return_value=self.test_accounts))
test_accounts_class = preprov_creds.PreProvisionedCredentialProvider( test_accounts_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params) **self.fixed_params)
@ -335,7 +335,7 @@ class TestPreProvisionedCredentials(base.TestCase):
'password': 'p', 'roles': ['role-7', 'role-11'], 'password': 'p', 'roles': ['role-7', 'role-11'],
'resources': {'network': 'network-2'}}] 'resources': {'network': 'network-2'}}]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=test_accounts)) return_value=test_accounts))
test_accounts_class = preprov_creds.PreProvisionedCredentialProvider( test_accounts_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params) **self.fixed_params)
@ -363,7 +363,7 @@ class TestPreProvisionedCredentials(base.TestCase):
admin_accounts = [x for x in self.test_accounts if 'test_admin' admin_accounts = [x for x in self.test_accounts if 'test_admin'
in x['username']] in x['username']]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=admin_accounts)) return_value=admin_accounts))
test_accounts_class = preprov_creds.PreProvisionedCredentialProvider( test_accounts_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params) **self.fixed_params)
@ -381,7 +381,7 @@ class TestPreProvisionedCredentials(base.TestCase):
admin_accounts = [x for x in self.test_accounts if 'test_admin' admin_accounts = [x for x in self.test_accounts if 'test_admin'
in x['username']] in x['username']]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=admin_accounts)) return_value=admin_accounts))
test_accounts_class = preprov_creds.PreProvisionedCredentialProvider( test_accounts_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params) **self.fixed_params)
@ -402,7 +402,7 @@ class TestPreProvisionedCredentials(base.TestCase):
{'username': 'test_admin1', 'tenant_name': 'test_tenant11', {'username': 'test_admin1', 'tenant_name': 'test_tenant11',
'password': 'p', 'types': ['admin']}] 'password': 'p', 'types': ['admin']}]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=test_accounts)) return_value=test_accounts))
test_accounts_class = preprov_creds.PreProvisionedCredentialProvider( test_accounts_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params) **self.fixed_params)
@ -416,7 +416,7 @@ class TestPreProvisionedCredentials(base.TestCase):
{'username': 'test_admin1', 'tenant_name': 'test_tenant11', {'username': 'test_admin1', 'tenant_name': 'test_tenant11',
'password': 'p', 'roles': [cfg.CONF.identity.admin_role]}] 'password': 'p', 'roles': [cfg.CONF.identity.admin_role]}]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=test_accounts)) return_value=test_accounts))
test_accounts_class = preprov_creds.PreProvisionedCredentialProvider( test_accounts_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params) **self.fixed_params)
@ -427,7 +427,7 @@ class TestPreProvisionedCredentials(base.TestCase):
non_admin_accounts = [x for x in self.test_accounts if 'test_admin' non_admin_accounts = [x for x in self.test_accounts if 'test_admin'
not in x['username']] not in x['username']]
self.useFixture(fixtures.MockPatch( self.useFixture(fixtures.MockPatch(
'tempest.common.preprov_creds.read_accounts_yaml', 'tempest.lib.common.preprov_creds.read_accounts_yaml',
return_value=non_admin_accounts)) return_value=non_admin_accounts))
test_accounts_class = preprov_creds.PreProvisionedCredentialProvider( test_accounts_class = preprov_creds.PreProvisionedCredentialProvider(
**self.fixed_params) **self.fixed_params)

View File

@ -16,8 +16,8 @@ import mock
from tempest import clients from tempest import clients
from tempest.common import credentials_factory as credentials from tempest.common import credentials_factory as credentials
from tempest.common import fixed_network
from tempest import config from tempest import config
from tempest.lib.common import fixed_network
from tempest import test from tempest import test
from tempest.tests import base from tempest.tests import base
from tempest.tests import fake_config from tempest.tests import fake_config