TESTING: DO NOT MERGE
This commit is contained in:
parent
6c4a508fc9
commit
cc93fcd843
2 changed files with 2 additions and 432 deletions
51
.travis.yml
51
.travis.yml
|
@ -1,51 +0,0 @@
|
|||
language: go
|
||||
|
||||
sudo: required
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
before_install:
|
||||
- sudo apt-get -qq update
|
||||
- sudo apt-get -qq install btrfs-tools libdevmapper-dev libgpgme11-dev libapparmor-dev libseccomp-dev
|
||||
- sudo apt-get -qq install autoconf automake bison e2fslibs-dev libfuse-dev libtool liblzma-dev
|
||||
|
||||
install:
|
||||
- make install.tools
|
||||
- OSTREE_VERSION=v2017.9
|
||||
- git clone https://github.com/ostreedev/ostree ${TRAVIS_BUILD_DIR}/ostree
|
||||
- pushd ${TRAVIS_BUILD_DIR}/ostree
|
||||
- git checkout $OSTREE_VERSION
|
||||
- ./autogen.sh --prefix=/usr/local
|
||||
- make all
|
||||
- sudo make install
|
||||
- popd
|
||||
|
||||
before_script:
|
||||
- export PATH=$HOME/gopath/bin:$PATH
|
||||
- export LD_LIBRARY_PATH=/usr/local/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- stage: Build and Verify
|
||||
script:
|
||||
- make .gitvalidation
|
||||
- make gofmt
|
||||
- make lint
|
||||
- make docs
|
||||
- make
|
||||
go: 1.8.x
|
||||
- script:
|
||||
- make .gitvalidation
|
||||
- make gofmt
|
||||
- make lint
|
||||
- make docs
|
||||
- make
|
||||
go: tip
|
||||
- stage: Integration Test
|
||||
script:
|
||||
- make integration
|
||||
go: 1.8.x
|
||||
|
||||
notifications:
|
||||
irc: "chat.freenode.net#cri-o"
|
|
@ -3,385 +3,6 @@
|
|||
## --skip-tags pr
|
||||
- hosts: all
|
||||
remote_user: root
|
||||
vars:
|
||||
xunit: false
|
||||
cni_commit: dcf7368eeab15e2affc6256f0bb1e84dd46a34de
|
||||
tasks:
|
||||
- name: Update all packages
|
||||
yum:
|
||||
name: '*'
|
||||
state: latest
|
||||
async: 600
|
||||
poll: 10
|
||||
when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS')
|
||||
ignore_errors: true
|
||||
- name: Update all packages on Fedora
|
||||
dnf:
|
||||
name: '*'
|
||||
state: latest
|
||||
async: 600
|
||||
poll: 10
|
||||
when: ansible_distribution == 'Fedora'
|
||||
- name: Make sure we have all required packages
|
||||
yum:
|
||||
name: "{{ item }}"
|
||||
state: latest
|
||||
with_items:
|
||||
- wget
|
||||
- git
|
||||
- make
|
||||
- gcc
|
||||
- tar
|
||||
- libseccomp-devel
|
||||
- golang
|
||||
- glib2-devel
|
||||
- glibc-static
|
||||
- container-selinux
|
||||
- btrfs-progs-devel
|
||||
- device-mapper-devel
|
||||
- ostree-devel
|
||||
- glibc-devel
|
||||
- gpgme-devel
|
||||
- libassuan-devel
|
||||
- libgpg-error-devel
|
||||
- pkgconfig
|
||||
- skopeo-containers
|
||||
async: 600
|
||||
poll: 10
|
||||
when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS')
|
||||
- name: Make sure we have all required packages on Fedora
|
||||
dnf:
|
||||
name: "{{ item }}"
|
||||
state: latest
|
||||
with_items:
|
||||
- wget
|
||||
- git
|
||||
- make
|
||||
- gcc
|
||||
- tar
|
||||
- libseccomp-devel
|
||||
- golang
|
||||
- glib2-devel
|
||||
- glibc-static
|
||||
- container-selinux
|
||||
- btrfs-progs-devel
|
||||
- device-mapper-devel
|
||||
- ostree-devel
|
||||
- glibc-devel
|
||||
- gpgme-devel
|
||||
- libassuan-devel
|
||||
- libgpg-error-devel
|
||||
- pkgconfig
|
||||
- skopeo-containers
|
||||
async: 600
|
||||
poll: 10
|
||||
when: ansible_distribution == 'Fedora'
|
||||
- name: Make testing directories to conform to testing standards
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- /root/src/github.com/kubernetes-incubator
|
||||
- /root/src/github.com/opencontainers
|
||||
- /opt/cni/bin
|
||||
- /etc/cni/net.d
|
||||
- /usr/local/go
|
||||
- name: install Golang upstream in CentOS
|
||||
shell: |
|
||||
curl -fsSL "https://golang.org/dl/go1.8.1.linux-amd64.tar.gz" \
|
||||
| tar -xzC /usr/local
|
||||
when: ansible_distribution == 'CentOS'
|
||||
- name: Set custom Golang path for CentOS
|
||||
lineinfile:
|
||||
dest: /root/.bashrc
|
||||
line: 'export PATH=/usr/local/go/bin:$PATH'
|
||||
insertafter: 'EOF'
|
||||
regexp: 'export PATH=/usr/local/go/bin:$PATH'
|
||||
state: present
|
||||
when: ansible_distribution == 'CentOS'
|
||||
- name: set sysctl vm.overcommit_memory=1 for CentOS
|
||||
shell: |
|
||||
sysctl -w vm.overcommit_memory=1
|
||||
when: ansible_distribution == 'CentOS'
|
||||
- name: disable selinux on CentOS :(
|
||||
shell: |
|
||||
setenforce 0
|
||||
when: ansible_distribution == 'CentOS'
|
||||
- name: git clone bats repo
|
||||
git:
|
||||
repo: https://github.com/sstephenson/bats.git
|
||||
dest: /root/src/bats
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Fetch the xunit feature PR for bats
|
||||
shell: "git fetch origin +refs/pull/161/head:refs/remotes/origin/pr/161"
|
||||
args:
|
||||
chdir: /root/src/bats
|
||||
async: 600
|
||||
poll: 10
|
||||
when: xunit
|
||||
- name: Git checkout the xunit PR for bats
|
||||
shell: "git checkout origin/pr/161"
|
||||
args:
|
||||
chdir: /root/src/bats
|
||||
async: 600
|
||||
poll: 10
|
||||
when: xunit
|
||||
- name: git clone crictl repo
|
||||
git:
|
||||
repo: https://github.com/kubernetes-incubator/cri-tools
|
||||
dest: /root/src/github.com/kubernetes-incubator/cri-tools
|
||||
version: 16e6fe4d7199c5689db4630a9330e6a8a12cecd1
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: git clone runc repo
|
||||
git:
|
||||
repo: https://github.com/opencontainers/runc
|
||||
dest: /root/src/github.com/opencontainers/runc
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: git clone cri-o repo
|
||||
git:
|
||||
repo: https://github.com/kubernetes-incubator/cri-o
|
||||
dest: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: git clone cni repo
|
||||
git:
|
||||
repo: https://github.com/containernetworking/plugins
|
||||
dest: /root/src/github.com/containernetworking/plugins
|
||||
version: "{{ cni_commit }}"
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Git fetch the PR
|
||||
shell: "git fetch origin +refs/pull/{{ pullrequest }}/head:refs/remotes/origin/pr/{{ pullrequest }}"
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
tags:
|
||||
- pr
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Git checkout the commit into working branch
|
||||
shell: "git checkout {{ commit }}"
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Install bats
|
||||
command: bats/install.sh /usr/local
|
||||
args:
|
||||
chdir: /root/src
|
||||
- name: Add go testing dir to bashrc files
|
||||
lineinfile:
|
||||
dest: /root/.bashrc
|
||||
line: 'export GOPATH=/root'
|
||||
insertafter: 'EOF'
|
||||
regexp: 'export GOPATH=/root'
|
||||
state: present
|
||||
- name: Source the bashrc file
|
||||
shell: source /root/.bashrc
|
||||
- name: Build cni networking
|
||||
shell: ./build.sh
|
||||
args:
|
||||
chdir: /root/src/github.com/containernetworking/plugins
|
||||
- name: cp bin to cni bin dir
|
||||
shell: cp /root/src/github.com/containernetworking/plugins/bin/* /opt/cni/bin
|
||||
- name: curl crio bridge conf file for cni networking
|
||||
get_url:
|
||||
url: https://raw.githubusercontent.com/kubernetes-incubator/cri-o/{{ commit }}/contrib/cni/10-crio-bridge.conf
|
||||
dest: /etc/cni/net.d/10-crio-bridge.conf
|
||||
- name: curl loopback conf for cni networking
|
||||
get_url:
|
||||
url: https://raw.githubusercontent.com/kubernetes-incubator/cri-o/{{ commit }}/contrib/cni/99-loopback.conf
|
||||
dest: /etc/cni/net.d/99-loopback.conf
|
||||
- name: make clean
|
||||
make:
|
||||
target: clean
|
||||
chdir: /root/src/github.com/opencontainers/runc
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: make crictl
|
||||
shell: |
|
||||
go install github.com/kubernetes-incubator/cri-tools/cmd/crictl && \
|
||||
cp $GOPATH/bin/crictl /usr/bin/crictl
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o/
|
||||
- name: make runc
|
||||
make:
|
||||
params: BUILDTAGS="seccomp selinux"
|
||||
chdir: /root/src/github.com/opencontainers/runc
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: install runc
|
||||
make:
|
||||
target: install
|
||||
chdir: /root/src/github.com/opencontainers/runc
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Change test_runner.sh to use bats xunit output
|
||||
lineinfile:
|
||||
dest: /root/src/github.com/kubernetes-incubator/cri-o/test/test_runner.sh
|
||||
line: 'execute time bats --tap --junit $TESTS'
|
||||
regexp: 'execute time bats --tap \$TESTS'
|
||||
state: present
|
||||
when: xunit
|
||||
- name: Copy plugin args so tests dont hang
|
||||
shell: "cp test/plugin_test_args.bash /opt/cni/bin/"
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o/
|
||||
# k8s builds with go1.8.x, rhel, fedora don't have it yet
|
||||
- name: install Golang upstream in Fedora/RHEL
|
||||
shell: |
|
||||
curl -fsSL "https://golang.org/dl/go1.8.3.linux-amd64.tar.gz" \
|
||||
| tar -xzC /usr/local
|
||||
when: ansible_distribution == 'Fedora' or ansible_distribution == 'RedHat'
|
||||
- name: Set custom Golang path for Fedora/RHEL
|
||||
lineinfile:
|
||||
dest: /root/.bashrc
|
||||
line: 'export PATH=/usr/local/go/bin:$PATH'
|
||||
insertafter: 'EOF'
|
||||
regexp: 'export PATH=/usr/local/go/bin:$PATH'
|
||||
state: present
|
||||
when: ansible_distribution == 'Fedora' or ansible_distribution == 'RedHat'
|
||||
- name: run integration tests RHEL
|
||||
shell: 'CGROUP_MANAGER=cgroupfs STORAGE_OPTS="--storage-driver=overlay2 --storage-opt overlay2.override_kernel_check=1" make localintegration 2>&1 > testout.txt'
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
async: 3600
|
||||
poll: 10
|
||||
ignore_errors: yes
|
||||
when: ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS'
|
||||
- name: run integration tests RHEL with xunit results
|
||||
shell: 'CGROUP_MANAGER=cgroupfs STORAGE_OPTS="--storage-driver=overlay2 --storage-opt overlay2.override_kernel_check=1" make localintegration'
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
async: 3600
|
||||
poll: 10
|
||||
ignore_errors: yes
|
||||
when: (ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS') and xunit
|
||||
- name: run integration tests Fedora
|
||||
shell: 'CGROUP_MANAGER=cgroupfs STORAGE_OPTS="--storage-driver=overlay2" make localintegration 2>&1 > testout.txt'
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
async: 3600
|
||||
poll: 10
|
||||
ignore_errors: yes
|
||||
when: ansible_distribution == 'Fedora'
|
||||
- name: run integration tests Fedora with xunit results
|
||||
shell: 'CGROUP_MANAGER=cgroupfs STORAGE_OPTS="--storage-driver=overlay2" make localintegration'
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
async: 3600
|
||||
poll: 10
|
||||
ignore_errors: yes
|
||||
when: (ansible_distribution == 'Fedora' and xunit)
|
||||
- name: Make testing output directory
|
||||
file:
|
||||
path: /root/src/github.com/kubernetes-incubator/cri-o/reports
|
||||
state: directory
|
||||
ignore_errors: yes
|
||||
when: xunit
|
||||
- name: Move all xunit files into one dir to scp
|
||||
shell: 'mv /root/src/github.com/kubernetes-incubator/cri-o/test/TestReport-bats*.xml /root/src/github.com/kubernetes-incubator/cri-o/reports/'
|
||||
when: xunit
|
||||
# XXX: kube tests from now on
|
||||
- name: git clone k8s repo
|
||||
git:
|
||||
repo: https://github.com/runcom/kubernetes
|
||||
dest: /root/src/k8s.io/kubernetes
|
||||
# based on kube upstream v1.7.4
|
||||
version: cri-o-node-e2e-patched
|
||||
force: yes
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: make and install CRI-O
|
||||
shell: |
|
||||
make install.tools && \
|
||||
make && \
|
||||
make install && \
|
||||
make install.systemd && \
|
||||
make install.config
|
||||
args:
|
||||
chdir: /root/src/github.com/kubernetes-incubator/cri-o
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: link runc
|
||||
file: src=/usr/local/sbin/runc dest=/usr/bin/runc state=link
|
||||
- name: run with overlay2
|
||||
replace:
|
||||
regexp: 'storage_driver = ""'
|
||||
replace: 'storage_driver = "overlay2"'
|
||||
name: /etc/crio/crio.conf
|
||||
backup: yes
|
||||
- name: add overlay2 storage opts on RHEL/CentOS
|
||||
lineinfile:
|
||||
dest: /etc/crio/crio.conf
|
||||
line: '"overlay2.override_kernel_check=1"'
|
||||
insertafter: 'storage_option = \['
|
||||
regexp: 'overlay2\.override_kernel_check=1'
|
||||
state: present
|
||||
when: ansible_distribution == 'RedHat' or ansible_distribution == 'CentOS'
|
||||
- name: enable and start CRI-O
|
||||
systemd:
|
||||
name: crio
|
||||
state: started
|
||||
enabled: yes
|
||||
daemon_reload: yes
|
||||
async: 600
|
||||
poll: 10
|
||||
# see https://github.com/kubernetes-incubator/cri-o/issues/528
|
||||
- name: disable selinux for k8s conformance tests
|
||||
shell: |
|
||||
setenforce 0
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Go get the go-bindata file
|
||||
shell: go get -u github.com/jteeuwen/go-bindata/go-bindata
|
||||
args:
|
||||
chdir: /root/src/k8s.io/kubernetes
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Install etcd
|
||||
command: hack/install-etcd.sh
|
||||
args:
|
||||
chdir: /root/src/k8s.io/kubernetes
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Install necessary github go packages
|
||||
shell: go get github.com/onsi/ginkgo/ginkgo ; go get github.com/onsi/gomega ; go get -u github.com/cloudflare/cfssl/cmd/...
|
||||
args:
|
||||
chdir: /root/src/k8s.io/kubernetes
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: Add path to bashrc files
|
||||
lineinfile:
|
||||
dest: /root/.bashrc
|
||||
line: 'export PATH=$PATH:/root/src/k8s.io/kubernetes/third_party/etcd'
|
||||
insertafter: 'EOF'
|
||||
regexp: 'export PATH=\$PATH:/root/src/k8s.io/kubernetes/third_party/etcd'
|
||||
state: present
|
||||
- name: gather correct hostname
|
||||
shell: |
|
||||
cat /etc/hostname
|
||||
register: hostname
|
||||
- name: inject hostname into /etc/hosts
|
||||
lineinfile:
|
||||
dest: /etc/hosts
|
||||
line: '127.0.0.1 {{ hostname.stdout }}'
|
||||
insertafter: 'EOF'
|
||||
regexp: '127\.0\.0\.1\s+{{ hostname.stdout }}'
|
||||
state: present
|
||||
- name: Flush the iptables
|
||||
command: iptables -F
|
||||
async: 600
|
||||
poll: 10
|
||||
- name: run k8s tests
|
||||
shell: |
|
||||
make test-e2e-node PARALLELISM=1 RUNTIME=remote CONTAINER_RUNTIME_ENDPOINT=/var/run/crio.sock IMAGE_SERVICE_ENDPOINT=/var/run/crio.sock TEST_ARGS="--prepull-images=true" FOCUS="\[Conformance\]" 2>&1 > node-e2e.log
|
||||
args:
|
||||
chdir: /root/src/k8s.io/kubernetes
|
||||
async: 7200
|
||||
poll: 10
|
||||
ignore_errors: true
|
||||
# XXX: tests on RHEL/CentOS are unreliable fow now
|
||||
when: ansible_distribution == 'Fedora' or ansible_distribution == 'RedHat'
|
||||
- debug:
|
||||
msg: "It's Verking, it's VERKING!"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue