From 7e09fc71a333730855a7b9a2a917d0fe75985bb3 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Thu, 31 Aug 2017 17:37:41 -0500 Subject: [PATCH] Add wheel mirror jobs We need to run periodic jobs to build the wheel mirrors. This removes them from the v2 config because we really should not run these jobs from both systems at the same time and once this lands it'll be live. It copies the scripts from project-config to the homedir, so we can ditch the puppetted copies of them. Change-Id: I87a78509a97d53eb627a84c646a6a3f0a227d9a1 --- jenkins/jobs/projects.yaml | 17 --- jenkins/jobs/wheel-mirror.yaml | 90 --------------- jenkins/scripts/wheel-build.sh | 5 +- playbooks/wheel/build.yaml | 47 ++++++++ playbooks/wheel/pre.yaml | 3 + playbooks/wheel/release.yaml | 10 ++ zuul.yaml | 199 +++++++++++++++++++++++++++++++++ zuul/layout.yaml | 43 ------- 8 files changed, 261 insertions(+), 153 deletions(-) delete mode 100644 jenkins/jobs/wheel-mirror.yaml create mode 100644 playbooks/wheel/build.yaml create mode 100644 playbooks/wheel/pre.yaml create mode 100644 playbooks/wheel/release.yaml diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml index c42ea80c34..9361ac0efb 100644 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -11614,23 +11614,6 @@ node: - ubuntu-trusty - ubuntu-xenial - # This is a periodic job to ensure that our wheels are reasonably - # up-to-date. Adding it to the requirements project seems to be the best - # place to put it, though it's not strictly a requirement for - # requirements. - - wheel-build-{node_arch}-{python}: - node_arch: - - centos-7-amd64 - - ubuntu-trusty-amd64 - - ubuntu-xenial-amd64 - python: - - python2 - - python3 - - wheel-release-{mirror_arch}: - mirror_arch: - - cent7x64 - - trustyx64 - - xenialx64 - project: name: requirements-jobs diff --git a/jenkins/jobs/wheel-mirror.yaml b/jenkins/jobs/wheel-mirror.yaml deleted file mode 100644 index 683d833a40..0000000000 --- a/jenkins/jobs/wheel-mirror.yaml +++ /dev/null @@ -1,90 +0,0 @@ -- builder: - name: wheel-build - builders: - - shell: | - #!/bin/bash -xe - - # Generate the AFS Slug from the host system. - source /usr/local/jenkins/slave_scripts/afs-slug.sh - - AFS_DIR=/afs/.openstack.org/mirror/wheel/$AFS_SLUG/ - WHEEL_DIR=/opt/wheel/workspace - - # Delete any previous build directory - rm -rf $WHEEL_DIR - mkdir $WHEEL_DIR - - # Build the wheels into staging directory - echo "Building wheels" - /usr/local/jenkins/slave_scripts/wheel-build.sh $WHEEL_DIR {python} - - # Get an afs token and copy the wheels to AFS - echo "Obtaining token and copying wheels to AFS" - k5start -t -f /etc/wheel.keytab \ - service/wheel \ - -- timeout -k 2m 30m \ - /usr/local/jenkins/slave_scripts/wheel-copy.sh $WHEEL_DIR $AFS_DIR - - # Get an afs token and rebuild the mirror index.html - echo "Obtaining token and rebuilding mirror index." - k5start -t -f /etc/wheel.keytab \ - service/wheel \ - -- timeout -k 2m 30m \ - /usr/local/jenkins/slave_scripts/wheel-index.sh $AFS_DIR - - echo "Done." - -- builder: - name: afs-release - builders: - - shell: | - #!/bin/bash -xe - - echo "Releasing afs volume {volume}." - k5start -t -f /etc/afsadmin.keytab service/afsadmin -- \ - vos release -v {volume} - - echo "Done." - -- job-template: - name: 'wheel-build-{node_arch}-{python}' - node: 'wheel-mirror-{node_arch}' - - wrappers: - - build-timeout: - timeout: 180 - - timestamps - - builders: - - revoke-sudo - - link-logs - - net-info - - zuul-clone: - project: openstack/requirements - - wheel-build: - python: "{python}" - - publishers: - - devstack-logs - - console-log - -- job-template: - # mirror_arch must be 9 characters or less. - name: 'wheel-release-{mirror_arch}' - node: release - - wrappers: - - build-timeout: - timeout: 90 - - timestamps - - builders: - - revoke-sudo - - link-logs - - net-info - - afs-release: - # This variable must never exceed 22 characters. - volume: 'mirror.wheel.{mirror_arch}' - - publishers: - - console-log diff --git a/jenkins/scripts/wheel-build.sh b/jenkins/scripts/wheel-build.sh index d684822b1e..e44913d2c0 100755 --- a/jenkins/scripts/wheel-build.sh +++ b/jenkins/scripts/wheel-build.sh @@ -2,10 +2,9 @@ # Working variables WHEELHOUSE_DIR=$1 -PROJECT=openstack/requirements -WORKING_DIR=`pwd`/$PROJECT +WORKING_DIR=$(pwd)/src/git.openstack.org/openstack/requirements PYTHON_VERSION=$2 -LOGS=$WORKSPACE/logs +LOGS=$(pwd)/logs FAIL_LOG=${LOGS}/failed.txt diff --git a/playbooks/wheel/build.yaml b/playbooks/wheel/build.yaml new file mode 100644 index 0000000000..ef2690e80b --- /dev/null +++ b/playbooks/wheel/build.yaml @@ -0,0 +1,47 @@ +- hosts: localhost + roles: + # Ansible does not allow with_items on roles. + - role: add-fileserver + fileserver: "{{ wheel_mirror_centos_7_key }}" + - role: add-fileserver + fileserver: "{{ wheel_mirror_ubuntu_trusty_key }}" + - role: add-fileserver + fileserver: "{{ wheel_mirror_ubuntu_xenial_key }}" + +- hosts: "wheel-mirror-*" + gather_facts: False + tasks: + - name: Build the wheel mirror + with-items: + - python2 + - python3 + shell: | + # Generate the AFS Slug from the host system. + source scripts/afs-slug.sh + + AFS_DIR=/afs/.openstack.org/mirror/wheel/$AFS_SLUG/ + WHEEL_DIR=/opt/wheel/workspace + + # Delete any previous build directory + rm -rf $WHEEL_DIR + mkdir $WHEEL_DIR + + # Build the wheels into staging directory + echo "Building wheels" + bash -x scripts/wheel-build.sh $WHEEL_DIR {{ item }} + + # Get an afs token and copy the wheels to AFS + echo "Obtaining token and copying wheels to AFS" + k5start -t -f /etc/wheel.keytab \ + service/wheel \ + -- timeout -k 2m 30m \ + scripts/wheel-copy.sh $WHEEL_DIR $AFS_DIR + + # Get an afs token and rebuild the mirror index.html + echo "Obtaining token and rebuilding mirror index." + k5start -t -f /etc/wheel.keytab \ + service/wheel \ + -- timeout -k 2m 30m \ + scripts/wheel-index.sh $AFS_DIR + + echo "Done." diff --git a/playbooks/wheel/pre.yaml b/playbooks/wheel/pre.yaml new file mode 100644 index 0000000000..74ef56b362 --- /dev/null +++ b/playbooks/wheel/pre.yaml @@ -0,0 +1,3 @@ +- hosts: all + roles: + - legacy-copy-project-config-scripts diff --git a/playbooks/wheel/release.yaml b/playbooks/wheel/release.yaml new file mode 100644 index 0000000000..d6ef3fc0a2 --- /dev/null +++ b/playbooks/wheel/release.yaml @@ -0,0 +1,10 @@ +- hosts: localhost + roles: + - create-afs-token + - role: release-afs + afs_volume: trustyx64 + - role: release-afs + afs_volume: cent7x64 + - role: release-afs + afs_volume: xenialx64 + - destroy-afs-token diff --git a/zuul.yaml b/zuul.yaml index e344f66e6e..3dca1d18d0 100644 --- a/zuul.yaml +++ b/zuul.yaml @@ -274,6 +274,29 @@ dependencies: - release-openstack-python +- semaphore: + name: wheel-mirror + max: 1 + +- job: + name: build-wheel-mirror + run: playbooks/wheel/build + post-run: playbooks/wheel/release + nodes: [] + final: True + # 4.5 hours - double the v2 runtime, since we're running python2 and + # python3 in series + timeout: 16200 + allowed-projects: + - openstack/requirements + semaphore: wheel-mirror + secrets: + - wheel_mirror_centos_7_key + - wheel_mirror_ubuntu_trusty_key + - wheel_mirror_ubuntu_xenial_key + - name: afs + secret: afsadmin_keytab + - project: name: openstack-infra/project-config check: @@ -538,6 +561,172 @@ CDih/PpK9ofisCqVyvl0E+4l75l4P4TCdi7d96/9qTQSIP0b8uraGnw1QvGj46j4Cus1o 4tjgrxleCEIUTCykp5IWhjbfYUIMK1dqaaEoGE27qBC8FY5rrq9cEVtFvGCUOM= +- secret: + name: afsadmin_keytab + data: + keytab: !encrypted/pkcs1-oaep + - X2quMe7a2PRiKEdZWrVaWYJ0fJ8mni8/PFJ5KP96Ha9OfVav9jCsX2evvV+3j+KX0iwEP + A+08TQfPfy4LIP13Nn0jCtdofzu1udFH/KAiWUP6dnvcTLucFL/GaShCN7HzBFoenCbMl + P6/wFnNwLHDDEiKz31YW5yYVOYOEXESwDny/YeooTGRQbgv95nBibjhpNF5ofUly6/T4g + YjhKLAo1deES2vCKW7/7CqxJNaRGSug3F1QcilG/PxfDr7+swnOrmXWn2lpVHKYXvmH4K + VSjtAinNziAqB7GDk1oVydvpp7Crkw36cOwHXW+fLScm0bwC4Ay+JWfFxGQ/3EciZ19Qo + sPk5sH4wrpJ0P9xw3U9tpyviYt+9c22sYvb9b8KzKBhCKAjPmNfWqswE7aBfHVk4RJCDl + chRhOll5UzmEe05E45OrPzGTFlF71tBOFYpBwIpFJ2Q4YgDX4QCBrMcL0ZMLureMMw/Xl + PNOpNsb9pc4cdsfK+hQHv3rNAns5KrHorvFRr/PbiOUq2nh+FblytDeJt+Sul5I49X55B + ULO3Fhid6IeyNJ6568WdpsqywbHdHJ4MI3XZhSmg4wMiwVwcpllaiiJmYTLBebZHtDUFO + gcFWp3Xx4jIQHQdx7I5ZHTLSojvChAf2b8/Ps4IvYTiBKxt7wLtyfV9/kj3BAQ= + service_name: service/afsadmin@OPENSTACK.ORG + +- secret: + name: wheel_mirror_ubuntu_xenial_key + data: + fqdn: wheel-mirror-ubuntu-xenial-amd64.slave.openstack.org + path: /home/jenkins + ssh_known_hosts: | + wheel-mirror-ubuntu-xenial-amd64.slave.openstack.org,104.130.132.233,2001:4800:7818:101:be76:4eff:fe04:cb80 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0kJeSCkFHcotNQY2KtuRS1tZQJF5glcUiiWXOyq1QXAWHK/otmK+rlGkKcUW8RyXOdgdAKnmX/r9eo+TUSUNgbz500sWO6RlFgUh6+1r11kdokcdiMqcr+ASAieZDkK6ZlukslZd7GzXDAyv0g77hB3oxAKrOGVgQUezIZyVX0RuYM7pyZTIUQNPUsbKmaIeEPD2yR83/4IetsYClEvDlbwNaM4SC0NHOEqXqednjgXu301iEMzOdmeHit8KsVbyOXgeE/61FiuDybJQANDIVSs9iCo4OdxlJpGMW8lWAN5UUZXXcy/ZaBZoSdJ9I1LPxm2/YU2xkJvYLXK4GLGh1 + ssh_username: jenkins + ssh_private_key: !encrypted/pkcs1-oaep + - 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 + +- secret: + name: wheel_mirror_ubuntu_trusty_key + data: + fqdn: wheel-mirror-ubuntu-trusty-amd64.slave.openstack.org + path: /home/jenkins + ssh_known_hosts: | + wheel-mirror-ubuntu-trusty-amd64.slave.openstack.org,23.253.73.158,2001:4800:7815:103:be76:4eff:fe06:16ab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcGz5NOakJmNOfIussf9x+76j9XNan69ZUAwdKZRzV7SHVedGlkk9MjuJKxTSA5O0AKDThRirOWLaW38IH2RRMwMI87xBb0T9EfgboiUCf37En5g8ilFldtkNr14c+1IOMVZHWbUlf+do6k0dQeuqappjgLqUAd5hXGg6HtAj7WNknGHboyJ8guMjI6ZBgfQusIWghPyoYNObg4gG//9VhbII6BRb1EuvdReLOyLZUN92PrLKNBb0K0do7z+zUcoTfBl0boDqZ6bkbHzdGDl8LLodlzU1yx688DYjnac0r2LB6cAybFnvN09GWyMqsghoBNChsBVOhz7iYzwMdB1JZ + ssh_username: jenkins + ssh_private_key: !encrypted/pkcs1-oaep + - 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 + +- secret: + name: wheel_mirror_centos_7_key + data: + fqdn: wheel-mirror-centos-7-amd64.slave.openstack.org + path: /home/jenkins + ssh_known_hosts: | + wheel-mirror-centos-7-amd64.slave.openstack.org,104.239.149.239,2001:4800:7819:105:be76:4eff:fe06:6256 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjU6QrFp4U7P9EDvgF6jehVb/RQyX2QsIpOHIFvXIkMtNQVw5Q5wqgoPEdbOB5g/KB9mFF+M9dMeHc/PxPu9tsJaWlba3JTJ0rsL9qCB52O6x22tHgwB/MSapB91iIs28Xwd8Wn8jfV89mnW/htJDo9reJdh/3eFgQBGeOFVc6prrDyYMMtQlFzp5zV5lttAU/jzau6sdkjYn/FfRcd0j3YcvNo6nzs1YbVmFO1tZ1+kMkMDprg1gu4Htp2/t2M0tHAUnyaDtnPo4u9GswcXH7+uG9i5SWJ/3c5B6Cdcvc1C/yIBX2na6Qk0NExoZiOqj7KHk+McQj4cnBbdK0ptgP + ssh_username: jenkins + ssh_private_key: !encrypted/pkcs1-oaep + - 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 + # This project definition is here so that the only zuul config in # zuul-jobs are the jobs themselves (to make it easy for other users # to consume). @@ -559,3 +748,13 @@ release: jobs: - release-openstack-python + +- project: + name: openstack/requirements + periodic: + jobs: + # This is a periodic job to ensure that our wheels are reasonably + # up-to-date. Adding it to the requirements project seems to be the + # best place to put it, though it's not strictly a requirement for + # requirements. + - build-wheel-mirror diff --git a/zuul/layout.yaml b/zuul/layout.yaml index 7fcfe4a18a..6340b42549 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -3614,37 +3614,6 @@ jobs: - name: ^gate-bifrost-integration-tinyipa-opensuse-423$ branch: ^(?!stable/(newton|ocata)).*$ - ######### - # Mutexes - ######### - - - name: wheel-build-ubuntu-trusty-amd64-python2 - mutex: mirror.wheel.trustyx64 - - - name: wheel-build-ubuntu-trusty-amd64-python3 - mutex: mirror.wheel.trustyx64 - - - name: wheel-release-trustyx64 - mutex: mirror.wheel.trustyx64 - - - name: wheel-build-ubuntu-xenial-amd64-python2 - mutex: mirror.wheel.xenialx64 - - - name: wheel-build-ubuntu-xenial-amd64-python3 - mutex: mirror.wheel.xenialx64 - - - name: wheel-release-xenialx64 - mutex: mirror.wheel.xenialx64 - - - name: wheel-build-centos-7-amd64-python2 - mutex: mirror.wheel.cent7x64 - - - name: wheel-build-centos-7-amd64-python3 - mutex: mirror.wheel.cent7x64 - - - name: wheel-release-cent7x64 - mutex: mirror.wheel.cent7x64 - ######################################################################## # The project list is sorted alphabetically. ######################################################################## @@ -16970,18 +16939,6 @@ projects: - gate-cross-swift-python35 periodic: - propose-requirements-constraints-master - - wheel-build-ubuntu-trusty-amd64-python2: - - wheel-release-trustyx64 - - wheel-build-ubuntu-trusty-amd64-python3: - - wheel-release-trustyx64 - - wheel-build-ubuntu-xenial-amd64-python2: - - wheel-release-xenialx64 - - wheel-build-ubuntu-xenial-amd64-python3: - - wheel-release-xenialx64 - - wheel-build-centos-7-amd64-python2: - - wheel-release-cent7x64 - - wheel-build-centos-7-amd64-python3: - - wheel-release-cent7x64 post: - propose-requirements-updates - requirements-branch-tarball