forked from grafana/xk6-kubernetes
/
wait-job.js
34 lines (29 loc) · 837 Bytes
/
wait-job.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { sleep } from 'k6';
import { Kubernetes } from 'k6/x/kubernetes';
function getJobNames(nameSpace, kubernetes) {
return kubernetes.jobs.list(nameSpace).map(function(job){
return job.name
})
}
export default function () {
const kubernetes = new Kubernetes({
// config_path: "/path/to/kube/config", ~/.kube/config by default
})
const namespace = "default"
const jobName = "new-job"
const image = "perl"
const command = ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
kubernetes.jobs.create({
namespace: namespace,
name: jobName,
image: image,
command: command
})
const completed = kubernetes.jobs.wait({
namespace: namespace,
name: jobName,
timeout: "30s"
})
const jobStatus = completed? "completed": "not completed"
console.log(jobName + " " + jobStatus)
}