Beispiel #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)
Beispiel #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)
Beispiel #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'))
Beispiel #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()
Beispiel #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'))
Beispiel #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'])
Beispiel #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)
Beispiel #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'))
Beispiel #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)
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)
Beispiel #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)
Beispiel #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
Beispiel #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)
Beispiel #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)
Beispiel #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)
Beispiel #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)
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)
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)
Beispiel #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)
Beispiel #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)
Beispiel #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)
Beispiel #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)