def test_cni_labels():
    def check_labels(labels, idx):
        k = labels[idx]["key"]
        v = labels[idx]["value"]
        assert k in EXPECTED_NETWORK_LABELS.keys(
        ), "Got unexpected network key {}".format(k)
        assert v == EXPECTED_NETWORK_LABELS[k], "Value {obs} isn't correct, should be " \
                                                "{exp}".format(obs=v, exp=EXPECTED_NETWORK_LABELS[k])

    r = sdk_api.get(config.SERVICE_NAME,
                    "v1/pod/hello-overlay-vip-0/info").json()
    assert len(
        r) == 1, "Got multiple responses from v1/pod/hello-overlay-vip-0/info"
    try:
        cni_labels = r[0]["info"]["executor"]["container"]["networkInfos"][0][
            "labels"]["labels"]
    except KeyError:
        assert False, "CNI labels not present"
    assert len(cni_labels) == 2, "Got {} labels, should be 2".format(
        len(cni_labels))
    for i in range(2):
        try:
            check_labels(cni_labels, i)
        except KeyError:
            assert False, "Couldn't get CNI labels from {}".format(cni_labels)
Exemple #2
0
 def check_task_ports(task_name, expected_port_count, expected_port_names):
     endpoint = "/v1/tasks/info/{}".format(task_name)
     try:
         r = sdk_api.get(config.SERVICE_NAME, endpoint).json()
     except DCOSHTTPException:
         return False, "Failed to get API endpoint {}".format(endpoint)
     sdk_networks.check_port_names(r, expected_port_count, expected_port_names)
Exemple #3
0
 def check_task_ports(task_name, expected_port_count, expected_port_names):
     endpoint = "/v1/tasks/info/{}".format(task_name)
     try:
         r = api.get(PACKAGE_NAME, endpoint).json()
     except DCOSHTTPException:
         return False, "Failed to get API endpoint {}".format(endpoint)
     networks.check_port_names(r, expected_port_count, expected_port_names)
Exemple #4
0
def fault_domain_vars_are_present(pod_instance):
    info = sdk_api.get(
        config.SERVICE_NAME,
        '/v1/pod/{}/info'.format(pod_instance)).json()[0]['info']
    variables = info['command']['environment']['variables']
    region = next((var for var in variables if var['name'] == 'REGION'),
                  ['NO_REGION'])
    zone = next((var for var in variables if var['name'] == 'ZONE'),
                ['NO_ZONE'])

    return region != 'NO_REGION' and zone != 'NO_ZONE' and len(
        region) > 0 and len(zone) > 0
Exemple #5
0
def test_cni_labels():
    def check_labels(labels, idx):
        k = labels[idx]["key"]
        v = labels[idx]["value"]
        assert k in EXPECTED_NETWORK_LABELS.keys(), "Got unexpected network key {}".format(k)
        assert v == EXPECTED_NETWORK_LABELS[k], "Value {obs} isn't correct, should be " \
                                                "{exp}".format(obs=v, exp=EXPECTED_NETWORK_LABELS[k])

    r = sdk_api.get(config.SERVICE_NAME, "v1/pod/hello-overlay-vip-0/info").json()
    assert len(r) == 1, "Got multiple responses from v1/pod/hello-overlay-vip-0/info"
    try:
        cni_labels = r[0]["info"]["executor"]["container"]["networkInfos"][0]["labels"]["labels"]
    except KeyError:
        assert False, "CNI labels not present"
    assert len(cni_labels) == 2, "Got {} labels, should be 2".format(len(cni_labels))
    for i in range(2):
        try:
            check_labels(cni_labels, i)
        except KeyError:
            assert False, "Couldn't get CNI labels from {}".format(cni_labels)
Exemple #6
0
 def fn():
     return api.get(service_name, '/v1/plan')
Exemple #7
0
 def fn():
     return sdk_api.get(service_name, "/v1/plans/{}".format(plan))
 def fn():
     output = sdk_api.get(service_name, '/v1/plans/{}'.format(plan))
     try:
         return output.json()
     except:
         return False
Exemple #9
0
 def wait_for_plan():
     output = sdk_api.get(service_name, '/v1/plans/{}'.format(plan))
     return output.json()
Exemple #10
0
 def wait_for_plans():
     output = sdk_api.get(service_name, '/v1/plans')
     return output.json()
Exemple #11
0
 def fn():
     output = sdk_api.get(service_name, '/v1/plans/{}'.format(plan))
     try:
         return output.json()
     except:
         return False
Exemple #12
0
 def fn():
     output = sdk_api.get(service_name, '/v1/metrics')
     output.raise_for_status()
     return output.json()
 def fn():
     output = sdk_api.get(service_name, '/v1/plans')
     try:
         return output.json()
     except:
         return False