Esempio n. 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
Esempio n. 2
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
Esempio n. 3
0
    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)
Esempio n. 4
0
 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
Esempio n. 5
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
Esempio n. 6
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
Esempio n. 7
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
Esempio n. 8
0
"""
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()
Esempio n. 9
0
                             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()