Add OpenShift gates

This commit adds gates that test Kuryr with OpenShift. Complex gates
that test with both OpenShift and CNI daemon enabled are added to
experimental queue only.

Partial-Implements: blueprint enhance-upstream-gates

Change-Id: I4162b31e6af3ca4b527dc5eb17e53be46e013daf
This commit is contained in:
Michał Dulko 2017-11-16 16:38:06 +01:00
parent 053b9425b1
commit b689288e7a
3 changed files with 63 additions and 12 deletions

View File

@ -22,6 +22,7 @@
vars:
loadbalancer: lbaasv2
kuryr_daemon: False
container_engine: kubernetes
required-projects:
- openstack-infra/devstack-gate
- openstack/devstack-plugin-container
@ -65,10 +66,33 @@
- ^(test-|)requirements.txt$
- ^setup.cfg$
# Tempest with LBaaSV2
- job:
name: tempest-kuryr-kubernetes-lbaasv2
parent: tempest-kuryr-kubernetes-base
# Tempest with LBaaSV2 and CNI daemon enabled
- job:
name: tempest-kuryr-kubernetes-lbaasv2-daemon
parent: tempest-kuryr-kubernetes-base
vars:
kuryr_daemon: True
# Tempest with LBaaSV2 and OpenShift
- job:
name: tempest-kuryr-kubernetes-lbaasv2-openshift
parent: tempest-kuryr-kubernetes-lbaasv2
vars:
container_engine: openshift
# Tempest with LBaaSV2, OpenShift and CNI daemon enabled
- job:
name: tempest-kuryr-kubernetes-lbaasv2-daemon-openshift
parent: tempest-kuryr-kubernetes-lbaasv2-daemon
vars:
container_engine: openshift
# Tempest with Octavia
- job:
name: tempest-kuryr-kubernetes-octavia
parent: tempest-kuryr-kubernetes-base
@ -86,18 +110,27 @@
- openstack/python-octaviaclient
- openstack/tempest
- job:
name: tempest-kuryr-kubernetes-lbaasv2-daemon
parent: tempest-kuryr-kubernetes-base
vars:
kuryr_daemon: True
# Tempest with Octavia and CNI daemon enabled
- job:
name: tempest-kuryr-kubernetes-octavia-daemon
parent: tempest-kuryr-kubernetes-octavia
vars:
kuryr_daemon: True
# Tempest with Octavia and OpenShift
- job:
name: tempest-kuryr-kubernetes-octavia-openshift
parent: tempest-kuryr-kubernetes-octavia
vars:
container_engine: openshift
# Tempest with Octavia, OpenShift and CNI daemon enabled
- job:
name: tempest-kuryr-kubernetes-octavia-daemon-openshift
parent: tempest-kuryr-kubernetes-octavia-daemon
vars:
container_engine: openshift
- project:
name: openstack/kuryr-kubernetes
check:
@ -105,12 +138,16 @@
- kuryr-kubernetes-install-default
- kuryr-kubernetes-install-dragonflow
- tempest-kuryr-kubernetes-lbaasv2
- tempest-kuryr-kubernetes-octavia
- tempest-kuryr-kubernetes-lbaasv2-openshift
- tempest-kuryr-kubernetes-lbaasv2-daemon
- tempest-kuryr-kubernetes-octavia
- tempest-kuryr-kubernetes-octavia-daemon
- tempest-kuryr-kubernetes-octavia-openshift
gate:
jobs:
- kuryr-kubernetes-install-default
experimental:
jobs:
- tempest-kuryr-kubernetes-multinode
- tempest-kuryr-kubernetes-lbaasv2-daemon-openshift
- tempest-kuryr-kubernetes-octavia-daemon-openshift

View File

@ -147,11 +147,19 @@ EOF
}
function copy_tempest_kubeconfig {
# FIXME(dulek): This should not be based on arbitrary paths that are
# only standard for the gate.
local tempest_home
local stack_home
tempest_home='/home/tempest'
stack_home='/opt/stack/new'
if is_service_enabled openshift-master; then
sudo mkdir -p "$stack_home/.kube"
sudo cp "$OPENSHIFT_DATA_DIR/admin.kubeconfig" "$stack_home/.kube/config"
sudo chown -R $STACK_USER "$stack_home/.kube"
fi
if [ -d "$tempest_home" ]; then
sudo cp -r "$stack_home/.kube" "$tempest_home"
sudo chown -R tempest "$tempest_home/.kube"

View File

@ -65,12 +65,18 @@
# Etcd
enable_service etcd3
# Kubernetes
enable_service kubernetes-api
enable_service kubernetes-controller-manager
enable_service kubernetes-scheduler
KURYR_K8S_API_PORT="8080"
# Kubelet
enable_service kubelet
if [ "{{ container_engine }}" == "kubernetes" ]; then
enable_service kubernetes-api
enable_service kubernetes-controller-manager
enable_service kubernetes-scheduler
# Kubelet
enable_service kubelet
elif [ "{{ container_engine }}" == "openshift" ]; then
enable_service openshift-master
enable_service openshift-node
DOCKER_CGROUP_DRIVER="systemd"
fi
# Kuryr watcher
enable_service kuryr-kubernetes
# LBaaS service