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
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
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