예제 #1
0
 def admin_init(cls, id_credentials, prov_credentials):
     """
     To be used instead of settings_init, Expects the following keys for
     each credentials dict:
     id_credentials:
     * Username
     * Password
     * (Tenant/Project) Name
     Prov_credentials:
     * region_name
     * auth_url
     """
     try:
         username = id_credentials.pop('username')
         password = id_credentials.pop('password')
         tenant_name = id_credentials.pop('tenant_name')
     except:
         raise ServiceException(
             'Settings init not available for this class:'
             'Expected settings.OPENSTACK_ARGS with'
             'username/password/tenant_name fields')
     OSProvider.set_meta()
     provider = OSProvider()
     identity = OSIdentity(provider,
                           username,
                           password,
                           ex_tenant_name=tenant_name,
                           **prov_credentials)
     driver = cls(provider, identity)
     return driver
예제 #2
0
 def create_admin_driver(self, creds=None):
     admin_provider = OSProvider()
     provider_creds = self.provider_options
     key, secret, tenant =\
         self._split_creds(creds,
                           settings.OPENSTACK_ADMIN_KEY,
                           settings.OPENSTACK_ADMIN_SECRET,
                           settings.OPENSTACK_ADMIN_TENANT)
     admin_identity = OSIdentity(admin_provider,
                                 key,
                                 secret,
                                 ex_tenant_name=tenant)
     admin_driver = OSDriver(admin_provider, admin_identity,
                             **provider_creds)
     return admin_driver
예제 #3
0
 def settings_init(cls):
     """
     DEPRECATED:
     """
     os_args = copy.deepcopy(settings.OPENSTACK_ARGS)
     try:
         username = os_args.pop('username')
         password = os_args.pop('password')
         tenant_name = os_args.pop('tenant_name')
     except:
         raise ServiceException(
             'Settings init not available for this class:'
             'Expected settings.OPENSTACK_ARGS with'
             'username/password/tenant_name fields')
     OSProvider.set_meta()
     provider = OSProvider()
     identity = OSIdentity(provider,
                           username,
                           password,
                           ex_tenant_name=tenant_name,
                           **settings.OPENSTACK_ARGS)
     driver = cls(provider, identity)
     return driver