summaryrefslogtreecommitdiffstats
path: root/jjb/functest/xtesting-ci.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/functest/xtesting-ci.yaml')
-rw-r--r--jjb/functest/xtesting-ci.yaml184
1 files changed, 184 insertions, 0 deletions
diff --git a/jjb/functest/xtesting-ci.yaml b/jjb/functest/xtesting-ci.yaml
new file mode 100644
index 000000000..9969d538b
--- /dev/null
+++ b/jjb/functest/xtesting-ci.yaml
@@ -0,0 +1,184 @@
+---
+- builder:
+ name: xtesting-ci-tests
+ builders:
+ - shell: |
+ set +x
+ sudo apt-get -o DPkg::Lock::Timeout=300 update
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install python3-pip docker.io podman -y
+ curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
+ chmod +x ./kind
+ sudo mv ./kind /usr/local/bin/kind
+ kind delete clusters xtesting jenkins gitlab || true
+ sudo docker ps -aq |xargs sudo docker stop || true
+ sudo docker ps -aq |xargs sudo docker rm || true
+ sudo docker system prune -f --all || true
+ sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
+ sudo systemctl daemon-reload
+ sudo systemctl restart docker
+ sudo podman ps -aq |xargs sudo podman stop || true
+ sudo podman ps -aq |xargs sudo podman rm || true
+ sudo rm -rfv /data /tmp/xtesting*
+ sudo apt-get install ansible patch -y
+ rm -rf ~/.ansible/roles/collivier.xtesting
+ case {release} in
+ stable)
+ ansible-galaxy install -f collivier.xtesting ;;
+ *)
+ ansible-galaxy install -f git+https://github.com/collivier/ansible-role-xtesting.git,{release}
+ mv ~/.ansible/roles/ansible-role-xtesting ~/.ansible/roles/collivier.xtesting ;;
+ esac
+ (cd ~/.ansible/roles/collivier.xtesting; patch -p1 < tests/docker_config_json.patch)
+ ansible-galaxy collection install -f -r ~/.ansible/roles/collivier.xtesting/requirements.yml
+ ansible-playbook -vvvv ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml
+
+- builder:
+ name: xtesting-ci-tests-remote
+ builders:
+ - shell: |
+ set +x
+ ssh opnfv@10.200.140.224 << EOF
+ sudo apt-get -o DPkg::Lock::Timeout=300 update
+ sudo DEBIAN_FRONTEND=noninteractive apt-get \
+ -o DPkg::Lock::Timeout=300 install python3-pip docker.io podman -y
+ curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
+ chmod +x ./kind
+ sudo mv ./kind /usr/local/bin/kind
+ kind delete clusters xtesting jenkins gitlab || true
+ sudo docker ps -aq |xargs sudo docker stop || true
+ sudo docker ps -aq |xargs sudo docker rm || true
+ sudo docker system prune -f --all || true
+ sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
+ sudo systemctl daemon-reload
+ sudo systemctl restart docker
+ sudo podman ps -aq |xargs sudo podman stop || true
+ sudo podman ps -aq |xargs sudo podman rm || true
+ sudo rm -rfv /data /tmp/xtesting*
+ EOF
+ sudo apt-get install ansible patch -y
+ rm -rf ~/.ansible/roles/collivier.xtesting
+ case {release} in
+ stable)
+ ansible-galaxy install -f collivier.xtesting ;;
+ *)
+ ansible-galaxy install -f git+https://github.com/collivier/ansible-role-xtesting.git,{release}
+ mv ~/.ansible/roles/ansible-role-xtesting ~/.ansible/roles/collivier.xtesting ;;
+ esac
+ (cd ~/.ansible/roles/collivier.xtesting; patch -p1 < tests/docker_config_json.patch)
+ ansible-galaxy collection install -f -r ~/.ansible/roles/collivier.xtesting/requirements.yml
+ sed -i "s/127.0.0.1/10.200.140.224/g" ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml
+ echo 10.200.140.224 ansible_host=10.200.140.224 ansible_user=opnfv > /tmp/inventory
+ ansible-playbook -i /tmp/inventory -vvvv ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml
+
+- parameter:
+ name: xtesting-ci-node
+ parameters:
+ - label:
+ name: node
+ default: '{node}'
+
+- job-template:
+ name: 'xtesting-ci-tests-{release}-{playbook}'
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-ci-node:
+ node: '{node}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^xtesting-ci-tests-.*$'
+ builders:
+ - xtesting-ci-tests:
+ playbook: '{playbook}'
+ release: '{release}'
+
+- job-template:
+ name: 'xtesting-ci-tests-remote-{release}-{playbook}'
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - xtesting-ci-node:
+ node: '{node}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^xtesting-ci-tests-.*$'
+ builders:
+ - xtesting-ci-tests-remote:
+ playbook: '{playbook}'
+ release: '{release}'
+
+- playbook: &playbook
+ name: 'playbook'
+ playbook:
+ - all
+ - podman
+ - proxy
+ - proxy2
+ - radosgw
+ - nexus
+ - repo
+ - twice
+ - macro
+ - branch
+ - jjb
+ - https
+ - https2
+ - gitlab.insert
+ - jenkins_kind
+ - jenkins_kind2
+ - gitlab_kind
+ - chainedci
+ - kubernetes0
+ - kubernetes1
+ - kubernetes2
+ - proxy_kubernetes
+ - proxy_kubernetes2
+ - k8s_jenkins_kind0
+ - k8s_jenkins_kind1
+ - k8s_jenkins_kind2
+ - k8s_jenkins_kind3
+ - k8s_gitlab0
+ - k8s_gitlab1
+ - k8s_gitlab_kind0
+ - k8s_gitlab_kind1
+ - k8s_gitlab_kind2
+ - k8s_gitlab_kind3
+
+- project:
+ name: xtesting-ci-tests
+ <<: *playbook
+ node: xtestingci
+ release:
+ - stable
+ - master
+ jobs:
+ - 'xtesting-ci-tests-{release}-{playbook}'
+
+- project:
+ name: xtesting-ci-tests-remote
+ <<: *playbook
+ node: xtesting
+ release:
+ - stable
+ - master
+ jobs:
+ - 'xtesting-ci-tests-remote-{release}-{playbook}'
+
+- view:
+ name: xtesting-ci
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-ci-tests-.*$