def __init__(self, **kwargs): """Initialize RallyBase object.""" super(RallyBase, self).__init__(**kwargs) self.cloud = os_client_config.make_shade() self.guid = '-' + str(uuid.uuid4()) self.creators = [] self.mode = '' self.summary = [] self.scenario_dir = '' self.image_name = None self.ext_net = None self.flavor_name = None self.flavor_alt_name = None self.smoke = None self.test_name = None self.start_time = None self.result = None self.details = None self.compute_cnt = 0 self.image = None self.flavor = None self.flavor_alt = None self.network = None self.subnet = None self.router = None
def create_connection(self): init_env() self.op_conn = connection.Connection(auth_url=AUTH_URL, username=CONF.user, password=CONF.password, user_domain_name=CONF.user_domain, project_name=CONF.project_name) self.cloud = os_client_config.make_shade(auth_url=AUTH_URL, username=CONF.user, password=CONF.password, user_domain_name=CONF.user_domain, project_name=CONF.project_name) self.user_id = self.cloud.keystone_session.get_user_id() if self.user_id: print ">>> Connection OK" self.project_id = self.cloud.keystone_session.get_project_id() if CONF.vpc_name: self.router = self.cloud.get_router(CONF.vpc_name) if self.router: self.networks = self.cloud.list_networks( filters={'name':self.router.id} ) self.flavors = {f.name: f for f in OTC.cloud.list_flavors()} self.images = {i.name: i for i in OTC.cloud.list_images()}
def _authenticate(cloud): """Authenticate to a cloud Ideally we would use shade.openstack_cloud or os_client_config.make_shade (equivalent), but they don't seem to support passing in an arbitrary dict of configuration parameters (the docs are not very clear ATM). To work around this, we write a temporary file with the appropriate configuration and tell os-client-config to load it. """ CLOUD_NAME = 'default' tmp = tempfile.NamedTemporaryFile() try: cfg = {'clouds': {CLOUD_NAME: cloud}} y = yaml.safe_dump(cfg) tmp.write(y) tmp.seek(0) old_env = copy.deep_copy(os.environ) try: os.environ['OS_CLIENT_CONFIG_FILE'] = tmp.name auth = os_client_config.make_shade() return auth finally: os.environ = old_env finally: tmp.close()
def run(self, **kwargs): """Run suites in OPNFV environment It basically checks env vars to call main() with the keywords required. Args: kwargs: Arbitrary keyword arguments. Returns: EX_OK if all suites ran well. EX_RUN_ERROR otherwise. """ try: suites = self.default_suites try: suites = kwargs["suites"] except KeyError: pass cloud = os_client_config.make_shade() neutron_id = cloud.search_services('neutron')[0].id endpoint = cloud.search_endpoints( filters={ 'interface': os.environ.get( 'OS_INTERFACE', 'public').replace('URL', ''), 'service_id': neutron_id})[0].url kwargs = {'neutronurl': endpoint} kwargs['odlip'] = env.get('SDN_CONTROLLER_IP') kwargs['odlwebport'] = env.get('SDN_CONTROLLER_WEBPORT') kwargs['odlrestconfport'] = env.get('SDN_CONTROLLER_RESTCONFPORT') kwargs['odlusername'] = env.get('SDN_CONTROLLER_USER') kwargs['odlpassword'] = env.get('SDN_CONTROLLER_PASSWORD') installer_type = env.get('INSTALLER_TYPE') kwargs['osusername'] = os.environ['OS_USERNAME'] kwargs['osuserdomainname'] = os.environ.get( 'OS_USER_DOMAIN_NAME', 'Default') kwargs['osprojectname'] = os.environ['OS_PROJECT_NAME'] kwargs['osprojectdomainname'] = os.environ.get( 'OS_PROJECT_DOMAIN_NAME', 'Default') kwargs['osauthurl'] = os.environ['OS_AUTH_URL'] kwargs['ospassword'] = os.environ['OS_PASSWORD'] if installer_type == 'apex' or installer_type == 'netvirt': kwargs['odlwebport'] = '8081' kwargs['odlrestconfport'] = '8081' elif installer_type == 'compass': kwargs['odlrestconfport'] = '8080' assert kwargs['odlip'] except KeyError as ex: self.__logger.error( "Cannot run ODL testcases. Please check env var: %s", str(ex)) return self.EX_RUN_ERROR except Exception: # pylint: disable=broad-except self.__logger.exception("Cannot run ODL testcases.") return self.EX_RUN_ERROR return self.run_suites(suites, **kwargs)
def get_creds(cloud_list): """Return list containing the credentials for all clouds in 'cloud_list'.""" result = [] for cloud in cloud_list: try: result.append(os_client_config.make_shade(cloud=cloud)) except Exception as e: # need more specific exception catch print e print "No %s cloud defined in clouds.yml or clouds.yml does not exist" % cloud sys.exit(1) return result
def get_creds(cloud_list): """Return list containing the credentials for all clouds in 'cloud_list'.""" result = [] for cloud in cloud_list: try: result.append(os_client_config.make_shade(cloud=cloud)) except Exception as e: # need more specific exception catch print(e) print(f'No {cloud} cloud defined in clouds.yml or clouds.yml does not exist') sys.exit(1) return result
def __init__(self): self.guid = '-' + str(uuid.uuid4()) self.cloud = os_client_config.make_shade() LOGGER.debug("cloud: %s", self.cloud) self.domain = self.cloud.auth.get("project_domain_name", "Default") LOGGER.debug("domain: %s", self.domain) self.project = None self.user = None self.network = None self.subnet = None self.image = None self.image_alt = None self.flavor = None self.flavor_alt = None
def __init__(self, **kwargs): super(VPingBase, self).__init__(**kwargs) self.logger = logging.getLogger(__name__) self.cloud = os_client_config.make_shade() self.ext_net = functest_utils.get_external_network(self.cloud) self.logger.debug("ext_net: %s", self.ext_net) self.guid = '-' + str(uuid.uuid4()) self.network = None self.subnet = None self.router = None self.image = None self.flavor = None self.vm1 = None self.sec1 = None
flavor=flavor.id, security_groups=[security_group.id, 'default'], network=private_network.id, key_name=keypair_name, ) dump(server) # Assign a floating ip to the server floating_ip_address = cloud.add_auto_ip( server, wait=True, ) print('Access your server at ubuntu@{}'.format(floating_ip_address, )) def dump(data): """Pretty Dump the data""" if dump_resources: cloud.pprint(data) if __name__ == '__main__': cloud_config = os_client_config.OpenStackConfig().get_one_cloud() cloud = os_client_config.make_shade() dump(cloud_config.config) create_resources(cloud_config.config)
#!/usr/bin/env python import shade import os_client_config cloud_config = os_client_config.OpenStackConfig().get_one_cloud() cloud = os_client_config.make_shade() print('Created a cloud with the following credentials:') print('auth_username = '******'auth']['username']) print('project_name = ' + cloud_config.config['auth']['project_name'])