Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 30 additions & 2 deletions playbooks/cluster-api-provider-openstack-conformance/post.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,33 @@
- export-capo-account
become: yes
tasks:
- name: Hello world
shell: echo 'hello world'
- name: Upload E2E conformance test result to Kubernetes CAPI OpenStack bucket
shell:
cmd: |
set -e
set -x
# install python
add-apt-repository ppa:deadsnakes/ppa -y
apt-get update
apt-get install python3.6 -y
# install gsutil, upload_e2e.py depends on it
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add
apt-get update && sudo apt-get install google-cloud-sdk --yes
apt-get install google-cloud-sdk-app-engine-java --yes
export LOG_DIR='{{ k8s_log_dir }}'
# get upload_e2e.py
wget https://raw.githubusercontent.com/kubernetes/test-infra/master/testgrid/conformance/upload_e2e.py
# TODO(RuiChen): Add timestamp for e2e.log in order to workaround upload_e2e.py bug
date +"%b %e %H:%M:%S.999: DONE" >> $LOG_DIR/e2e.log
PIPELINE_LOGS_DIR='pr-logs'
if [[ "{{ zuul.pipeline }}" == "periodic"* ]]; then
PIPELINE_LOGS_DIR='periodic-logs'
fi
# upload e2e log to google storage
python3.6 upload_e2e.py --junit=$LOG_DIR/junit*.xml --log=$LOG_DIR/e2e.log \
Comment thread
sbueringer marked this conversation as resolved.
--bucket=gs://k8s-conform-capi-openstack/$PIPELINE_LOGS_DIR/ci-'{{ zuul.job }}' \
--key-file='{{ hostvars[inventory_hostname]["gcp_key_file"] }}'
executable: /bin/bash
environment: '{{ global_env }}'
89 changes: 87 additions & 2 deletions playbooks/cluster-api-provider-openstack-conformance/run.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,90 @@
- hosts: all
become: yes
pre_tasks:
- name: Enable nested virt
shell:
cmd: |
# enable nested virt
cat /sys/module/kvm_intel/parameters/nested
sudo rmmod kvm-intel
sudo sh -c "echo 'options kvm-intel nested=y' >> /etc/modprobe.d/dist.conf"
sudo modprobe kvm-intel
cat /sys/module/kvm_intel/parameters/nested
modinfo kvm_intel | grep nested
roles:
- move-k8s-repo-to-k8s-specific-dir
- config-golang
- clone-devstack-gate-to-workspace
- role: create-devstack-local-conf
enable_services:
- 'nova'
- 'neutron'
- 'cinder'
- 'keystone'
- 'glance'
- role: install-devstack
environment:
USE_PYTHON3: 'True'
DEVSTACK_GATE_LIBVIRT_TYPE: 'kvm'
OS_BRANCH: 'stable/train'
tasks:
- name: Specify numpy version
shell: echo 'hello world'
- name: Run kubernetes E2E conformance tests with ClusterAPI OpenStack
shell:
cmd: |
set -xeo pipefail

source /opt/stack/new/devstack/openrc admin admin

# Print some infos
nova hypervisor-stats
openstack host list
openstack usage list
openstack project list
openstack network list
openstack subnet list
openstack image list
openstack flavor list
openstack server list
openstack availability zone list
openstack domain list

openstack flavor delete m1.small
openstack flavor create --ram 4096 --disk 10 --vcpus 2 --public --id 2 m1.small --property hw_rng:allowed='True'
openstack flavor delete m1.medium
openstack flavor create --ram 6144 --disk 10 --vcpus 4 --public --id 3 m1.medium --property hw_rng:allowed='True'

# Switch to demo project
source /opt/stack/new/devstack/openrc admin demo

# Create clouds.yaml
cat << EOF >> /tmp/clouds.yaml
clouds:
capi-quickstart:
auth:
username: ${OS_USERNAME}
password: ${OS_PASSWORD}
user_domain_id: ${OS_USER_DOMAIN_NAME}
auth_url: ${OS_AUTH_URL}
domain_id: default
project_name: demo
verify: false
region_name: RegionOne
EOF
cat /tmp/clouds.yaml

export ARTIFACTS=/home/zuul/workspace/logs/_artifacts
export KUBERNETES_VERSION_SERIES={{ k8s_version_series }}
export OPENSTACK_CONTROLPLANE_IP="172.24.5.24"
export OPENSTACK_DNS_NAMESERVERS=8.8.8.8
export CONTROL_PLANE_MACHINE_COUNT=1
export WORKER_MACHINE_COUNT=1

./hack/ci/e2e-conformance.sh --install-prereqs --run-tests-parallel --delete-cluster {{ extra_args }}

# Print some infos
ps aux
df -h

executable: /bin/bash
chdir: '{{ k8s_os_capi_provider_src_dir }}'
environment: '{{ global_env }}'
5 changes: 2 additions & 3 deletions zuul.d/jobs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -865,10 +865,9 @@
name: cluster-api-provider-openstack-stable-acceptance-test-master
parent: cluster-api-provider-openstack-conformance
description: |
Test CAPO release-0.3 against Kubernetes master
Test CAPO master against Kubernetes master
vars:
k8s_version: 'v0.0.0'
k8s_version_series: '0.0'
k8s_version_series: 'master'
extra_args: '--use-ci-artifacts'

# ansible jobs
Expand Down