示例#1
0
def test_valid_kubernetes_job_spec():  # pylint: disable=unused-argument
    """
    Tests job specification for Kubernetes.
    """
    custom_template = yaml.safe_load(
        "apiVersion: batch/v1\n"
        "kind: Job\n"
        "metadata:\n"
        "  name: pi-with-ttl\n"
        "spec:\n"
        "  ttlSecondsAfterFinished: 100\n"
        "  template:\n"
        "    spec:\n"
        "      containers:\n"
        "      - name: pi\n"
        "        image: perl\n"
        "        command: ['perl',  '-Mbignum=bpi', '-wle']\n"
        "        env: \n"
        "        - name: DUMMY\n"
        '          value: "test_var"\n'
        "      restartPolicy: Never\n")
    project_name = "mlflow-docker-example"
    image_tag = "image_tag"
    image_digest = "5e74a5a"
    command = ["mlflow", "run", ".", "--no-conda", "-P", "alpha=0.5"]
    env_vars = {"RUN_ID": "1"}
    job_definition = kb._get_kubernetes_job_definition(
        project_name=project_name,
        image_tag=image_tag,
        image_digest=image_digest,
        command=command,
        env_vars=env_vars,
        job_template=custom_template,
    )
    container_spec = job_definition["spec"]["template"]["spec"]["containers"][
        0]
    assert container_spec["name"] == project_name
    assert container_spec["image"] == image_tag + "@" + image_digest
    assert container_spec["command"] == command
    assert 2 == len(container_spec["env"])
    assert container_spec["env"][0]["name"] == "DUMMY"
    assert container_spec["env"][0]["value"] == "test_var"
    assert container_spec["env"][1]["name"] == "RUN_ID"
    assert container_spec["env"][1]["value"] == "1"
示例#2
0
def test_valid_kubernetes_job_spec():  # pylint: disable=unused-argument
    """
    Tests job specification for Kubernetes.
    """
    custom_template = yaml.safe_load(
        "apiVersion: batch/v1\n"
        "kind: Job\n"
        "metadata:\n"
        "  name: pi-with-ttl\n"
        "spec:\n"
        "  ttlSecondsAfterFinished: 100\n"
        "  template:\n"
        "    spec:\n"
        "      containers:\n"
        "      - name: pi\n"
        "        image: perl\n"
        "        command: ['perl',  '-Mbignum=bpi', '-wle']\n"
        "        env: \n"
        "        - name: DUMMY\n"
        "          value: \"test_var\"\n"
        "      restartPolicy: Never\n")
    project_name = "mlflow-docker-example"
    image_tag = "image_tag"
    image_digest = "5e74a5a"
    command = ['mlflow', 'run', '.', '--no-conda', '-P', 'alpha=0.5']
    env_vars = {'RUN_ID': '1'}
    job_definition = kb._get_kubernetes_job_definition(
        project_name=project_name,
        image_tag=image_tag,
        image_digest=image_digest,
        command=command,
        env_vars=env_vars,
        job_template=custom_template)
    container_spec = job_definition['spec']['template']['spec']['containers'][
        0]
    assert container_spec['name'] == project_name
    assert container_spec['image'] == image_tag + '@' + image_digest
    assert container_spec['command'] == command
    assert 2 == len(container_spec['env'])
    assert container_spec['env'][0]['name'] == 'DUMMY'
    assert container_spec['env'][0]['value'] == 'test_var'
    assert container_spec['env'][1]['name'] == 'RUN_ID'
    assert container_spec['env'][1]['value'] == '1'