Skip to content
Snippets Groups Projects
  1. Dec 14, 2022
    • Pierre Riteau's avatar
      Use master upper constraints · 5b84ef37
      Pierre Riteau authored
      Yoga upper constraints were used to keep compatibility with Python 3.6.
      This is not needed with all supported OS using Python 3.9 or newer.
      
      This reverts commits d2e0d64e and
      d190e9e3.
      
      Change-Id: I35a07bcc2b7c9cbb49fa60e6802cc6288a34fbd8
      5b84ef37
  2. Dec 12, 2022
    • Bartosz Bezak's avatar
      Move to Rocky Linux 9 · 2f447f65
      Bartosz Bezak authored
      CentOS Stream 8 support has been dropped. Migration path will be present
      in Yoga release - as a followup change.
      
      MichaelRigart.interfaces does not support custom routes for
      NetworkManager yet. It has been disabled in CI for Rocky Linux 9
      temporarily.
      
      Non-voting CentOS Stream 9 CI overcloud job is using RL9 container
      images (as kolla CI is not building CS9 images anymore).
      
      Change-Id: Idf5ee822b03ba40179803c981500a6bad37594bf
      2f447f65
  3. Oct 07, 2022
  4. Oct 04, 2022
  5. Jul 05, 2022
    • Pierre Riteau's avatar
      Use yoga upper constraints in dev scripts · d190e9e3
      Pierre Riteau authored
      This is required to be able to install tenks. Otherwise, we try to
      install Jinja2 3.1.2 which requires Python 3.7 or newer.
      
      Change-Id: Ie497b191b6de8bc818dc4a2a12f7129a02d0fd00
      d190e9e3
  6. Apr 12, 2022
  7. Mar 24, 2022
  8. Mar 18, 2022
  9. Mar 02, 2022
    • Mark Goddard's avatar
      CI: stop using zuul as kayobe_ansible_user in TLS jobs · a0665cd9
      Mark Goddard authored
      Previously we were using the zuul user in the TLS jobs. This was due to
      a permissions issue when accessing the CA certificate in kayobe-config
      in the zuul user's home directory.
      
      This change reverts to the default of using the stack user for the TLS
      jobs. In order to make this work, the generated CA cert chain is added
      to the trust store.
      
      Change-Id: I875f8976df75dee68ba00842fe624c29cc1b123c
      a0665cd9
  10. Nov 26, 2021
    • Pierre Riteau's avatar
      Build overcloud host image directly with DIB · c35f112a
      Pierre Riteau authored
      As a first step towards supporting multiple overcloud disk images, this
      change introduces a new command to build a disk image directly with DIB:
      `kayobe overcloud host image build`.
      
      It also disables building a root disk image during Bifrost bootstrap if
      overcloud_dib_build_host_images is set to true.
      
      Change-Id: I93d242889e225b4e60254f6b9cc5eeb457294ac8
      Story: 2002098
      Task: 41693
      c35f112a
  11. Oct 26, 2021
  12. Sep 08, 2021
  13. Jul 22, 2021
  14. Jun 07, 2021
    • Mark Goddard's avatar
      Ubuntu: ensure /usr/bin/python is python3 · 82def9a5
      Mark Goddard authored
      /usr/bin/python may be python 2 on Focal, which causes problems with
      Ansible on the control host. By installing the python-is-python3 package
      we ensure that the correct interpreter is used.
      
      This change updates the installation documentation and development
      environment scripts.
      
      Story: 2004960
      Task: 42579
      
      Change-Id: Ie94099075bae3c491f9cf830c38e6cfc8af605a6
      82def9a5
  15. Apr 12, 2021
    • Mark Goddard's avatar
      CI: use retries for control host bootstrap in seed VM jobs · 760c2b79
      Mark Goddard authored
      All instances of 'kayobe control host bootstrap' in the development
      scripts use a helper function, except for during seed_hypervisor_deploy.
      The helper adds a retry mechanism to combat flakiness often seen during
      Ansible Galaxy installs.
      
      This change fixes the issue.
      
      TrivialFix
      
      Change-Id: I954cb604a18874744b3673ebf2e2c29caa18ce8f
      760c2b79
  16. Apr 06, 2021
    • Mark Goddard's avatar
      CentOS Stream 8: Use /usr/bin/which instead of bash function · 3084cf67
      Mark Goddard authored
      A bug has been introduced to the which package in CentOS Stream 8 which
      causes it to fail when used with the following bash options:
      
      set -u
      set -o pipefail
      
      Then, when running which we see the following output:
      
      environment: line 1: _declare: unbound variable
      
      As found by Pierre, this seems to be caused by the implementation of
      which as a bash function which references an unbound variable
      (_declare). It's tracked in Fedora by
      https://bugzilla.redhat.com/show_bug.cgi?id=1944877#
      
      .
      
      This change works around the issue by using the /usr/bin/which binary.
      
      Co-Authored-By: default avatarPierre Riteau <pierre@stackhpc.com>
      
      Change-Id: I468d4e0460c13791b9f01d5854ef45472528c6fe
      Story: 2008795
      Task: 42215
      3084cf67
  17. Mar 26, 2021
  18. Mar 23, 2021
    • Mark Goddard's avatar
      CI: Fix IP address detection in baremetal compute test · 77562073
      Mark Goddard authored
      The 'openstack server show <server> -f value -c addresses' command
      previously had output like this:
      
          <network name>=<IP>
      
      Now it shows a Python output like this:
      
          {'<network name>': ['IP']}
      
      This broke the parsing of the command output when determining which IP
      address to use to access a bare metal instance via SSH.
      
      This change fixes the issue by querying the server's port in Neutron,
      and using the fixed IP address.
      
      Change-Id: I55b5f185fb7136d3c6fa565aa46598f21c94eb43
      77562073
  19. Mar 01, 2021
    • Mark Goddard's avatar
      CI: add Ubuntu overcloud deploy job · 9f41cefc
      Mark Goddard authored
      * Use source images
      * Need to specify bash for &> syntax
      
      Issues worked around:
      
      * Manually configuring bridge via ip commands makes ifup fail to bring
        up the link. Adds a kayobe-network-bootstrap Zuul CI role that adds
        persistent configuration for the all-in-one network.
      
      * bridge not active after interfaces role bounce. Added a pause, similar
        to https://github.com/michaelrigart/ansible-role-interfaces/pull/31
      
      * fails installing docker python module for kolla user. WARNING: The
        repository located at mirror-int.ord.rax.opendev.org is not a trusted
        or secure host and is being ignored ERROR: No matching distribution
        found for docker===4.4.0 Adding trusted host for PyPI mirror.
      
      * Tenks fails to create block devices - missing qemu-img (in qemu-utils)
      
      * Tenks qemu emulator is different on Ubuntu
      
      Remaining issues:
      
      * Bare metal testing is unreliable on Ubuntu - some jobs see IPMI
        failures such as the following:
      
          ipmitool chassis bootdev pxe
      
          Error setting Chassis Boot Parameter 5\nError setting Chassis Boot
          Parameter 0\n
      
        Bare metal testing is disabled on Ubuntu for now.
      
      Depends-On: https://review.opendev.org/766984
      Depends-On: https://review.opendev.org/766958
      
      Story: 2004960
      Task: 29393
      
      Change-Id: I1985efae7c18f55c3ff7c27c17d6242523904f3e
      9f41cefc
  20. Feb 24, 2021
  21. Feb 05, 2021
    • Pierre Riteau's avatar
      Test building seed deployment images in the seed job · c84a9757
      Pierre Riteau authored
      This requires stackhpc.os-images v1.10.0 or newer, for compatibility
      with CentOS 8 when SELinux is enabled: we disable SELinux, but without
      rebooting it stays enabled.
      
      This Ansible role was updated to v1.10.2 in master and stable/victoria
      by I5efdbd52556721914fe69d7c6ba454b2c721b643, for another reason.
      Remember to bump the requirement when backporting to earlier releases.
      
      It also needs changes in the way we interact with Bifrost to avoid using
      the env-vars file which has been removed. This is implemented by change
      I25078e69acdf41a4ef9957f99fe5047de54b778d.
      
      Finally, it requires building seed deployment images only after
      deploying Bifrost, because the task copying images onto the seed expects
      /etc/kolla/bifrost to exist.
      
      We also copy log files to identify issues when the job fails.
      
      Change-Id: I4719b4d397c01b35c78cb84c6d686dd27742d1c0
      c84a9757
  22. Oct 02, 2020
    • Mark Goddard's avatar
      dev: fix test scripts when ironic is disabled · 6a4e7c4e
      Mark Goddard authored
      While we always test baremetal compute in CI, development environments
      may not. Given that Ironic is now disabled by default, we should make
      this work out of the box.
      
      Story: 2008207
      Task: 41003
      
      Change-Id: Id3128380f5ff74d24265f6b2132c6d7992bf00ba
      6a4e7c4e
  23. Oct 01, 2020
  24. Jun 16, 2020
    • Mark Goddard's avatar
      Add seed VM provisioning CI job · c16597aa
      Mark Goddard authored
      Adds the kayobe-seed-vm-centos8 CI job to configure the Zuul VM as a
      seed hypervisor, and use nested virt to provision a seed VM.  This
      ensures that the seed hypervisor code paths are tested.
      
      The job uses a Cirros image for the seed VM rather than the usual CentOS
      cloud image. This is to reduce bandwidth required to download the image.
      It does mean that the resulting seed VM cannot be used as a seed, but
      nested virt would make this slow and unreliable anyway. Cirros does not
      load cdrom drivers by default, so we add the configdrive as a disk
      rather than a cdrom device.
      
      Depends-On: https://review.opendev.org/617161
      
      Change-Id: I2268a1ddf9a2870c713f32a40689e1686365aabd
      Story: 2001655
      Task: 6683
      c16597aa
  25. Jun 12, 2020
  26. May 28, 2020
    • Mark Goddard's avatar
      Remove support for CentOS 7 and Python 2 · b9d76f6e
      Mark Goddard authored
      * Always use Python 3
      * Drop code paths for CentOS 7
      * Drop support for Yum
      * Remove support for host NTP daemon, always use chrony
      * Switch references from 'yum_install_epel' to 'dnf_install_epel'
      * Remove overcloud host image workaround for tagged VLAN admin network
      * Remove the kayobe.utils.yum_install function, which is unused
      
      Change-Id: I368f6edafed9779658798fc342116b4c1b3ffd48
      Story: 2006574
      Task: 39481
      b9d76f6e
  27. Apr 19, 2020
  28. Apr 16, 2020
    • Mark Goddard's avatar
      CI: Add overcloud host configure job · 92a437f6
      Mark Goddard authored
      Tests various non-default configuration:
      
      * Custom users
      * Network interfaces, VLANs, bridges, bonds
      * Software RAID
      * LVM & docker devicemapper
      * timezone
      * Package mirrors
      * yum-cron / DNF automatic
      
      This improved test coverage allows us to be more confident about these
      features working on CentOS 8.
      
      Change-Id: I36148e4356deb7d5ec00d8d3ebeb2d3932ff4f94
      Story: 2006574
      Task: 38938
      92a437f6
  29. Apr 02, 2020
  30. Feb 27, 2020
  31. Feb 25, 2020
  32. Feb 13, 2020
  33. Nov 26, 2019
  34. Oct 15, 2019
    • Will Szumski's avatar
      Install libffi headers · a3d3649c
      Will Szumski authored
      This is to resolve the following issue in CI:
      
          c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
           #include <ffi.h>
                           ^
          compilation terminated.
          error: command 'gcc' failed with exit status 1
          ----------------------------------------
      ERROR: Command errored out with exit status 1: /home/zuul/kayobe-venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-PV3WhJ/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-PV3WhJ/cffi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ZvlZVY/install-record.txt --single-version-externally-managed --compile --install-headers /home/zuul/kayobe-venv/include/site/python2.7/cffi Check the logs for full command output.
      
      Change-Id: I1bd724be7dc77058870f37cb1c9404472fa466ca
      see: https://zuul.opendev.org/t/openstack/build/c20a316a699b4073abf75960634ebfcd
      a3d3649c
  35. Sep 17, 2019
    • Mark Goddard's avatar
      Fix kayobe-overcloud-centos CI job flakiness · 4b180502
      Mark Goddard authored
      Docker CE has added a default DROP policy to the FORWARD chain.  When
      nova-compute runs on the controller, kolla ansible sets the
      net.bridge.bridge-nf-call-iptables sysctl to 1, which causes iptables to
      process frames forwarded across bridges.
      
      Currently, the kayobe-overcloud-centos job is failing quite frequently
      with timeouts when deploying bare metal compute. Experimentation with
      iptables hasn't revealed why this only happens sometimes, or exactly
      what traffic is being blocked, but opening up the firewall does seem to
      fix the issue. We won't see this in production since control and compute
      services are on separate hosts.
      
      This change updates the iptables configuration used in CI to forward all
      frames on the bridge, breth1.
      
      Change-Id: If96437b73b9b5c58600ba1b004f53ee0c1f14398
      Story: 2006534
      Task: 36590
      4b180502
  36. Jul 11, 2019
  37. Jul 04, 2019
  38. Jun 06, 2019
    • Isaac Prior's avatar
      Add alternative tenks deploy and teardown entrypoints. · 0d598bf0
      Isaac Prior authored
      Allows users to explicitly specify which type of tenks
      deployment they wish to create / destroy.
      Preserves existing behaviour with defaults.
      Modifies Zuul tests to use new tenks-deploy entrypoints.
      
      Change-Id: I9aafed8481fd7564c0fc0abe5f6b21eceb824d75
      0d598bf0
  39. Apr 09, 2019
    • Mark Goddard's avatar
      Remove inspector_manage_firewall variable · c2a35ce2
      Mark Goddard authored
      This is supported in kolla-ansible via the ironic_inspector_pxe_filter
      variable, which can be added to globals.yml. The default value for that
      variable changed in the Stein release from 'iptables' to 'dnsmasq',
      since the iptables filter does not work with Docker CE [1].
      
      This change removes the inspector_manage_firewall variable.
      
      This change also adds an iptables rule in CI tests to allow DHCP packets
      to be forwarded, to ensure bare metal servers can be deployed.
      
      [1] https://bugs.launchpad.net/kolla-ansible/+bug/1823044
      
      Depends-On: https://review.openstack.org/649673
      Change-Id: Idac6777b4d97fbd17698fc2086ceb068d7b2e326
      Related-Bug: #1823044
      c2a35ce2
  40. Feb 05, 2019
    • Mark Goddard's avatar
      Don't cd to /tmp in environment-setup.sh · d7ae9f2d
      Mark Goddard authored
      This script is used by developers to activate the kayobe virtual
      environment and source the configuration's kayobe-env file. A cd to /tmp
      is an unexpected outcome of running the script.
      
      To test the location-independent installation, remove the chdir from the
      zuul job tasks that execute kayobe commands.
      
      Change-Id: I59194952901fa648382489f48dc7aafb03d3a682
      Story: 2004252
      Task: 29347
      d7ae9f2d
Loading