Exemplo n.º 1
0
 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
Exemplo n.º 2
0
    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()}
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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
Exemplo n.º 7
0
 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
Exemplo n.º 8
0
 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
Exemplo n.º 9
0
        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)
Exemplo n.º 10
0
#!/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'])