Example #1
0
def stop():
    rval = False
    _config_dict = _load_config(_default_config_path())
    _auth_params = _config_dict['provider']['auth']

    _instance = get_instance()
    conn = provider.cloud_connect(**_auth_params)
    if conn is None:
        conn = provider.cloud_connect(**_auth_params)
    if conn and _instance is not None:
        rval = provider.stop_instance(conn, _instance.id)
        sys.stdout.write("instance halted successfully\n")
    return rval
Example #2
0
def start(wait=True):
    rval = False
    _instance = None
    _instance_id = None

    _config_dict = _load_config()
    _auth_params = _config_dict['provider']['auth']
    _instance_params = _config_dict['provider']['instance']

    if 'instance_id' in _config_dict['provider']['instance']:
        _instance_id = _config_dict['provider']['instance']['instance_id']

    conn = provider.cloud_connect(**_auth_params)

    if conn is not None and _instance_id is None:
        _instance = provider.create_instance(conn, _instance_params)
    elif conn is not None and _instance_id is not None:
        _instance = provider.start_instance(conn, _instance_id)

    if _instance is not None:
        _istatus = 'pending'
        while(_istatus != 'running' and wait):
            _istatus = status(_instance)
            sys.stdout.write("Wait until instance is running. Status is: {0}\n".format(_istatus))
            time.sleep(5)
        rval = True
        save(_instance)

    return rval
Example #3
0
def get_instance(instance_id=None):
    instance = None
    _instance_id = instance_id
    _config_dict = _load_config(_default_config_path())
    _auth_params = _config_dict['provider']['auth']

    if _instance_id is None and 'instance_id' in _config_dict['provider']['instance']:
        _instance_id = _config_dict['provider']['instance']['instance_id']

    conn = provider.cloud_connect(**_auth_params)
    _reservations = conn.get_all_instances(instance_ids=[_instance_id])

    if _reservations is not None and len(_reservations[0].instances):
        _instance = _reservations[0].instances.pop()
    return _instance