예제 #1
0
 def create_manager(core_identity):
     all_creds = core_identity.get_all_credentials()
     project_name = core_identity.project_name()
     domain_name = all_creds.get('domain_name', 'default')
     auth_url = all_creds.get('auth_url','')
     if '/v' not in auth_url:  # Add /v3 if no version specified in auth_url
         auth_url += '/v3'
     if '/v2' in auth_url:  # Remove this when "Legacy cloud" support is removed
         username = all_creds['key']
         password = all_creds['secret']
         auth_url = all_creds.pop('auth_url').replace("/tokens","")
         network_driver = NetworkManager(
             auth_url=auth_url,
             username=username,
             password=password,
             tenant_name=project_name,
             **all_creds)
         return network_driver
     elif 'ex_force_auth_token' in all_creds:
         auth_token = all_creds['ex_force_auth_token']
         (auth, sess, token) = _token_to_keystone_scoped_project(
             auth_url, auth_token,
             project_name, domain_name)
     else:
         username = all_creds.get('key','')
         password = all_creds.get('secret','')
         (auth, sess, token) = _connect_to_keystone_v3(
             auth_url, username, password,
             project_name, domain_name=domain_name)
     network_driver = NetworkManager(session=sess)
     return network_driver
예제 #2
0
 def create_manager(core_identity):
     all_creds = core_identity.get_all_credentials()
     project_name = core_identity.project_name()
     domain_name = all_creds.get('domain_name', 'default')
     auth_url = all_creds.get('auth_url','')
     if '/v' not in auth_url:  # Add /v3 if no version specified in auth_url
         auth_url += '/v3'
     if '/v2' in auth_url:  # Remove this when "Legacy cloud" support is removed
         username = all_creds['key']
         password = all_creds['secret']
         auth_url = all_creds.pop('auth_url').replace("/tokens","")
         network_driver = NetworkManager(
             auth_url=auth_url,
             username=username,
             password=password,
             tenant_name=project_name,
             **all_creds)
         return network_driver
     elif 'ex_force_auth_token' in all_creds:
         auth_token = all_creds['ex_force_auth_token']
         (auth, sess, token) = _token_to_keystone_scoped_project(
             auth_url, auth_token,
             project_name, domain_name)
     else:
         username = all_creds.get('key','')
         password = all_creds.get('secret','')
         (auth, sess, token) = _connect_to_keystone_v3(
             auth_url, username, password,
             project_name, domain_name=domain_name)
     network_driver = NetworkManager(session=sess)
     return network_driver
예제 #3
0
 def new_connection(self, *args, **kwargs):
     if kwargs.get('version') == 'v3':
         (auth, session, token) = _connect_to_keystone_v3(**kwargs)
         keystone = _connect_to_keystone(version="v3",
                                         auth=auth,
                                         session=session)
         nova = _connect_to_nova_by_auth(auth=auth, session=session)
     else:
         #Legacy cloud method for connection (without keystoneauth1)
         keystone = _connect_to_keystone(*args, **kwargs)
         nova_args = kwargs.copy()
         nova_args['version'] = 'v2.0'
         nova_args['auth_url'] = nova_args['auth_url'].replace('v3', 'v2.0')
         nova = _connect_to_nova(*args, **nova_args)
     swift_args = self._get_swift_args(*args, **kwargs)
     swift = _connect_to_swift(*args, **swift_args)
     return keystone, nova, swift
예제 #4
0
    def new_connection(self, *args, **kwargs):
        """
        Allows us to make another connection (As the user)
        """
        #NOTE: This is a HACK that should be removed when we stop supporting "Legacy Openstack"
        if 'auth_url' in kwargs and '/v2' in kwargs['auth_url']:
            return _connect_to_neutron(*args, **kwargs)

        if 'session' not in kwargs:
            if 'project_name' not in kwargs and 'tenant_name' in kwargs:
                kwargs['project_name'] = kwargs['tenant_name']
            (auth, session, token) = _connect_to_keystone_v3(**kwargs)
            neutron = _connect_to_neutron(session=session)
        else:
            neutron = _connect_to_neutron(*args, **kwargs)

        return neutron
 def new_connection(self, *args, **kwargs):
     if kwargs.get('version') == 'v3':
         if 'auth_token' in kwargs:
             (auth, session, token) = _connect_to_keystone_auth_v3(**kwargs)
         else:
             (auth, session, token) = _connect_to_keystone_v3(**kwargs)
         keystone = _connect_to_keystone(version="v3", auth=auth, session=session)
         glance = _connect_to_glance_by_auth(auth=auth, session=session)
         nova = _connect_to_nova_by_auth(auth=auth, session=session)
         swift = _connect_to_swift(session=session)
     else:
         #Legacy cloud method for connection (without keystoneauth1)
         keystone = _connect_to_keystone(*args, **kwargs)
         glance = _connect_to_glance(keystone, **kwargs)
         nova_args = kwargs.copy()
         nova_args['version'] = 'v2.0'
         nova_args['auth_url'] = nova_args['auth_url'].replace('v3','v2.0')
         nova = _connect_to_nova(*args, **nova_args)
         swift_args = self._get_swift_args(*args, **kwargs)
         swift = _connect_to_swift(*args, **swift_args)
     return keystone, nova, swift, glance
 def _new_connection(self, *args, **kwargs):
     """
     Can be used to establish a new connection for all clients
     """
     version = kwargs.get('version')
     if version == 'v3':
         (auth, sess, token) = _connect_to_keystone_v3(**kwargs)
         keystone = _connect_to_keystone(auth=auth, session=sess, version=version)
         nova = _connect_to_nova_by_auth(auth=auth, session=sess)
         glance = _connect_to_glance_by_auth(auth=auth, session=sess)
         glance_v1 = glance
     else:
         ks_kwargs = self._build_keystone_creds(kwargs)
         nova_kwargs = self._build_nova_creds(kwargs)
         keystone = _connect_to_keystone(*args, **ks_kwargs)
         nova = _connect_to_nova(*args, **nova_kwargs)
         glance = _connect_to_glance(keystone, *args, **kwargs)
         kwargs.pop('version', None)
         kwargs['version'] = 1
         glance_v1 = _connect_to_glance(keystone, *args, **kwargs)
     return (keystone, nova, glance, glance_v1)
 def new_connection(self, *args, **kwargs):
     """
     Allows us to make another connection (As the user)
     """
     #NOTE: This is a HACK that should be removed when we stop supporting "Legacy Openstack"
     if 'auth_url' in kwargs and '/v2' in kwargs['auth_url']:
         neutron = _connect_to_neutron(*args, **kwargs)
         sahara = None
         heat = None
     elif 'session' not in kwargs:
         if 'project_name' not in kwargs and 'tenant_name' in kwargs:
             kwargs['project_name'] = kwargs['tenant_name']
         (auth, session, token) = _connect_to_keystone_v3(**kwargs)
         neutron = _connect_to_neutron(session=session)
         sahara = _connect_to_sahara(session=session)
         heat = _connect_to_heat(session=session)
     else:
         neutron = _connect_to_neutron(*args, **kwargs)
         sahara = _connect_to_sahara(*args, **kwargs)
         heat = _connect_to_heat(*args, **kwargs)
     return neutron, sahara, heat
예제 #8
0
 def _new_connection(self, *args, **kwargs):
     """
     Can be used to establish a new connection for all clients
     """
     version = kwargs.get('version')
     if version == 'v3':
         (auth, sess, token) = _connect_to_keystone_v3(**kwargs)
         keystone = _connect_to_keystone(auth=auth,
                                         session=sess,
                                         version=version)
         nova = _connect_to_nova_by_auth(auth=auth, session=sess)
         glance = _connect_to_glance_by_auth(auth=auth, session=sess)
         glance_v1 = glance
     else:
         ks_kwargs = self._build_keystone_creds(kwargs)
         nova_kwargs = self._build_nova_creds(kwargs)
         keystone = _connect_to_keystone(*args, **ks_kwargs)
         nova = _connect_to_nova(*args, **nova_kwargs)
         glance = _connect_to_glance(keystone, *args, **kwargs)
         kwargs.pop('version', None)
         kwargs['version'] = 1
         glance_v1 = _connect_to_glance(keystone, *args, **kwargs)
     return (keystone, nova, glance, glance_v1)