Creating a Volcano Job

Function

This API is used to create a Volcano job.

URI

POST /apis/batch.volcano.sh/v1alpha1/namespaces/{namespace}/jobs

Table 1 Path parameter

Parameter

Mandatory

Description

namespace

Yes

Object name and auth scope, such as for teams and projects.

Table 2 Query parameter

Parameter

Mandatory

Description

pretty

No

If 'true', then the output is pretty printed.

Request

For the description about request parameters, see Table 145.

Example request

{
    "apiVersion": "batch.volcano.sh/v1alpha1",
    "kind": "Job",
    "metadata": {
        "name": "openmpi-hello-2-com"
    },
    "spec": {
        "minAvailable": 1,
        "schedulerName": "volcano",
        "plugins": {
            "ssh": [],
            "env": [],
            "svc": []
        },
        "tasks": [
            {
                "replicas": 1,
                "name": "mpimaster",
                "policies": [
                    {
                        "event": "TaskCompleted",
                        "action": "CompleteJob"
                    }
                ],
                "template": {
                    "spec": {
                        "imagePullSecrets": [
                            {
                                "name": "default-secret"
                            }
                        ],
                        "containers": [
                            {
                                "command": [
                                    "/bin/sh",
                                    "-c",
                                    "MPI_HOST=`cat/etc/volcano/mpiworker.host|tr\"\\n\"\",\"`;\nmkdir-p/var/run/sshd;/usr/sbin/sshd;\nmpiexec--allow-run-as-root--host${\t\t\t\t\t\t\tMPI_HOST\t\t\t\t\t\t}-np2mpi_hello_world>/home/re\n"
                                ],
                                "image": "*.*.*.*: 20202/swr/openmpi-hello:3.28",
                                "name": "mpimaster",
                                "ports": [
                                    {
                                        "containerPort": 22,
                                        "name": "mpijob-port"
                                    }
                                ],
                                "resources": {
                                    "requests": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    },
                                    "limits": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    }
                                },
                                "workingDir": "/home"
                            }
                        ],
                        "restartPolicy": "OnFailure"
                    }
                }
            },
            {
                "replicas": 2,
                "name": "mpiworker",
                "template": {
                    "spec": {
                        "imagePullSecrets": [
                            {
                                "name": "default-secret"
                            }
                        ],
                        "containers": [
                            {
                                "command": [
                                    "/bin/sh",
                                    "-c",
                                    "mkdir-p/var/run/sshd;/usr/sbin/sshd-D;\n"
                                ],
                                "image": "*.*.*.*:20202/swr/openmpi-hello:3.28",
                                "name": "mpiworker",
                                "ports": [
                                    {
                                        "containerPort": 22,
                                        "name": "mpijob-port"
                                    }
                                ],
                                "workingDir": "/home",
                                "resources": {
                                    "requests": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    },
                                    "limits": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    }
                                }
                            }
                        ],
                        "restartPolicy": "OnFailure"
                    }
                }
            }
        ]
    }
}

Response

Response parameters:

For the description about response parameters, see Table 145.

Example response

{
    "apiVersion": "batch.volcano.sh/v1alpha1",
    "kind": "Job",
    "metadata": {
        "creationTimestamp": "2019-06-26T06:24:50Z",
        "generation": 1,
        "name": "openmpi-hello-3-com",
        "namespace": "cci-namespace-42263891",
        "resourceVersion": "7681331",
        "selfLink": "/apis/batch.volcano.sh/v1alpha1/namespaces/cci-namespace-42263891/jobs/openmpi-hello-3-com",
        "uid": "1a32a8c4-97db-11e9-9d09-dc9914fb58e0"
    },
    "spec": {
        "minAvailable": 1,
        "plugins": {
            "env": [],
            "ssh": [],
            "svc": []
        },
        "queue": "default",
        "schedulerName": "volcano",
        "tasks": [
            {
                "name": "mpimaster",
                "policies": [
                    {
                        "action": "CompleteJob",
                        "event": "TaskCompleted"
                    }
                ],
                "replicas": 1,
                "template": {
                    "spec": {
                        "containers": [
                            {
                                "command": [
                                    "/bin/sh",
                                    "-c",
                                    "MPI_HOST=`cat /etc/volcano/mpiworker.host | tr \"\\n\" \",\"`;\nmkdir -p /var/run/sshd; /usr/sbin/sshd;\nmpiexec --allow-run-as-root --host ${MPI_HOST} -np 2 mpi_hello_world 003e /home/re\n"
                                ],
                                "image": "*.*.*.*:20202/swr/openmpi-hello:3.28",
                                "name": "mpimaster",
                                "ports": [
                                    {
                                        "containerPort": 22,
                                        "name": "mpijob-port"
                                    }
                                ],
                                "resources": {
                                    "limits": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    },
                                    "requests": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    }
                                },
                                "workingDir": "/home"
                            }
                        ],
                        "imagePullSecrets": [
                            {
                                "name": "default-secret"
                            }
                        ],
                        "restartPolicy": "OnFailure"
                    }
                }
            },
            {
                "name": "mpiworker",
                "replicas": 2,
                "template": {
                    "spec": {
                        "containers": [
                            {
                                "command": [
                                    "/bin/sh",
                                    "-c",
                                    "mkdir -p /var/run/sshd; /usr/sbin/sshd -D;\n"
                                ],
                                "image": "*.*.*.*:20202/swr/openmpi-hello:3.28",
                                "name": "mpiworker",
                                "ports": [
                                    {
                                        "containerPort": 22,
                                        "name": "mpijob-port"
                                    }
                                ],
                                "resources": {
                                    "limits": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    },
                                    "requests": {
                                        "cpu": "250m",
                                        "memory": "1Gi"
                                    }
                                },
                                "workingDir": "/home"
                            }
                        ],
                        "imagePullSecrets": [
                            {
                                "name": "default-secret"
                            }
                        ],
                        "restartPolicy": "OnFailure"
                    }
                }
            }
        ]
    }
}

Status Code

Table 3 Status codes

Status Code

Description

200

OK

201

Created

202

Accepted

401

Unauthorized

400

Badrequest

500

Internal error

403

Forbidden