コード例 #1
0
 def _verify_credentials(self, credentials_class, filled=True,
                         identity_version=None):
     for ctype in common_creds.CREDENTIAL_TYPES:
         if identity_version is None:
             creds = common_creds.get_configured_credentials(
                 credential_type=ctype, fill_in=filled)
         else:
             creds = common_creds.get_configured_credentials(
                 credential_type=ctype, fill_in=filled,
                 identity_version=identity_version)
         self._check(creds, credentials_class, filled)
コード例 #2
0
ファイル: base.py プロジェクト: sidx64/magnum
    def get_credentials(self, name=None, type_of_creds="default"):
        if name is None:
            # Get name of test method
            name = inspect.stack()[1][3]
            if len(name) > 32:
                name = name[0:32]

        # Choose type of isolated creds
        self.ic = dynamic_creds.DynamicCredentialProvider(
            identity_version=config.Config.auth_version,
            name=name,
            admin_role=config.Config.admin_role,
            admin_creds=common_creds.get_configured_credentials(
                'identity_admin'))

        creds = None
        if "admin" == type_of_creds:
            creds = self.ic.get_admin_creds()
        elif "alt" == type_of_creds:
            creds = self.ic.get_alt_creds()
        elif "default" == type_of_creds:
            creds = self.ic.get_primary_creds()
        else:
            creds = self.ic.self.get_credentials(type_of_creds)
        return creds
コード例 #3
0
ファイル: base.py プロジェクト: youprofit/magnum
    def get_credentials(self, name=None, type_of_creds="default"):
        if name is None:
            # Get name of test method
            name = inspect.stack()[1][3]
            if len(name) > 32:
                name = name[0:32]

        # Choose type of isolated creds
        self.ic = dynamic_creds.DynamicCredentialProvider(
            identity_version=config.Config.auth_version,
            name=name,
            admin_role=config.Config.admin_role,
            admin_creds=common_creds.get_configured_credentials("identity_admin"),
        )

        creds = None
        if "admin" == type_of_creds:
            creds = self.ic.get_admin_creds()
        elif "alt" == type_of_creds:
            creds = self.ic.get_alt_creds()
        elif "default" == type_of_creds:
            creds = self.ic.get_primary_creds()
        else:
            creds = self.ic.self.get_credentials(type_of_creds)
        return creds
コード例 #4
0
 def __init__(
         self,
         credentials=common_creds.get_configured_credentials('user'),
         service=None):
     super(Manager, self).__init__(credentials, service)
     self.shares_client = shares_client.SharesClient(self.auth_provider)
     self.shares_v2_client = shares_v2_client.SharesV2Client(
         self.auth_provider)
コード例 #5
0
    def setUpClass(cls):
        super(ScenarioPolicyBase, cls).setUpClass()
        # auth provider for admin credentials
        creds = credentials.get_configured_credentials('identity_admin')
        auth_prov = tempestmanager.get_auth_provider(creds)

        cls.admin_manager.congress_client = policy_client.PolicyClient(
            auth_prov, "policy", CONF.identity.region)
コード例 #6
0
 def __init__(self,
              credentials=common_creds.get_configured_credentials(
                  'identity_admin'),
              service=None):
     super(Manager, self).__init__(credentials, service)
     self.service_broker_client = service_broker_client.ServiceBrokerClient(
         self.auth_provider)
     self.application_catalog_client = \
         application_catalog_client.ApplicationCatalogClient(
             self.auth_provider)
コード例 #7
0
ファイル: manager.py プロジェクト: youprofit/magnum
 def __init__(
         self,
         credentials=common_creds.get_configured_credentials(
             'identity_admin'),
         request_type=None):
     super(Manager, self).__init__(credentials, 'container')
     if request_type == 'baymodel':
         self.client = baymodel_client.BayModelClient(self.auth_provider)
     elif request_type == 'bay':
         self.client = bay_client.BayClient(self.auth_provider)
     elif request_type == 'service':
         self.client = magnum_service_client.MagnumServiceClient(
             self.auth_provider)
     else:
         self.client = client.MagnumClient(self.auth_provider)
コード例 #8
0
ファイル: manager.py プロジェクト: AvnishPal/magnum
 def __init__(self, credentials=None, request_type=None):
     if not credentials:
         credentials = common_creds.get_configured_credentials(
             'identity_admin')
     super(Manager, self).__init__(credentials, 'container-infra')
     self.auth_provider.orig_base_url = self.auth_provider.base_url
     self.auth_provider.base_url = self.bypassed_base_url
     if request_type == 'baymodel':
         self.client = baymodel_client.BayModelClient(self.auth_provider)
     elif request_type == 'bay':
         self.client = bay_client.BayClient(self.auth_provider)
     elif request_type == 'cert':
         self.client = cert_client.CertClient(self.auth_provider)
     elif request_type == 'service':
         self.client = magnum_service_client.MagnumServiceClient(
             self.auth_provider)
     else:
         self.client = client.MagnumClient(self.auth_provider)
コード例 #9
0
 def __init__(self, credentials=None, request_type=None):
     if not credentials:
         credentials = common_creds.get_configured_credentials(
             'identity_admin')
     super(Manager, self).__init__(credentials, 'container')
     self.auth_provider.orig_base_url = self.auth_provider.base_url
     self.auth_provider.base_url = self.bypassed_base_url
     if request_type == 'baymodel':
         self.client = baymodel_client.BayModelClient(self.auth_provider)
     elif request_type == 'bay':
         self.client = bay_client.BayClient(self.auth_provider)
     elif request_type == 'cert':
         self.client = cert_client.CertClient(self.auth_provider)
     elif request_type == 'service':
         self.client = magnum_service_client.MagnumServiceClient(
             self.auth_provider)
     else:
         self.client = client.MagnumClient(self.auth_provider)
コード例 #10
0
ファイル: base.py プロジェクト: pkdevboxy/magnum
    def get_clients_with_isolated_creds(self,
                                        name=None,
                                        type_of_creds="default",
                                        request_type=None):
        """Creates isolated creds.

        :param name: name, will be used for dynamic creds
        :param type_of_creds: admin, alt or default
        :param request_type: baymodel or service
        :returns: MagnumClient -- client with isolated creds.
        :returns: KeypairClient -- allows for creating of keypairs
        """
        if name is None:
            # Get name of test method
            name = inspect.stack()[1][3]
            if len(name) > 32:
                name = name[0:32]

        # Choose type of isolated creds
        self.ic = dynamic_creds.DynamicCredentialProvider(
            identity_version=config.Config.auth_version,
            name=name,
            admin_role=config.Config.admin_role,
            admin_creds=common_creds.get_configured_credentials(
                'identity_admin'))
        if "admin" == type_of_creds:
            creds = self.ic.get_admin_creds()
            manager_inst = manager.AdminManager(credentials=creds,
                                                request_type=request_type)
        elif "alt" == type_of_creds:
            creds = self.ic.get_alt_creds()
            manager_inst = manager.AltManager(credentials=creds,
                                              request_type=request_type)
        elif "default" == type_of_creds:
            creds = self.ic.get_primary_creds()
            manager_inst = manager.DefaultManager(credentials=creds,
                                                  request_type=request_type)
        else:
            creds = self.ic.self.get_credentials(type_of_creds)
            manager_inst = manager.DefaultManager(credentials=creds,
                                                  request_type=request_type)

        # create client with isolated creds
        return (manager_inst.client, manager_inst.keypairs_client)
コード例 #11
0
ファイル: base.py プロジェクト: toby82/murano
    def get_configured_isolated_creds(cls, type_of_creds='admin'):
        identity_version = cls.get_identity_version()
        if identity_version == 'v3':
            cls.admin_role = CONF.identity.admin_role
        else:
            cls.admin_role = 'admin'
        cls.dynamic_cred = dynamic_creds.DynamicCredentialProvider(
            identity_version=CONF.identity.auth_version,
            name=cls.__name__, admin_role=cls.admin_role,
            admin_creds=common_creds.get_configured_credentials(
                'identity_admin'))
        if type_of_creds == 'primary':
            creds = cls.dynamic_cred.get_primary_creds()
        elif type_of_creds == 'admin':
            creds = cls.dynamic_cred.get_admin_creds()
        elif type_of_creds == 'alt':
            creds = cls.dynamic_cred.get_alt_creds()
        else:
            creds = cls.dynamic_cred.get_credentials(type_of_creds)
        cls.dynamic_cred.type_of_creds = type_of_creds

        return creds
コード例 #12
0
ファイル: base.py プロジェクト: olivierlemasle/murano
    def get_configured_isolated_creds(cls, type_of_creds="admin"):

        identity_version = cls.get_identity_version()
        if identity_version == "v3":
            cls.admin_role = CONF.identity.admin_role
        else:
            cls.admin_role = "admin"
        cls.dynamic_cred = dynamic_creds.DynamicCredentialProvider(
            identity_version=CONF.application_catalog.identity_version,
            name=cls.__name__,
            admin_role=cls.admin_role,
            admin_creds=common_creds.get_configured_credentials("identity_admin"),
        )
        if type_of_creds == "primary":
            creds = cls.dynamic_cred.get_primary_creds()
        elif type_of_creds == "admin":
            creds = cls.dynamic_cred.get_admin_creds()
        elif type_of_creds == "alt":
            creds = cls.dynamic_cred.get_alt_creds()
        else:
            creds = cls.dynamic_cred.get_credentials(type_of_creds)
        cls.dynamic_cred.type_of_creds = type_of_creds

        return creds
コード例 #13
0
 def __init__(self, service=None):
     super(AdminManager, self).__init__(
         common_creds.get_configured_credentials('identity_admin'),
         service)
コード例 #14
0
ファイル: base.py プロジェクト: scottwedge/manila-base
    def provide_share_network(cls,
                              shares_client,
                              networks_client,
                              isolated_creds_client=None):
        """Used for finding/creating share network for multitenant driver.

        This method creates/gets entity share-network for one tenant. This
        share-network will be used for creation of service vm.

        :param shares_client: shares client, which requires share-network
        :param networks_client: network client from same tenant as shares
        :param isolated_creds_client: DynamicCredentialProvider instance
            If provided, then its networking will be used if needed.
            If not provided, then common network will be used if needed.
        :returns: str -- share network id for shares_client tenant
        :returns: None -- if single-tenant driver used
        """

        sc = shares_client

        if not CONF.share.multitenancy_enabled:
            # Assumed usage of a single-tenant driver
            share_network_id = None
        elif sc.share_network_id:
            # Share-network already exists, use it
            share_network_id = sc.share_network_id
        else:
            net_id = subnet_id = share_network_id = None

            if not isolated_creds_client:
                # Search for networks, created in previous runs
                search_word = "reusable"
                sn_name = "autogenerated_by_tempest_%s" % search_word
                service_net_name = "share-service"
                networks = networks_client.list_networks()
                if "networks" in networks.keys():
                    networks = networks["networks"]
                for network in networks:
                    if (service_net_name in network["name"]
                            and sc.tenant_id == network['tenant_id']):
                        net_id = network["id"]
                        if len(network["subnets"]) > 0:
                            subnet_id = network["subnets"][0]
                            break

                # Create suitable network
                if (net_id is None or subnet_id is None):
                    ic = dynamic_creds.DynamicCredentialProvider(
                        identity_version=CONF.identity.auth_version,
                        name=service_net_name,
                        admin_role=CONF.identity.admin_role,
                        admin_creds=common_creds.get_configured_credentials(
                            'identity_admin'))
                    net_data = ic._create_network_resources(sc.tenant_id)
                    network, subnet, router = net_data
                    net_id = network["id"]
                    subnet_id = subnet["id"]

                # Try get suitable share-network
                share_networks = sc.list_share_networks_with_detail()
                for sn in share_networks:
                    if (net_id == sn["neutron_net_id"]
                            and subnet_id == sn["neutron_subnet_id"]
                            and sn["name"] and search_word in sn["name"]):
                        share_network_id = sn["id"]
                        break
            else:
                sn_name = "autogenerated_by_tempest_for_isolated_creds"
                # Use precreated network and subnet from isolated creds
                net_id = isolated_creds_client.get_credentials(
                    isolated_creds_client.type_of_creds).network['id']
                subnet_id = isolated_creds_client.get_credentials(
                    isolated_creds_client.type_of_creds).subnet['id']

            # Create suitable share-network
            if share_network_id is None:
                sn_desc = "This share-network was created by tempest"
                sn = sc.create_share_network(name=sn_name,
                                             description=sn_desc,
                                             neutron_net_id=net_id,
                                             neutron_subnet_id=subnet_id)
                share_network_id = sn["id"]

        return share_network_id
コード例 #15
0
ファイル: base.py プロジェクト: scottwedge/manila-base
    def get_client_with_isolated_creds(cls,
                                       name=None,
                                       type_of_creds="admin",
                                       cleanup_in_class=False,
                                       client_version='1'):
        """Creates isolated creds.

        :param name: name, will be used for naming ic and related stuff
        :param type_of_creds: admin, alt or primary
        :param cleanup_in_class: defines place where to delete
        :returns: SharesClient -- shares client with isolated creds.
        :returns: To client added dict attr 'creds' with
        :returns: key elements 'tenant' and 'user'.
        """
        if name is None:
            # Get name of test method
            name = inspect.stack()[1][3]
            if len(name) > 32:
                name = name[0:32]

        # Choose type of isolated creds
        ic = dynamic_creds.DynamicCredentialProvider(
            identity_version=CONF.identity.auth_version,
            name=name,
            admin_role=CONF.identity.admin_role,
            admin_creds=common_creds.get_configured_credentials(
                'identity_admin'))
        if "admin" in type_of_creds:
            creds = ic.get_admin_creds()
        elif "alt" in type_of_creds:
            creds = ic.get_alt_creds()
        else:
            creds = ic.self.get_credentials(type_of_creds)
        ic.type_of_creds = type_of_creds

        # create client with isolated creds
        os = clients.Manager(credentials=creds)
        if client_version == '1':
            client = os.shares_client
        elif client_version == '2':
            client = os.shares_v2_client

        # Set place where will be deleted isolated creds
        ic_res = {
            "method": ic.clear_creds,
            "deleted": False,
        }
        if cleanup_in_class:
            cls.class_isolated_creds.insert(0, ic_res)
        else:
            cls.method_isolated_creds.insert(0, ic_res)

        # Provide share network
        if CONF.share.multitenancy_enabled:
            if not CONF.service_available.neutron:
                raise cls.skipException("Neutron support is required")
            nc = os.networks_client
            share_network_id = cls.provide_share_network(client, nc, ic)
            client.share_network_id = share_network_id
            resource = {
                "type": "share_network",
                "id": client.share_network_id,
                "client": client,
            }
            if cleanup_in_class:
                cls.class_resources.insert(0, resource)
            else:
                cls.method_resources.insert(0, resource)
        return client
コード例 #16
0
 def __init__(self, service=None, api_microversions=None):
     super(AdminManager, self).__init__(
         creds_factory.get_configured_credentials('identity_admin'),
         service,
         api_microversions
     )
コード例 #17
0
 def __init__(self, service=None, api_microversions=None):
     super(AdminManager, self).__init__(
         creds_factory.get_configured_credentials('identity_admin'),
         service, api_microversions)
コード例 #18
0
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#    License for the specific language governing permissions and limitations
#    under the License.

from tempest import clients
from tempest.common import credentials_factory as common_creds
from tempest import config

from ironic_tempest_plugin.services.baremetal.v1.json.baremetal_client import \
    BaremetalClient

CONF = config.CONF

ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')


class Manager(clients.Manager):
    def __init__(self,
                 credentials=ADMIN_CREDS,
                 service=None,
                 api_microversions=None):
        super(Manager, self).__init__(credentials, service)
        self.baremetal_client = BaremetalClient(
            self.auth_provider,
            CONF.baremetal.catalog_type,
            CONF.identity.region,
            endpoint_type=CONF.baremetal.endpoint_type,
            **self.default_params_with_timeout_values)
コード例 #19
0
ファイル: clients.py プロジェクト: paperandsoap/ironic
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#    License for the specific language governing permissions and limitations
#    under the License.

from tempest import clients
from tempest.common import credentials_factory as common_creds
from tempest import config

from ironic_tempest_plugin.services.baremetal.v1.json.baremetal_client import \
    BaremetalClient


CONF = config.CONF

ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')


class Manager(clients.Manager):
    def __init__(self,
                 credentials=ADMIN_CREDS,
                 service=None):
        """Initialization of Manager class.

        Setup service client and make it available for test cases.
        :param credentials: type Credentials or TestResources
        :param service: service name
        """
        super(Manager, self).__init__(credentials, service)
        self.baremetal_client = BaremetalClient(
            self.auth_provider,
コード例 #20
0
ファイル: base.py プロジェクト: bennettbuchanan/manila
    def get_client_with_isolated_creds(cls,
                                       name=None,
                                       type_of_creds="admin",
                                       cleanup_in_class=False,
                                       client_version='1'):
        """Creates isolated creds.

        :param name: name, will be used for naming ic and related stuff
        :param type_of_creds: admin, alt or primary
        :param cleanup_in_class: defines place where to delete
        :returns: SharesClient -- shares client with isolated creds.
        :returns: To client added dict attr 'creds' with
        :returns: key elements 'tenant' and 'user'.
        """
        if name is None:
            # Get name of test method
            name = inspect.stack()[1][3]
            if len(name) > 32:
                name = name[0:32]

        # Choose type of isolated creds
        ic = dynamic_creds.DynamicCredentialProvider(
            identity_version=CONF.identity.auth_version,
            name=name,
            admin_role=CONF.identity.admin_role,
            admin_creds=common_creds.get_configured_credentials(
                'identity_admin'))
        if "admin" in type_of_creds:
            creds = ic.get_admin_creds()
        elif "alt" in type_of_creds:
            creds = ic.get_alt_creds()
        else:
            creds = ic.self.get_credentials(type_of_creds)
        ic.type_of_creds = type_of_creds

        # create client with isolated creds
        os = clients.Manager(credentials=creds)
        if client_version == '1':
            client = os.shares_client
        elif client_version == '2':
            client = os.shares_v2_client

        # Set place where will be deleted isolated creds
        ic_res = {
            "method": ic.clear_creds,
            "deleted": False,
        }
        if cleanup_in_class:
            cls.class_isolated_creds.insert(0, ic_res)
        else:
            cls.method_isolated_creds.insert(0, ic_res)

        # Provide share network
        if CONF.share.multitenancy_enabled:
            if not CONF.service_available.neutron:
                raise cls.skipException("Neutron support is required")
            nc = os.networks_client
            share_network_id = cls.provide_share_network(client, nc, ic)
            client.share_network_id = share_network_id
            resource = {
                "type": "share_network",
                "id": client.share_network_id,
                "client": client,
            }
            if cleanup_in_class:
                cls.class_resources.insert(0, resource)
            else:
                cls.method_resources.insert(0, resource)
        return client
コード例 #21
0
 def __init__(self):
     super(AdminManager, self).__init__(
         creds_factory.get_configured_credentials('identity_admin'),
     )
コード例 #22
0
 def __init__(self, service=None):
     super(AltManager, self).__init__(
         common_creds.get_configured_credentials('alt_user'), service)
コード例 #23
0
ファイル: base.py プロジェクト: bennettbuchanan/manila
    def provide_share_network(cls, shares_client, networks_client,
                              isolated_creds_client=None):
        """Used for finding/creating share network for multitenant driver.

        This method creates/gets entity share-network for one tenant. This
        share-network will be used for creation of service vm.

        :param shares_client: shares client, which requires share-network
        :param networks_client: network client from same tenant as shares
        :param isolated_creds_client: DynamicCredentialProvider instance
            If provided, then its networking will be used if needed.
            If not provided, then common network will be used if needed.
        :returns: str -- share network id for shares_client tenant
        :returns: None -- if single-tenant driver used
        """

        sc = shares_client

        if not CONF.share.multitenancy_enabled:
            # Assumed usage of a single-tenant driver
            share_network_id = None
        elif sc.share_network_id:
            # Share-network already exists, use it
            share_network_id = sc.share_network_id
        else:
            net_id = subnet_id = share_network_id = None

            if not isolated_creds_client:
                # Search for networks, created in previous runs
                search_word = "reusable"
                sn_name = "autogenerated_by_tempest_%s" % search_word
                service_net_name = "share-service"
                networks = networks_client.list_networks()
                if "networks" in networks.keys():
                    networks = networks["networks"]
                for network in networks:
                    if (service_net_name in network["name"] and
                            sc.tenant_id == network['tenant_id']):
                        net_id = network["id"]
                        if len(network["subnets"]) > 0:
                            subnet_id = network["subnets"][0]
                            break

                # Create suitable network
                if (net_id is None or subnet_id is None):
                    ic = dynamic_creds.DynamicCredentialProvider(
                        identity_version=CONF.identity.auth_version,
                        name=service_net_name,
                        admin_role=CONF.identity.admin_role,
                        admin_creds=common_creds.get_configured_credentials(
                            'identity_admin'))
                    net_data = ic._create_network_resources(sc.tenant_id)
                    network, subnet, router = net_data
                    net_id = network["id"]
                    subnet_id = subnet["id"]

                # Try get suitable share-network
                share_networks = sc.list_share_networks_with_detail()
                for sn in share_networks:
                    if (net_id == sn["neutron_net_id"] and
                            subnet_id == sn["neutron_subnet_id"] and
                            sn["name"] and search_word in sn["name"]):
                        share_network_id = sn["id"]
                        break
            else:
                sn_name = "autogenerated_by_tempest_for_isolated_creds"
                # Use precreated network and subnet from isolated creds
                net_id = isolated_creds_client.get_credentials(
                    isolated_creds_client.type_of_creds).network['id']
                subnet_id = isolated_creds_client.get_credentials(
                    isolated_creds_client.type_of_creds).subnet['id']

            # Create suitable share-network
            if share_network_id is None:
                sn_desc = "This share-network was created by tempest"
                sn = sc.create_share_network(name=sn_name,
                                             description=sn_desc,
                                             neutron_net_id=net_id,
                                             neutron_subnet_id=subnet_id)
                share_network_id = sn["id"]

        return share_network_id
コード例 #24
0
 def setup_credentials(cls):
     super(TestHugepages, cls).setup_credentials()
     cls.manager = clients.Manager(
         credentials=common_creds.get_configured_credentials(
             'identity_admin', fill_in=False))