| KUBECONFIG = credentials("${params.k8s_config}") |
| apt-get install -y curl wget jq git |
| curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl" |
| mv ./kubectl /usr/local/bin/kubectl |
| stage('Parallel Stage') { |
| build(job: "${params.job_name}-onos") |
| build(job: "${params.job_name}-stratum") |
| build(job: "${params.job_name}-telegraf") |
| timeout(time: 120, unit: "SECONDS") |
| echo ${params.target_server} |
| if [ ! -z "${params.target_server}" ]; then |
| kubectl delete --wait=true ds -l test=e2e || true |
| name: ping-test-\${timestamp} |
| terminationGracePeriodSeconds: 5 |
| command: ["sh", "-c", "until ping ${params.target_server} -c1 -W 4; do echo 'ping retry'; sleep 3; done;"] |
| command: ["sh", "-c", "sleep 100000"] |
| kubectl apply -f test.yaml |
| number=\$(kubectl get --no-headers ds -ltest=e2e-\${timestamp} -o custom-columns=':.status.desiredNumberScheduled') |
| until [ \${number} -eq \$(kubectl get pods -l test=e2e-\${timestamp} --no-headers -o custom-columns=':.status.phase' | grep Running | wc -l) ]; do echo 'wait ping completed'; sleep 5; done; |
| if [ ! -z "${params.target_server}" ]; then |
| kubectl delete -f test.yaml |