summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Lebon <jlebon@redhat.com>2017-11-15 20:01:26 +0000
committerJonathan Lebon <jlebon@redhat.com>2017-11-17 19:14:11 +0000
commitc574da6d973a235b97e2c2fe9bc6e065da226a8c (patch)
tree281539e20fbca1189af78f711c74766648f7eef9
parentda8e372b2221d1e36556bb86b3dd04328051913a (diff)
downloadopenshift-c574da6d973a235b97e2c2fe9bc6e065da226a8c.tar.gz
openshift-c574da6d973a235b97e2c2fe9bc6e065da226a8c.tar.bz2
openshift-c574da6d973a235b97e2c2fe9bc6e065da226a8c.tar.xz
openshift-c574da6d973a235b97e2c2fe9bc6e065da226a8c.zip
papr: auto-detect image tag to use and bump to f27
Current PAPR tests are failing because we're using an outdated image tag. Switch to auto-magically determining which image tag to use based on the branch the PR we're running in is targeting, which lets us not have to worry about the tag version becoming stale again. This is similar to what the containerized tests from `aos-cd-jobs` are doing (i.e. use `git describe --abbrev=0` in the target branch to determine the image tag to use). Also bump to the brand new f27 release, which allows us to drop the temporary workaround for the glibc/libsolv bug.
-rwxr-xr-x.papr.sh54
-rw-r--r--.papr.yml33
2 files changed, 58 insertions, 29 deletions
diff --git a/.papr.sh b/.papr.sh
index 2d66fdacd..58b3a006f 100755
--- a/.papr.sh
+++ b/.papr.sh
@@ -1,6 +1,39 @@
#!/bin/bash
set -xeuo pipefail
+pip install requests
+
+query_github() {
+ repo=$1; shift
+ resource=$1; shift
+ python -c "
+import sys
+import requests
+j = requests.get('https://api.github.com/repos/$repo/$resource').json()
+for q in sys.argv[1:]:
+ if q.isdigit():
+ q = int(q)
+ j = j[q]
+print(j)" "$@"
+}
+
+# Essentially use a similar procedure other openshift-ansible PR tests use to
+# determine which image tag should be used. This allows us to avoid hardcoding a
+# specific version which quickly becomes stale.
+
+if [ -n "${PAPR_BRANCH:-}" ]; then
+ target_branch=$PAPR_BRANCH
+else
+ # check which branch we're targeting if we're a PR
+ target_branch=$(query_github $PAPR_REPO pulls/$PAPR_PULL_ID base ref)
+ [ -n "$target_branch" ]
+fi
+
+# this is a bit wasteful, though there's no easy way to say "only clone up to
+# the first tag in the branch" -- ideally, PAPR could help with caching here
+git clone --branch $target_branch --single-branch https://github.com/openshift/origin
+export OPENSHIFT_IMAGE_TAG=$(git -C origin describe --abbrev=0)
+
echo "Targeting OpenShift Origin $OPENSHIFT_IMAGE_TAG"
pip install -r requirements.txt
@@ -22,12 +55,15 @@ trap upload_journals ERR
# https://github.com/openshift/openshift-ansible/issues/4478 is fixed.
ansible-playbook -vvv -i .papr.inventory playbooks/byo/config.yml -e "openshift_image_tag=$OPENSHIFT_IMAGE_TAG"
-# run a small subset of origin conformance tests to sanity
-# check the cluster NB: we run it on the master since we may
-# be in a different OSP network
-ssh ocp-master docker run --rm --net=host --privileged \
- -v /etc/origin/master/admin.kubeconfig:/config \
- registry.fedoraproject.org/fedora:26 sh -c \
- '"dnf install -y origin-tests && \
- KUBECONFIG=/config /usr/libexec/origin/extended.test --ginkgo.v=1 \
- --ginkgo.noColor --ginkgo.focus=\"Services.*NodePort|EmptyDir\""'
+### DISABLING TESTS FOR NOW, SEE:
+### https://github.com/openshift/openshift-ansible/pull/6132
+
+### # run a small subset of origin conformance tests to sanity
+### # check the cluster NB: we run it on the master since we may
+### # be in a different OSP network
+### ssh ocp-master docker run --rm --net=host --privileged \
+### -v /etc/origin/master/admin.kubeconfig:/config \
+### registry.fedoraproject.org/fedora:27 sh -c \
+### '"dnf install -y origin-tests && \
+### KUBECONFIG=/config /usr/libexec/origin/extended.test --ginkgo.v=1 \
+### --ginkgo.noColor --ginkgo.focus=\"Services.*NodePort|EmptyDir\""'
diff --git a/.papr.yml b/.papr.yml
index 119dd5fcf..2b30f84fc 100644
--- a/.papr.yml
+++ b/.papr.yml
@@ -14,35 +14,28 @@
cluster:
hosts:
- name: ocp-master
- distro: fedora/26/atomic
+ distro: fedora/27/atomic
specs:
ram: 4096
- name: ocp-node1
- distro: fedora/26/atomic
+ distro: fedora/27/atomic
- name: ocp-node2
- distro: fedora/26/atomic
+ distro: fedora/27/atomic
container:
- image: registry.fedoraproject.org/fedora:26
+ image: registry.fedoraproject.org/fedora:27
-# temp workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1483553
-#packages:
-# - gcc
-# - python-pip
-# - python-devel
-# - libffi-devel
-# - openssl-devel
-# - redhat-rpm-config
+packages:
+ - gcc
+ - git
+ - python-pip
+ - python-devel
+ - libffi-devel
+ - openssl-devel
+ - redhat-rpm-config
-context: 'fedora/26/atomic'
-
-env:
- OPENSHIFT_IMAGE_TAG: v3.6.0
+context: 'fedora/27/atomic'
tests:
- # temp workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1483553
- - if (dnf distro-sync -y || :) |& grep -q -e BDB1539; then
- rpm --rebuilddb; dnf distro-sync;
- fi; dnf install -y gcc python-pip python-devel libffi-devel openssl-devel redhat-rpm-config
- ./.papr.sh
artifacts: