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 __init__(self, username=None, password=None, tenant_name=None, auth_url=None, region_name=None): provider = OSProvider() OSProvider.set_meta() hashed_password = sha1(username).hexdigest() identity = OSIdentity(provider, key=username, secret=password, user=username, auth_url=auth_url, password=hashed_password, region_name=region_name, ex_tenant_name=tenant_name) self.driver = OSDriver(provider, identity, ex_force_auth_url=auth_url)
def _build_admin_driver(self, **kwargs): #Set Meta OSProvider.set_meta() #TODO: Set location from kwargs provider = OSProvider(identifier=kwargs.get('location')) admin_creds = self._admin_identity_creds(**kwargs) #logger.info("ADMINID Creds:%s" % admin_creds) identity = OSIdentity(provider, **admin_creds) driver_creds = self._admin_driver_creds(**kwargs) #logger.info("ADMINDriver Creds:%s" % driver_creds) admin_driver = OSDriver(provider, identity, **driver_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
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
""" Atmosphere service compute. """ from threepio import logger from rtwo import settings from rtwo.provider import AWSProvider, EucaProvider, OSProvider from rtwo.driver import EucaDriver, AWSDriver from libcloud.common.types import InvalidCredsError EucaProvider.set_meta() AWSProvider.set_meta() OSProvider.set_meta()
AWSDriver, key=settings.AWS_KEY, secret=settings.AWS_SECRET, user="******") def _initialize_euca(): if hasattr(settings, 'EUCA_ADMIN_KEY') \ and hasattr(settings, 'EUCA_ADMIN_SECRET'): _initialize_provider(EucaProvider(), EucaDriver, key=settings.EUCA_ADMIN_KEY, secret=settings.EUCA_ADMIN_SECRET, user="******") def initialize(): """ Initialize machines and sizes using an admin identity. NOTE: This is required to ensure Eucalyptus and AWS have valid information for sizes and machines. """ _initialize_euca() _initialize_aws() EucaProvider.set_meta() AWSProvider.set_meta() OSProvider.set_meta() initialize()
def __init__(self): # TODO: Figure out why this is needed OSProvider.set_meta() EucaProvider.set_meta()