Skip to content

Commit

Permalink
Merge branch 'master' into gophercloud
Browse files Browse the repository at this point in the history
  • Loading branch information
kiwik authored Apr 28, 2018
2 parents 801cc92 + d5435b9 commit a3f6f86
Show file tree
Hide file tree
Showing 27 changed files with 306 additions and 256 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
cmd: |
set -e
set -x
kubectl="$GOPATH/src/k8s.io/kubernetes/cluster/kubectl.sh"
"$kubectl" config use-context local
"$kubectl" delete -f examples/cinder-csi-plugin/nginx.yaml
"$kubectl" delete -f manifests/cinder-csi-plugin
'{{ kubectl }}' config use-context local
'{{ kubectl }}' delete -f examples/cinder-csi-plugin/nginx.yaml
'{{ kubectl }}' delete -f manifests/cinder-csi-plugin
executable: /bin/bash
chdir: '{{ k8s_specific_src_dir }}'
chdir: '{{ k8s_os_provider_src_dir }}'
environment: '{{ golang_env }}'
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
- hosts: all
roles:
- export-vexxhost-openrc
- role: export-cloud-openrc
vars:
cloud_name: 'vexxhost'
become: yes
tasks:
- name: Run csi cinder acceptance tests with cloud-provider-openstack
Expand Down Expand Up @@ -46,8 +48,8 @@
export EXTERNAL_CLOUD_PROVIDER_BINARY="$PWD/openstack-cloud-controller-manager"
# location of where the kubernetes processes log their output
mkdir -p '{{ ansible_user_dir }}/workspace/logs/kubernetes'
export LOG_DIR='{{ ansible_user_dir }}/workspace/logs/kubernetes'
mkdir -p '{{ k8s_log_dir }}'
export LOG_DIR='{{ k8s_log_dir }}'
# We need this for one of the conformance tests
export ALLOW_PRIVILEGED=true
# Just kick off all the processes and drop down to the command line
Expand All @@ -61,23 +63,22 @@
# -E preserves the current env vars, but we need to special case PATH
# Must run local-up-cluster.sh under kubernetes root directory
pushd "$GOPATH/src/k8s.io/kubernetes"
pushd '{{ k8s_src_dir }}'
sudo -E PATH=$PATH SHELLOPTS=$SHELLOPTS ./hack/local-up-cluster.sh -O
popd
export kubectl="$GOPATH/src/k8s.io/kubernetes/cluster/kubectl.sh"
# set up the config we need for kubectl to work
"$kubectl" config set-cluster local --server=https://localhost:6443 --certificate-authority=/var/run/kubernetes/server-ca.crt
"$kubectl" config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt
"$kubectl" config set-context local --cluster=local --user=myself
"$kubectl" config use-context local
'{{ kubectl }}' config set-cluster local --server=https://localhost:6443 --certificate-authority=/var/run/kubernetes/server-ca.crt
'{{ kubectl }}' config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt
'{{ kubectl }}' config set-context local --cluster=local --user=myself
'{{ kubectl }}' config use-context local
# Hack for RBAC for all for the new cloud-controller process, we need to do better than this
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:default kube-system-cluster-admin-1 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:pvl-controller kube-system-cluster-admin-2 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:cloud-node-controller kube-system-cluster-admin-3 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:cloud-controller-manager kube-system-cluster-admin-4 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:shared-informers kube-system-cluster-admin-5 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:kube-controller-manager kube-system-cluster-admin-6 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:default kube-system-cluster-admin-1 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:pvl-controller kube-system-cluster-admin-2 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:cloud-node-controller kube-system-cluster-admin-3 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:cloud-controller-manager kube-system-cluster-admin-4 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:shared-informers kube-system-cluster-admin-5 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:kube-controller-manager kube-system-cluster-admin-6 --clusterrole cluster-admin
# Where csi provisioner reads instance id from
INSTANCE_UUID=$(curl http://169.254.169.254/openstack/latest/meta_data.json | python -c "import sys, json; print json.load(sys.stdin)['uuid']")
Expand Down Expand Up @@ -117,45 +118,45 @@
} > /dev/null 2>&1
# Enable services
"$kubectl" create -f manifests/cinder-csi-plugin
'{{ kubectl }}' create -f manifests/cinder-csi-plugin
sleep 5
# If services up
if timeout 300 bash -c '
while :
do
"$kubectl" get pod | sed "1d" | awk '\''$2 != "2/2" || $3 != "Running" {err = 1} END {exit err}'\'' && break
{{ kubectl }} get pod | sed "1d" | awk '\''$2 != "2/2" || $3 != "Running" {err = 1} END {exit err}'\'' && break
sleep 1
done
'
then
echo 'Run services successful'
"$kubectl" get pod
'{{ kubectl }}' get pod
else
echo 'Run services failed'
"$kubectl" get pod
'{{ kubectl }}' get pod
exit 1
fi
# Make test
"$kubectl" create -f examples/cinder-csi-plugin/nginx.yaml
'{{ kubectl }}' create -f examples/cinder-csi-plugin/nginx.yaml
# If test passed
if timeout 300 bash -c '
while :
do
[[ $("$kubectl" describe pod nginx | awk "/^Status:/ {print \$2}") == Running ]] && break
[[ $({{ kubectl }} describe pod nginx | awk "/^Status:/ {print \$2}") == Running ]] && break
sleep 1
done
'
then
echo 'Run test successful'
"$kubectl" get pod
'{{ kubectl }}' get pod
else
echo 'Run test failed'
"$kubectl" get pod
"$kubectl" describe pod nginx
"$kubectl" describe pvc csi-pvc-cinderplugin
'{{ kubectl }}' get pod
'{{ kubectl }}' describe pod nginx
'{{ kubectl }}' describe pvc csi-pvc-cinderplugin
exit 1
fi
executable: /bin/bash
chdir: '{{ k8s_specific_src_dir }}'
environment: '{{ golang_env | combine(vexxhost_openrc) }}'
chdir: '{{ k8s_os_provider_src_dir }}'
environment: '{{ golang_env }}'
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
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='{{ ansible_user_dir }}/workspace/logs/kubernetes'
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
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
- hosts: all
roles:
- export-vexxhost-openrc
- role: export-cloud-openrc
vars:
cloud_name: 'vexxhost'
become: yes
tasks:
- name: Run kubernetes E2E conformance tests with cloud-provider-openstack
Expand Down Expand Up @@ -48,8 +50,8 @@
export EXTERNAL_CLOUD_PROVIDER_BINARY="$PWD/openstack-cloud-controller-manager"
# location of where the kubernetes processes log their output
mkdir -p '{{ ansible_user_dir }}/workspace/logs/kubernetes'
export LOG_DIR='{{ ansible_user_dir }}/workspace/logs/kubernetes'
mkdir -p '{{ k8s_log_dir }}'
export LOG_DIR='{{ k8s_log_dir }}'
# We need this for one of the conformance tests
export ALLOW_PRIVILEGED=true
# Just kick off all the processes and drop down to the command line
Expand All @@ -73,23 +75,22 @@
# -E preserves the current env vars, but we need to special case PATH
# Must run local-up-cluster.sh under kubernetes root directory
pushd "$GOPATH/src/k8s.io/kubernetes"
pushd '{{ k8s_src_dir }}'
sudo -E PATH=$PATH SHELLOPTS=$SHELLOPTS ./hack/local-up-cluster.sh -O
popd
export kubectl="$GOPATH/src/k8s.io/kubernetes/cluster/kubectl.sh"
# set up the config we need for kubectl to work
"$kubectl" config set-cluster local --server=https://localhost:6443 --certificate-authority=/var/run/kubernetes/server-ca.crt
"$kubectl" config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt
"$kubectl" config set-context local --cluster=local --user=myself
"$kubectl" config use-context local
'{{ kubectl }}' config set-cluster local --server=https://localhost:6443 --certificate-authority=/var/run/kubernetes/server-ca.crt
'{{ kubectl }}' config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt
'{{ kubectl }}' config set-context local --cluster=local --user=myself
'{{ kubectl }}' config use-context local
# Hack for RBAC for all for the new cloud-controller process, we need to do better than this
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:default kube-system-cluster-admin-1 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:pvl-controller kube-system-cluster-admin-2 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:cloud-node-controller kube-system-cluster-admin-3 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:cloud-controller-manager kube-system-cluster-admin-4 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:shared-informers kube-system-cluster-admin-5 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:kube-controller-manager kube-system-cluster-admin-6 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:default kube-system-cluster-admin-1 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:pvl-controller kube-system-cluster-admin-2 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:cloud-node-controller kube-system-cluster-admin-3 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:cloud-controller-manager kube-system-cluster-admin-4 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:shared-informers kube-system-cluster-admin-5 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:kube-controller-manager kube-system-cluster-admin-6 --clusterrole cluster-admin
# Sleep to wait for creating serviceaccount default/default complete
sleep 5
Expand All @@ -105,7 +106,7 @@
# Run e2e test using local deployment/provider
# Must run kubetest under kubernetes root directory
cd "$GOPATH/src/k8s.io/kubernetes"
cd '{{ k8s_src_dir }}'
kubetest --dump=$LOG_DIR \
--test \
--build=quick \
Expand All @@ -115,5 +116,5 @@
--test_args="--ginkgo.focus=\\[Conformance\\] --ginkgo.noColor=true" \
--timeout=120m | tee $LOG_DIR/e2e.log
executable: /bin/bash
chdir: '{{ k8s_specific_src_dir }}'
environment: '{{ golang_env | combine(vexxhost_openrc) }}'
chdir: '{{ k8s_os_provider_src_dir }}'
environment: '{{ golang_env }}'
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
environment:
OVERRIDE_ENABLED_SERVICES: 'key,c-sch,c-api,c-vol,rabbit,mysql'
PROJECTS: 'openstack/devstack-plugin-ceph'
- role: export-devstack-openrc
tasks:
- name: Run flexvolume cinder conformance tests with cloud-provider-openstack
shell:
Expand All @@ -27,7 +28,6 @@
make build
# Create cloud-config
source /opt/stack/new/devstack/openrc admin admin
mkdir -p /etc/kubernetes/
cat << EOF >> /etc/kubernetes/cloud-config
[Global]
Expand Down Expand Up @@ -55,8 +55,8 @@
export CLOUD_CONFIG=/etc/kubernetes/cloud-config
# location of where the kubernetes processes log their output
mkdir -p '{{ ansible_user_dir }}/workspace/logs/kubernetes'
export LOG_DIR='{{ ansible_user_dir }}/workspace/logs/kubernetes'
mkdir -p '{{ k8s_log_dir }}'
export LOG_DIR='{{ k8s_log_dir }}'
# We need this for one of the conformance tests
export ALLOW_PRIVILEGED=true
# Just kick off all the processes and drop down to the command line
Expand All @@ -69,23 +69,22 @@
# -E preserves the current env vars, but we need to special case PATH
# Must run local-up-cluster.sh under kubernetes root directory
pushd "$GOPATH/src/k8s.io/kubernetes"
pushd '{{ k8s_src_dir }}'
sudo -E PATH=$PATH SHELLOPTS=$SHELLOPTS ./hack/local-up-cluster.sh -O
popd
export kubectl="$GOPATH/src/k8s.io/kubernetes/cluster/kubectl.sh"
# set up the config we need for kubectl to work
"$kubectl" config set-cluster local --server=https://localhost:6443 --certificate-authority=/var/run/kubernetes/server-ca.crt
"$kubectl" config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt
"$kubectl" config set-context local --cluster=local --user=myself
"$kubectl" config use-context local
'{{ kubectl }}' config set-cluster local --server=https://localhost:6443 --certificate-authority=/var/run/kubernetes/server-ca.crt
'{{ kubectl }}' config set-credentials myself --client-key=/var/run/kubernetes/client-admin.key --client-certificate=/var/run/kubernetes/client-admin.crt
'{{ kubectl }}' config set-context local --cluster=local --user=myself
'{{ kubectl }}' config use-context local
# Hack for RBAC for all for the new cloud-controller process, we need to do better than this
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:default kube-system-cluster-admin-1 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:pvl-controller kube-system-cluster-admin-2 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:cloud-node-controller kube-system-cluster-admin-3 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:cloud-controller-manager kube-system-cluster-admin-4 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:serviceaccount:kube-system:shared-informers kube-system-cluster-admin-5 --clusterrole cluster-admin
"$kubectl" create clusterrolebinding --user system:kube-controller-manager kube-system-cluster-admin-6 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:default kube-system-cluster-admin-1 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:pvl-controller kube-system-cluster-admin-2 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:cloud-node-controller kube-system-cluster-admin-3 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:cloud-controller-manager kube-system-cluster-admin-4 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:serviceaccount:kube-system:shared-informers kube-system-cluster-admin-5 --clusterrole cluster-admin
'{{ kubectl }}' create clusterrolebinding --user system:kube-controller-manager kube-system-cluster-admin-6 --clusterrole cluster-admin
# Avoid missing feature 400000000000000 error in ceph
# http://lists.ceph.com/pipermail/ceph-users-ceph.com/2017-July/019383.html
Expand All @@ -95,25 +94,25 @@
sleep 5
# Run test
export VOLUME_ID=$(cinder create 1 | awk '/ id / {print $4}')
"$kubectl" create -f examples/cinder-flexvolume/nginx.yaml
'{{ kubectl }}' create -f examples/cinder-flexvolume/nginx.yaml
# If test passed
if timeout 300 bash -c '
while :
do
[[ $("$kubectl" describe pod nginx | awk "/^Status:/ {print \$2}") == Running ]] && break
[[ $({{ kubectl }} describe pod nginx | awk "/^Status:/ {print \$2}") == Running ]] && break
sleep 1
done
'
then
echo 'Run test successfully'
"$kubectl" get pod nginx
'{{ kubectl }}' get pod nginx
else
echo 'Run test failed'
"$kubectl" get pod nginx
"$kubectl" describe pod nginx
'{{ kubectl }}' get pod nginx
'{{ kubectl }}' describe pod nginx
exit 1
fi
executable: /bin/bash
chdir: '{{ k8s_specific_src_dir }}'
chdir: '{{ k8s_os_provider_src_dir }}'
environment: '{{ golang_env }}'
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@
cmd: |
set -e
set -x
kubectl="$GOPATH/src/k8s.io/kubernetes/cluster/kubectl.sh"
"$kubectl" config use-context local
"$kubectl" delete -f examples/persistent-volume-provisioning/cinder/cinder-in-tree-full.yaml
'{{ kubectl }}' config use-context local
'{{ kubectl }}' delete -f examples/persistent-volume-provisioning/cinder/cinder-in-tree-full.yaml
executable: /bin/bash
chdir: '{{ k8s_specific_src_dir }}'
chdir: '{{ k8s_os_provider_src_dir }}'
environment: '{{ golang_env }}'
Loading

0 comments on commit a3f6f86

Please sign in to comment.