Ejemplo n.º 1
0
def impl(context, cluster):
    data = {}
    request = requests.put(context.SERVER_HTTP +
                           '/api/v0/cluster/{}'.format(cluster),
                           auth=(VALID_USERNAME, VALID_PASSWORD),
                           data={})
    assert_status_code(request.status_code, 201)
Ejemplo n.º 2
0
def impl(context):
    data = {'name': 'trivial', 'type': 'trivial', 'options': {}}
    request = requests.put(context.SERVER_HTTP +
                           '/api/v0/containermanager/trivial',
                           auth=(VALID_USERNAME, VALID_PASSWORD),
                           data=json.dumps(data))
    assert_status_code(request.status_code, 201)
Ejemplo n.º 3
0
def impl(context, host, cluster):
    request = requests.delete(
        context.SERVER_HTTP +
        '/api/v0/cluster/{}/hosts/{}'.format(cluster, host),
        auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(request.status_code, 200)
    verify_storage_notify(context, ('updated', 'Cluster'))
Ejemplo n.º 4
0
def impl(context, host):
    data = dict(context.HOST_DATA)
    data['address'] = host
    request = requests.put(context.SERVER_HTTP +
                           '/api/v0/host/{}'.format(host),
                           auth=(VALID_USERNAME, VALID_PASSWORD),
                           data=json.dumps(data))
    assert_status_code(request.status_code, 201)
    args = [('created', 'Host')]
    if 'cluster' in data:
        args.append(('updated', 'Cluster'))
    verify_storage_notify(context, *args)

    # Poll until the host is finished bootstrapping.
    # We can't watch an etcd key because the host record
    # is only written to etcd after a successful bootstrap.
    busy_states = (C.HOST_STATUS_INVESTIGATING, C.HOST_STATUS_BOOTSTRAPPING)
    status_is_busy = True
    while status_is_busy:
        time.sleep(1)
        request = requests.get(context.SERVER_HTTP +
                               '/api/v0/host/{}'.format(host),
                               auth=(VALID_USERNAME, VALID_PASSWORD))
        assert_status_code(request.status_code, 200)
        data = request.json()
        status_is_busy = data['status'] in busy_states

    assert data['status'] in (
        C.HOST_STATUS_ACTIVE, C.HOST_STATUS_DISASSOCIATED), \
        'Host failed to bootstrap (status: {})'.format(data['status'])

    # Purge notifications for interim state changes.
    context.NOTIFY_QUEUE.purge()
Ejemplo n.º 5
0
def impl(context, cluster):
    request = requests.put(context.SERVER_HTTP +
                           '/api/v0/cluster/{}'.format(cluster),
                           auth=(VALID_USERNAME, VALID_PASSWORD),
                           data=json.dumps({'container_manager': 'trivial'}))
    assert_status_code(request.status_code, 201)
    verify_storage_notify(context, ('created', 'Cluster'))
Ejemplo n.º 6
0
def impl(context, host):
    data = dict(context.HOST_DATA)
    data['address'] = host
    request = requests.put(context.SERVER_HTTP +
                           '/api/v0/host/{}'.format(host),
                           auth=(VALID_USERNAME, VALID_PASSWORD),
                           data=json.dumps(data))
    assert_status_code(request.status_code, 201)

    # Poll until the host is finished bootstrapping.
    # We can't watch an etcd key because the host record
    # is only written to etcd after a successful bootstrap.
    busy_states = (C.HOST_STATUS_INVESTIGATING, C.HOST_STATUS_BOOTSTRAPPING)
    status_is_busy = True
    while status_is_busy:
        time.sleep(1)
        request = requests.get(context.SERVER_HTTP +
                               '/api/v0/host/{}'.format(host),
                               auth=(VALID_USERNAME, VALID_PASSWORD))
        assert_status_code(request.status_code, 200)
        data = request.json()
        status_is_busy = data['status'] in busy_states

    assert data['status'] in (
        C.HOST_STATUS_ACTIVE, C.HOST_STATUS_DISASSOCIATED), \
        'Host failed to bootstrap (status: {})'.format(data['status'])
Ejemplo n.º 7
0
def impl(context, host):
    data = dict(context.HOST_DATA)
    data['address'] = host
    request = requests.put(
        context.SERVER + '/api/v0/host/{0}'.format(host),
        auth=(VALID_USERNAME, VALID_PASSWORD),
        data=json.dumps(data))
    assert_status_code(request.status_code, 201)
Ejemplo n.º 8
0
def impl(context, cluster):
    data = {}
    request = requests.put(context.SERVER_HTTP +
                           '/api/v0/cluster/{}'.format(cluster),
                           auth=(VALID_USERNAME, VALID_PASSWORD),
                           data={})
    assert_status_code(request.status_code, 201)
    verify_storage_notify(context, ('created', 'Cluster'))
Ejemplo n.º 9
0
def impl(context, host):
    data = dict(context.HOST_DATA)
    data['address'] = host
    request = requests.put(
        context.SERVER + '/api/v0/host/{0}'.format(host),
        auth=(VALID_USERNAME, VALID_PASSWORD),
        data=json.dumps(data))
    assert_status_code(request.status_code, 201)
Ejemplo n.º 10
0
def impl(context, cluster):
    request = requests.put(context.SERVER +
                           '/api/v0/cluster/{0}'.format(cluster),
                           auth=(VALID_USERNAME, VALID_PASSWORD),
                           data=json.dumps({
                               'type': C.CLUSTER_TYPE_HOST,
                               'network': 'default'
                           }))
    assert_status_code(request.status_code, 201)
Ejemplo n.º 11
0
def impl(context, host):
    request = requests.delete(context.SERVER_HTTP +
                              '/api/v0/host/{}'.format(host),
                              auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(request.status_code, 200)
    args = [('deleted', 'Host')]
    if 'host_in_cluster' in context:
        args.append(('updated', 'Cluster'))
    verify_storage_notify(context, *args)
Ejemplo n.º 12
0
def impl(context, host):
    data = dict(context.HOST_DATA)
    data['address'] = host
    request = requests.put(
        context.SERVER + '/api/v0/host/{0}'.format(host),
        auth=(VALID_USERNAME, VALID_PASSWORD),
        data=json.dumps(data))
    assert_status_code(request.status_code, 201)

    # Poll until the host is finished bootstrapping.
    # We can't watch an etcd key because the host record
    # is only written to etcd after a successful bootstrap.
    busy_states = ('investigating', 'bootstrapping')
    status_is_busy = True
    while status_is_busy:
        time.sleep(1)
        request = requests.get(
            context.SERVER + '/api/v0/host/{0}'.format(host),
            auth=(VALID_USERNAME, VALID_PASSWORD))
        assert_status_code(request.status_code, 200)
        data = request.json()
        status_is_busy = data['status'] in busy_states
Ejemplo n.º 13
0
def impl(context, host):
    request = requests.delete(
        context.SERVER + '/api/v0/host/{0}'.format(host),
        auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(request.status_code, 200)
Ejemplo n.º 14
0
def impl(context, kind):
    if kind == 'the single':
        print(context.request.json())
        assert context.request.json().get('address') == context.host
    elif kind == 'no':
        assert_status_code(context.request.status_code, 404)
Ejemplo n.º 15
0
def impl(context, kind):
    if kind == 'the single':
        print(context.request.json())
        assert context.request.json().get('address') == context.host
    elif kind == 'no':
        assert_status_code(context.request.status_code, 404)
Ejemplo n.º 16
0
def impl(context, host):
    request = requests.delete(
        context.SERVER + '/api/v0/host/{0}'.format(host),
        auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(request.status_code, 200)
Ejemplo n.º 17
0
def impl(context, cluster):
    context.request = requests.put(context.SERVER +
                                   '/api/v0/cluster/{0}'.format(cluster),
                                   auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(context.request.status_code, 201)
Ejemplo n.º 18
0
def impl(context, host, cluster):
    request = requests.put(
        context.SERVER + '/api/v0/cluster/{0}/hosts/{1}'.format(cluster, host),
        auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(request.status_code, 200)
Ejemplo n.º 19
0
def impl(context, cluster):
    request = requests.put(
        context.SERVER + '/api/v0/cluster/{0}'.format(cluster),
        auth=(VALID_USERNAME, VALID_PASSWORD),
        data=json.dumps({'type': C.CLUSTER_TYPE_HOST}))
    assert_status_code(request.status_code, 201)
Ejemplo n.º 20
0
def impl(context, host, cluster):
    request = requests.put(
        context.SERVER + '/api/v0/cluster/{0}/hosts/{1}'.format(cluster, host),
        auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(request.status_code, 200)
Ejemplo n.º 21
0
def impl(context, host, cluster):
    request = requests.get(context.SERVER_HTTP +
                           '/api/v0/cluster/{}/hosts/{}'.format(cluster, host),
                           auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(request.status_code, 404)
Ejemplo n.º 22
0
def impl(context, cluster):
    context.request = requests.put(
        context.SERVER + '/api/v0/cluster/{0}'.format(cluster),
        auth=(VALID_USERNAME, VALID_PASSWORD))
    assert_status_code(context.request.status_code, 201)