[infra] Trying to reproduce an OpenStack CI run

Clark Boylan cboylan at sapwetik.org
Mon Oct 21 14:54:46 UTC 2019

On Mon, Oct 21, 2019, at 6:55 AM, Neil Jerram wrote:
> I'm trying to reproduce an OpenStack CI run on a fresh Ubuntu Bionic 
> VM, like this:
> sudo apt-get update
> sudo apt-get install -y python-all-dev build-essential git libssl-dev 
> ntp ntpdate libre2-dev python-pip
> sudo pip install virtualenv
> wget 
> https://1a5e1b314637dd59968a-fddd31f569f44d98bd401bfd88253d97.ssl.cf5.rackcdn.com/682338/1/check/networking-calico-tempest-dsvm/6801298/logs/reproduce.sh
> chmod +x reproduce.sh
> sudo ./reproduce.sh
> The last line runs for a short while but then fails with:
> [...]
> Successfully built zuul PyYAML voluptuous PrettyTable ansible 
> sqlalchemy alembic cachecontrol psutil fb-re2 paho-mqtt ws4py Mako 
> repoze.lru pycparser
> Installing collected packages: pbr, six, python-dateutil, uritemplate, 
> urllib3, certifi, chardet, idna, requests, enum34, ipaddress, 
> pycparser, cffi, cryptography, jwcrypto, github3.py, PyYAML, pynacl, 
> bcrypt, paramiko, smmap2, gitdb2, GitPython, docutils, lockfile, 
> python-daemon, extras, statsd, voluptuous, gear, pytz, tzlocal, 
> funcsigs, futures, apscheduler, PrettyTable, babel, MarkupSafe, jinja2, 
> ansible, netaddr, kazoo, sqlalchemy, Mako, python-editor, alembic, 
> msgpack, cachecontrol, pyjwt, iso8601, psutil, fb-re2, paho-mqtt, 
> contextlib2, more-itertools, zc.lockfile, 
> backports.functools-lru-cache, jaraco.functools, tempora, portend, 
> cheroot, cherrypy, ws4py, repoze.lru, routes, zuul
> Successfully installed GitPython-2.1.14 Mako-1.1.0 MarkupSafe-1.1.1 
> PrettyTable-0.7.2 PyYAML-5.1.2 alembic-1.2.1 ansible-2.5.15 
> apscheduler-3.6.1 babel-2.7.0 backports.functools-lru-cache-1.5 
> bcrypt-3.1.7 cachecontrol-0.12.5 certifi-2019.9.11 cffi-1.13.0 
> chardet-3.0.4 cheroot-8.2.1 cherrypy-17.4.2 contextlib2-0.6.0.post1 
> cryptography-2.8 docutils-0.15.2 enum34-1.1.6 extras-1.0.0 fb-re2-1.0.7 
> funcsigs-1.0.2 futures-3.3.0 gear-0.14.0 gitdb2-2.0.6 github3.py-1.3.0 
> idna-2.8 ipaddress-1.0.23 iso8601-0.1.12 jaraco.functools-2.0 
> jinja2-2.10.3 jwcrypto-0.6.0 kazoo-2.6.1 lockfile-0.12.2 
> more-itertools-5.0.0 msgpack-0.6.2 netaddr-0.7.19 paho-mqtt-1.4.0 
> paramiko-2.6.0 pbr-5.4.3 portend-2.5 psutil-5.6.3 pycparser-2.19 
> pyjwt-1.7.1 pynacl-1.3.0 python-daemon-2.0.6 python-dateutil-2.8.0 
> python-editor-1.0.4 pytz-2019.3 repoze.lru-0.7 requests-2.22.0 
> routes-2.4.1 six-1.12.0 smmap2-2.0.5 sqlalchemy-1.3.10 statsd-3.3.0 
> tempora-1.14.1 tzlocal-2.0.0 uritemplate-3.0.0 urllib3-1.25.6 
> voluptuous-0.11.7 ws4py-0.5.1 zc.lockfile-2.0 zuul-3.2.0
> + cat
> + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git 
> https://opendev.org openstack/devstack-gate
> ./reproduce.sh: line 112: /usr/zuul-env/bin/zuul-cloner: No such file 
> or directory
> Can you see what I'm doing wrong?

The legacy devstack-gate jobs (which produce the reproduce.sh file) rely on the old zuulv2 (not 3) zuul-cloner utility to ensure git repos are in the correct location for the job. Our current images (which you can find at https://nb01.openstack.org/images and https://nb02.openstack.org/images) install a compatbility shim between zuul-cloner and zuulv3. Another option is to checkout zuul's latest version 2.x tag and pip install that to a virtualenv at /usr/zuul-env.


More information about the openstack-discuss mailing list