[infra] Trying to reproduce an OpenStack CI run

Clark Boylan cboylan at sapwetik.org
Mon Oct 21 16:55:53 UTC 2019


On Mon, Oct 21, 2019, at 9:48 AM, Neil Jerram wrote:
> 
> On Mon, Oct 21, 2019 at 3:55 PM Clark Boylan <cboylan at sapwetik.org> wrote:
> > 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.
> 
> Thanks Clark. Do you happen to know if I can run one of those images on GCP?
>

The images should boot fine on GCP. Where you may have problems is they rely on OpenStack's config-drive metadata to configure the root user's ssh key and networking if the networking doesn't rely on DHCP for ipv4 and stateless RAs for ipv6. If the user config is a problem you could update the image locally with your key then upload to GCP. I don't know anything about their networking so can't really suggest workarounds there if they don't DHCP.



More information about the openstack-discuss mailing list