summaryrefslogtreecommitdiff
path: root/contrib/test/integration/build
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/test/integration/build')
-rw-r--r--contrib/test/integration/build/bats.yml17
-rw-r--r--contrib/test/integration/build/cri-o.yml79
-rw-r--r--contrib/test/integration/build/cri-tools.yml16
-rw-r--r--contrib/test/integration/build/kubernetes.yml63
-rw-r--r--contrib/test/integration/build/plugins.yml50
-rw-r--r--contrib/test/integration/build/runc.yml23
6 files changed, 248 insertions, 0 deletions
diff --git a/contrib/test/integration/build/bats.yml b/contrib/test/integration/build/bats.yml
new file mode 100644
index 000000000..d4ea19c65
--- /dev/null
+++ b/contrib/test/integration/build/bats.yml
@@ -0,0 +1,17 @@
+---
+
+- name: clone bats source repo
+ git:
+ repo: "https://github.com/sstephenson/bats.git"
+ dest: "{{ ansible_env.GOPATH }}/src/github.com/sstephenson/bats"
+
+- name: install bats
+ command: "./install.sh /usr/local"
+ args:
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/sstephenson/bats"
+
+- name: link bats
+ file:
+ src: /usr/local/bin/bats
+ dest: /usr/bin/bats
+ state: link
diff --git a/contrib/test/integration/build/cri-o.yml b/contrib/test/integration/build/cri-o.yml
new file mode 100644
index 000000000..fa025035c
--- /dev/null
+++ b/contrib/test/integration/build/cri-o.yml
@@ -0,0 +1,79 @@
+---
+
+- name: stat the expected cri-o directory
+ stat:
+ path: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o"
+ register: dir_stat
+
+- name: expect cri-o to be cloned already
+ fail:
+ msg: "Expected cri-o to be cloned at {{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o but it wasn't!"
+ when: not dir_stat.stat.exists
+
+- name: install cri-o tools
+ make:
+ target: install.tools
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o"
+
+- name: build cri-o
+ make:
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o"
+
+- name: install cri-o
+ make:
+ target: install
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o"
+
+- name: install cri-o systemd files
+ make:
+ target: install.systemd
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o"
+
+- name: install cri-o config
+ make:
+ target: install.config
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o"
+
+- name: install configs
+ copy:
+ src: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-o/{{ item.src }}"
+ dest: "{{ item.dest }}"
+ remote_src: yes
+ with_items:
+ - src: contrib/cni/10-crio-bridge.conf
+ dest: /etc/cni/net.d/10-crio-bridge.conf
+ - src: contrib/cni/99-loopback.conf
+ dest: /etc/cni/net.d/99-loopback.conf
+ - src: test/redhat_sigstore.yaml
+ dest: /etc/containers/registries.d/registry.access.redhat.com.yaml
+
+- name: run with overlay
+ replace:
+ regexp: 'storage_driver = ""'
+ replace: 'storage_driver = "overlay"'
+ name: /etc/crio/crio.conf
+ backup: yes
+
+- name: run with systemd cgroup manager
+ replace:
+ regexp: 'cgroup_manager = "cgroupfs"'
+ replace: 'cgroup_manager = "systemd"'
+ name: /etc/crio/crio.conf
+ backup: yes
+
+- name: add docker.io default registry
+ lineinfile:
+ dest: /etc/crio/crio.conf
+ line: '"docker.io"'
+ insertafter: 'registries = \['
+ regexp: 'docker\.io'
+ state: present
+
+- name: add overlay storage opts on RHEL/CentOS
+ lineinfile:
+ dest: /etc/crio/crio.conf
+ line: '"overlay.override_kernel_check=1"'
+ insertafter: 'storage_option = \['
+ regexp: 'overlay\.override_kernel_check=1'
+ state: present
+ when: ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS'
diff --git a/contrib/test/integration/build/cri-tools.yml b/contrib/test/integration/build/cri-tools.yml
new file mode 100644
index 000000000..e314225ef
--- /dev/null
+++ b/contrib/test/integration/build/cri-tools.yml
@@ -0,0 +1,16 @@
+---
+
+- name: clone cri-tools source repo
+ git:
+ repo: "https://github.com/kubernetes-incubator/cri-tools.git"
+ dest: "{{ ansible_env.GOPATH }}/src/github.com/kubernetes-incubator/cri-tools"
+ version: "16e6fe4d7199c5689db4630a9330e6a8a12cecd1"
+
+- name: install crictl
+ command: "/usr/bin/go install github.com/kubernetes-incubator/cri-tools/cmd/crictl"
+
+- name: link crictl
+ file:
+ src: "{{ ansible_env.GOPATH }}/bin/crictl"
+ dest: /usr/bin/crictl
+ state: link
diff --git a/contrib/test/integration/build/kubernetes.yml b/contrib/test/integration/build/kubernetes.yml
new file mode 100644
index 000000000..206cba448
--- /dev/null
+++ b/contrib/test/integration/build/kubernetes.yml
@@ -0,0 +1,63 @@
+---
+
+- name: clone kubernetes source repo
+ git:
+ repo: "https://github.com/runcom/kubernetes.git"
+ dest: "{{ ansible_env.GOPATH }}/src/k8s.io/kubernetes"
+ version: "cri-o-node-e2e-patched"
+
+- name: install etcd
+ command: "hack/install-etcd.sh"
+ args:
+ chdir: "{{ ansible_env.GOPATH }}/src/k8s.io/kubernetes"
+
+- name: build kubernetes
+ make:
+ chdir: "{{ ansible_env.GOPATH }}/src/k8s.io/kubernetes"
+
+- name: Add custom cluster service file for the e2e testing
+ copy:
+ dest: /etc/systemd/system/customcluster.service
+ content: |
+ [Unit]
+ After=network-online.target
+ Wants=network-online.target
+ [Service]
+ WorkingDirectory={{ ansible_env.GOPATH }}/src/k8s.io/kubernetes
+ ExecStart=/usr/local/bin/createcluster.sh
+ User=root
+ [Install]
+ WantedBy=multi-user.target
+
+- name: Add create cluster background script for e2e testing
+ copy:
+ dest: /usr/local/bin/createcluster.sh
+ content: |
+ #!/bin/bash
+
+ export PATH=/usr/local/go/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/bin:{{ ansible_env.GOPATH }}/bin:{{ ansible_env.GOPATH }}/src/k8s.io/kubernetes/third_party/etcd:{{ ansible_env.GOPATH }}/src/k8s.io/kubernetes/_output/local/bin/linux/amd64/
+ export CONTAINER_RUNTIME=remote
+ export CGROUP_DRIVER=systemd
+ export CONTAINER_RUNTIME_ENDPOINT='/var/run/crio.sock --runtime-request-timeout=5m'
+ export ALLOW_SECURITY_CONTEXT=","
+ export ALLOW_PRIVILEGED=1
+ export DNS_SERVER_IP={{ ansible_eth0.ipv4.address }}
+ export API_HOST={{ ansible_eth0.ipv4.address }}
+ export API_HOST_IP={{ ansible_eth0.ipv4.address }}
+ export KUBE_ENABLE_CLUSTER_DNS=true
+ ./hack/local-up-cluster.sh
+ mode: "u=rwx,g=rwx,o=x"
+
+- name: Set kubernetes_provider to be local
+ lineinfile:
+ dest: /etc/environment
+ line: 'KUBERNETES_PROVIDER=local'
+ regexp: 'KUBERNETES_PROVIDER='
+ state: present
+
+- name: Set KUBECONFIG
+ lineinfile:
+ dest: /etc/environment
+ line: 'KUBECONFIG=/var/run/kubernetes/admin.kubeconfig'
+ regexp: 'KUBECONFIG='
+ state: present
diff --git a/contrib/test/integration/build/plugins.yml b/contrib/test/integration/build/plugins.yml
new file mode 100644
index 000000000..e342a0b91
--- /dev/null
+++ b/contrib/test/integration/build/plugins.yml
@@ -0,0 +1,50 @@
+---
+
+- name: clone plugins source repo
+ git:
+ repo: "https://github.com/containernetworking/plugins.git"
+ dest: "{{ ansible_env.GOPATH }}/src/github.com/containernetworking/plugins"
+ version: "dcf7368eeab15e2affc6256f0bb1e84dd46a34de"
+
+- name: build plugins
+ command: "./build.sh"
+ args:
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/containernetworking/plugins"
+
+- name: install plugins
+ copy:
+ src: "{{ ansible_env.GOPATH }}/src/github.com/containernetworking/plugins/bin/{{ item }}"
+ dest: "/opt/cni/bin"
+ mode: "o=rwx,g=rx,o=rx"
+ remote_src: yes
+ with_items:
+ - bridge
+ - dhcp
+ - flannel
+ - host-local
+ - ipvlan
+ - loopback
+ - macvlan
+ - ptp
+ - sample
+ - tuning
+ - vlan
+
+- name: clone runcom plugins source repo
+ git:
+ repo: "https://github.com/runcom/plugins.git"
+ dest: "{{ ansible_env.GOPATH }}/src/github.com/containernetworking/plugins"
+ version: "custom-bridge"
+ force: yes
+
+- name: build plugins
+ command: "./build.sh"
+ args:
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/containernetworking/plugins"
+
+- name: install custom bridge
+ copy:
+ src: "{{ ansible_env.GOPATH }}/src/github.com/containernetworking/plugins/bin/bridge"
+ dest: "/opt/cni/bin/bridge-custom"
+ mode: "o=rwx,g=rx,o=rx"
+ remote_src: yes
diff --git a/contrib/test/integration/build/runc.yml b/contrib/test/integration/build/runc.yml
new file mode 100644
index 000000000..7bb0491d4
--- /dev/null
+++ b/contrib/test/integration/build/runc.yml
@@ -0,0 +1,23 @@
+---
+
+- name: clone runc source repo
+ git:
+ repo: "https://github.com/opencontainers/runc.git"
+ dest: "{{ ansible_env.GOPATH }}/src/github.com/opencontainers/runc"
+ version: "84a082bfef6f932de921437815355186db37aeb1"
+
+- name: build runc
+ make:
+ params: BUILDTAGS="seccomp selinux"
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/opencontainers/runc"
+
+- name: install runc
+ make:
+ target: "install"
+ chdir: "{{ ansible_env.GOPATH }}/src/github.com/opencontainers/runc"
+
+- name: link runc
+ file:
+ src: /usr/local/sbin/runc
+ dest: /usr/bin/runc
+ state: link