Beispiel #1
0
def add_cluster():
    data = json.loads(request.data)
    errors = {}
    if 'nodes' in data and (isinstance(data['nodes'], str) or
                            isinstance(data['nodes'], unicode)):
        data['nodes'] = data['nodes'].split()

    if not 'name' in data or data['name'] == '':
        errors['name'] = ['Cluster name is required']
    if not 'nodes' in data or data['nodes'] == []:
        errors['nodes'] = ['At least one cluster node is required']
    if 'private_key' not in data:
        errors['private_key'] = ['Private key for accessing nodes is required']
    elif not is_key_valid(data['private_key']):
        errors['private_key'] = ['Private key format is unknown']

    if len(errors) > 0:
        return json.dumps(dict(errors=errors)), 422

    cluster = Cluster(**data)

    cluster_id = get_db()['clusters'].save(cluster.as_doc())

    ostack_discover_task.delay(str(cluster_id))

    return json.dumps(dict(id=str(cluster_id))), 201
Beispiel #2
0
def add_cluster():
    data = json.loads(request.data)
    errors = {}
    if 'nodes' in data and (isinstance(data['nodes'], str)
                            or isinstance(data['nodes'], unicode)):
        data['nodes'] = data['nodes'].split()

    if not 'name' in data or data['name'] == '':
        errors['name'] = ['Cluster name is required']
    if not 'nodes' in data or data['nodes'] == []:
        errors['nodes'] = ['At least one cluster node is required']
    if 'private_key' not in data:
        errors['private_key'] = ['Private key for accessing nodes is required']
    elif not is_key_valid(data['private_key']):
        errors['private_key'] = ['Private key format is unknown']

    if len(errors) > 0:
        return json.dumps(dict(errors=errors)), 422

    cluster = Cluster(**data)

    cluster_id = get_db()['clusters'].save(cluster.as_doc())

    ostack_discover_task.delay(str(cluster_id))

    return json.dumps(dict(id=str(cluster_id))), 201
Beispiel #3
0
def discover_cluster(cluster_id):
    cluster_doc = get_db()['clusters'].find_one({'_id': ObjectId(cluster_id)})
    if not cluster_doc:
        return json.dumps({'errors': {'cluster_id': 'Cluster not found'}}), 404

    ostack_discover_task.delay(cluster_id)

    return '', 200
Beispiel #4
0
def discover_cluster(cluster_id):
    cluster_doc = get_db()['clusters'].find_one({'_id': ObjectId(cluster_id)})
    if not cluster_doc:
        return json.dumps({'errors': {'cluster_id': 'Cluster not found'}}), 404

    ostack_discover_task.delay(cluster_id)

    return '', 200