예제 #1
0
def get_connection(provider=None, region=None):
    """
    Returns a connect to the specified provider

    :param provider: Name of provider (see `maestro.config.AVAILABLE_CLOUD_PROVIDERS`)
    :param region: Name of region

    """
    drv = get_provider_driver(provider=provider, region=region)
    key = get_key(provider, region)
    conn = drv(key.get('id'), key.get('key'))
    return conn
예제 #2
0
파일: core.py 프로젝트: pombredanne/maestro
def get_nodes(provider=None, region=None):
    """
    Returns all nodes in region for provider

    :param provider: Name of provider (see `maestro.config.AVAILABLE_CLOUD_PROVIDERS`)
    :param region: Name of region

    """
    Driver = get_provider_driver(provider, region)
    nodes = []
    # check for ec2 east/west and use ec2 keys
    if provider.find('ec2') > -1:
        pk = env.provider_keys.get('ec2')
    else:
        pk = env.provider_keys[provider]
    try:
        log.debug('Getting nodes for {0} in {1}'.format(provider, region))
        conn = Driver(pk.get('id'), pk.get('key'))
        nodes = conn.list_nodes()
    except Exception, e:
        log.warn('Unable to connect to {0} for {1}: {2}'.format(region, provider, e))
예제 #3
0
 def test_get_ec2_provider_driver_us_west_1(self):
     ec2 = EC2NodeDriver(None, None)
     region = 'us-west-1'
     drv = get_provider_driver('ec2', region)
     self.assertTrue(drv.region_name, region)