def get_client(version): """Create a keystoneclient instance to run functional tests. The client is instantiated via os-client-config either based on a clouds.yaml config file or from the environment variables. First, look for a 'functional_admin' cloud, as this is a cloud that the user may have defined for functional testing with admin credentials. If that is not found, check for the 'devstack-admin' cloud. Finally, fall back to looking for environment variables. """ for cloud in OPENSTACK_CLOUDS: try: cloud_config = os_client_config.get_config( cloud=cloud, identity_api_version=version) return cloud_config.get_legacy_client(service_key=IDENTITY_CLIENT, constructor=client.Client) except os_client_config.exceptions.OpenStackConfigException: pass raise Exception("Could not find any cloud definition for clouds named" " functional_admin or devstack-admin. Check your" " clouds.yaml file or your envvars and try again.")
def test_get_config_without_arg_parser(self): cloud_config = os_client_config.get_config( options=None, validate=False) self.assertIsInstance( cloud_config, os_client_config.cloud_config.CloudConfig )
def __init__(self, **kwargs): if "case_name" not in kwargs: kwargs["case_name"] = 'tenantnetwork1' super(TenantNetwork1, self).__init__(**kwargs) self.dir_results = os.path.join(getattr(config.CONF, 'dir_results')) self.res_dir = os.path.join(self.dir_results, self.case_name) self.output_log_name = 'functest.log' self.output_debug_log_name = 'functest.debug.log' try: cloud_config = os_client_config.get_config() self.cloud = self.orig_cloud = shade.OpenStackCloud( cloud_config=cloud_config) except Exception: # pylint: disable=broad-except self.cloud = self.orig_cloud = None self.ext_net = None self.__logger.exception("Cannot connect to Cloud") try: self.ext_net = self.get_external_network(self.cloud) except Exception: # pylint: disable=broad-except self.ext_net = None self.__logger.exception("Cannot get the external network") self.guid = str(uuid.uuid4()) self.network = None self.subnet = None self.router = None
def __init__(self, **kwargs): super(SnapsTestRunner, self).__init__(**kwargs) self.logger = logging.getLogger(__name__) try: cloud_config = os_client_config.get_config() self.orig_cloud = shade.OpenStackCloud(cloud_config=cloud_config) guid = str(uuid.uuid4()) self.project = tenantnetwork.NewProject(self.orig_cloud, self.case_name, guid) self.project.create() except Exception: # pylint: disable=broad-except raise Exception("Cannot create user or project") if self.orig_cloud.get_role("admin"): role_name = "admin" elif self.orig_cloud.get_role("Admin"): role_name = "Admin" else: raise Exception("Cannot detect neither admin nor Admin") self.orig_cloud.grant_role(role_name, user=self.project.user.id, project=self.project.project.id, domain=self.project.domain.id) self.role = None if not self.orig_cloud.get_role("heat_stack_owner"): self.role = self.orig_cloud.create_role("heat_stack_owner") self.orig_cloud.grant_role("heat_stack_owner", user=self.project.user.id, project=self.project.project.id, domain=self.project.domain.id) creds_overrides = dict(username=self.project.user.name, project_name=self.project.project.name, project_id=self.project.project.id, password=self.project.password) self.os_creds = kwargs.get('os_creds') or snaps_utils.get_credentials( overrides=creds_overrides) if 'ext_net_name' in kwargs: self.ext_net_name = kwargs['ext_net_name'] else: self.ext_net_name = snaps_utils.get_ext_net_name(self.os_creds) self.netconf_override = None if hasattr(config.CONF, 'snaps_network_config'): self.netconf_override = getattr(config.CONF, 'snaps_network_config') self.use_fip = (getattr(config.CONF, 'snaps_use_floating_ips') == 'True') self.use_keystone = (getattr(config.CONF, 'snaps_use_keystone') == 'True') self.flavor_metadata = getattr(config.CONF, 'snaps_flavor_extra_specs', None) self.logger.info("Using flavor metadata '%s'", self.flavor_metadata) self.image_metadata = None if hasattr(config.CONF, 'snaps_images'): self.image_metadata = getattr(config.CONF, 'snaps_images')
def test_get_config_with_arg_parser(self): cloud_config = os_client_config.get_config( options=argparse.ArgumentParser(), validate=False) self.assertIsInstance( cloud_config, os_client_config.cloud_config.CloudConfig )
def __init__(self, **kwargs): if "case_name" not in kwargs: kwargs["case_name"] = 'connection_check' super(ConnectionCheck, self).__init__(**kwargs) try: cloud_config = os_client_config.get_config() self.cloud = shade.OpenStackCloud(cloud_config=cloud_config) except Exception: # pylint: disable=broad-except self.cloud = None
def check_requirements(self): """Skip if OpenStack Rocky or newer.""" try: cloud_config = os_client_config.get_config() cloud = shade.OpenStackCloud(cloud_config=cloud_config) if functest_utils.get_nova_version(cloud) > (2, 60): self.is_skipped = True except Exception: # pylint: disable=broad-except pass
def main(): module = AnsibleModule(argument_spec=dict(project_name=dict(required=True, type='str'), ), supports_check_mode=False) try: cloud_config = os_client_config.get_config() identity_client = cloud_config.get_session_client("identity") compute_client = cloud_config.get_session_client("compute") except Exception, e: module.fail_json(msg="Unable to initialise OpenStack client: %s" % e)
def get_share_client(module): # NOTE: set OS_CLOUD environment variable to choose a named entry from clouds.yaml if 'OS_CLOUD' in os.environ: try: cloud_config = os_client_config.get_config() share_client = cloud_config.get_session_client("sharev2") except Exception as e: module.fail_json( msg= "Please check your OpenStack clouds.yaml[%s] credentials: %s" % (os.environ['OS_CLOUD'], e)) else: # OS_CLOUD not set - fall back to other mechanisms for credential handling try: share_client = os_client_config.session_client("sharev2") except Exception as e: module.fail_json( msg="Please check your OpenStack environment credentials: %s" % e) return share_client
def test_get_config_with_arg_parser(self): cloud_config = os_client_config.get_config( options=argparse.ArgumentParser(), validate=False) self.assertIsInstance(cloud_config, os_client_config.cloud_config.CloudConfig)
def test_get_config_without_arg_parser(self): cloud_config = os_client_config.get_config(options=None, validate=False) self.assertIsInstance(cloud_config, os_client_config.cloud_config.CloudConfig)
def __init__(self, **kwargs): self.cloud = shade.OperatorCloud(os_client_config.get_config(**kwargs)) self.images = [] self.flavors = []
def get_sahara_client(): cloud_config = os_client_config.get_config() return cloud_config.get_session_client("data_processing")