Skip to content
Snippets Groups Projects
  1. Jul 22, 2021
  2. 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
  3. 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
  4. 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
  5. Mar 26, 2021
  6. 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
  7. 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
  8. Feb 24, 2021
  9. 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
  10. 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
  11. Oct 01, 2020
  12. 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
  13. Jun 12, 2020
  14. 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
  15. Apr 19, 2020
  16. 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
  17. Apr 02, 2020
  18. Feb 27, 2020
  19. Feb 25, 2020
  20. Feb 13, 2020
  21. Nov 26, 2019
  22. 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
  23. 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
  24. Jul 11, 2019
  25. Jul 04, 2019
  26. 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
  27. 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
  28. 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
    • Mark Goddard's avatar
      Update development scripts for control plane deployment · ab205197
      Mark Goddard authored
      This adds support for deploying a virtualised control plane via Tenks, using
      the Kayobe development scripts tenks-deploy.sh and tenks-teardown.sh.
      
      Change-Id: I752455af9eb44cdb0f9921fd0c876fc2dfb50a5c
      ab205197
  29. Feb 04, 2019
    • Mark Goddard's avatar
      Support including and excluding files from config save · fb70e99a
      Mark Goddard authored
      Currently in the upgrade job we are seeing the OOM killer kick in during
      the 'overcloud service configuration save' command. Ansible is quite
      inefficient when copying large files around, so excluding the large IPA
      images should relieve some memory pressure.
      
      Change-Id: I3a230b0a699154606ca8faa00a85d45ae815c599
      Story: 2004704
      Task: 28733
      fb70e99a
  30. Feb 01, 2019
    • Will Szumski's avatar
      Support complete installation of Kayobe as a python package · 84172bfb
      Will Szumski authored
      This adds the ansible playbooks required by kayobe to the manifest by
      using the data_files option in setuptools. When using pip to install
      kayobe into a virtualenv, these files will be placed in
      <venv>/kayobe/share/.
      
      In an editable install, e.g using `pip install -e .`, data_files are not
      installed into the virtualenv. Instead, we must follow the egg-link file
      to find out the actual location.
      
      Story: 2004252
      Task: 27787
      Change-Id: Ibef040eceb547476007f83c0d5dcdb2bc6986d1e
      84172bfb
  31. Dec 21, 2018
    • Mark Goddard's avatar
      Test upgrading seed services in CI · 7593a8b9
      Mark Goddard authored
      Adds the kayobe-seed-upgrade-centos job, which performs an upgrade of
      the seed services from the previous release to the current release.
      
      Change-Id: Ia3eb39cf81cb3618fd94c4456bd576b52098c946
      Story: 2004308
      Task: 27873
      7593a8b9
  32. Nov 20, 2018
  33. Nov 19, 2018
    • Mark Goddard's avatar
      Update dependencies to Rocky · 935d3cef
      Mark Goddard authored
      Use stable/rocky branch of:
      
      * Kolla
      * Kolla ansible
      * Bifrost
      * IPA
      * OpenStack services
      * Requirements
      
      Also updates Kolla Ansible inventory template.
      
      The seed deploy job has been made non-voting and non-gating, because we
      are waiting for bifrost change https://review.openstack.org/#/c/618740
      to merge, be released, and for the kolla bifrost image to use the new
      package.
      
      Change-Id: Id5e7fdbd196f96e1e75ffc68bc93aab18fa38aa7
      Story: 2001864
      Task: 27798
      Depends-On: I58e4f951d4a3dd89e0784fd82d8a62dbba374f79
      935d3cef
  34. Nov 05, 2018
    • Mark Goddard's avatar
      Test upgrades in CI · 6266312f
      Mark Goddard authored
      There is currently no coverage of upgrades in CI, which leaves us open
      to regression in this infrequently tested but crucial area. This change
      adds the required scripts and Zuul configuration.
      
      A control plane is first deployed using the Kayobe stable/pike branch
      and associated default configuration. The control plane is tested by
      deploying then deleting a server instance. An upgrade to Queens is
      performed, using the Kayobe master branch, or code in review if
      applicable. The upgraded control plane is tested by deploying then
      deleting a second server instance.
      
      A workaround was required to restart the nova_compute service after the
      upgrade, since the SIGHUP sent to it by Kolla Ansible during upgrade
      appeared to be putting it into a degraded state.
      
      A future improvement to this test could be to leave a server instance
      running during the upgrade.
      
      Change-Id: I0e595524e39d1131fe3ec6aaf2aeec3ff3d6a536
      Story: 2003472
      Task: 24732
      6266312f
  35. Sep 25, 2018
    • Mark Goddard's avatar
      Check nova VM status in CI · 7fe53c3d
      Mark Goddard authored
      Previously we were not checking the status of created VMs in CI, meaning
      that VM creation failures would be silently ignored. This change checks
      the status, requiring it to be ACTIVE for a pass.
      
      Change-Id: Ia559c81b4944c2c6c7dedfca0c6c570db390704b
      7fe53c3d
  36. Jul 11, 2018
    • Will Miller's avatar
      Reconcile all 'Ansible control host' references · 2d5fd703
      Will Miller authored
      Ensure all references to the Ansible control host are worded as such, to
      ensure consistency and avoid potential confusion with the OpenStack
      controllers.
      
      Change-Id: Id92e537ccbfdd55287b8eae296f649640c70ce17
      2d5fd703
  37. May 10, 2018
    • Mark Goddard's avatar
      Test nova server (VM) boot in overcloud job · 0ec7edff
      Mark Goddard authored
      We use the demo script from kolla ansible, init-runonce, to create
      resources in the control plane to make it ready for booting a VM. We
      then create a nova server, and wait for it to become active. We do not
      currently test that the VM boots successfully by accessing it via SSH.
      
      Change-Id: I61be554366565decd9f4ff7805a3969aa37da4b9
      0ec7edff
  38. Apr 09, 2018
    • Mark Goddard's avatar
      Add a job for seed deployment · cd6c366c
      Mark Goddard authored
      Adds a new CI job, kayobe-seed-centos, that deploys a single VM as a
      seed host. The VM provided by Zuul is configured as the seed, rather
      than a seed hypervisor that provisions a seed VM using nested virt.
      
      This approach should be more reliable, faster, and easier to get
      working, at the expense of not testing the seed hypervisor code paths.
      
      Currently the seed services are deployed, but not tested. A future
      change could test discovery and provisioning of an overcloud host using
      the seed.
      
      Change-Id: Iefe16215af6f1a9fb8ec78094cd6bd76a82a040a
      Story: 2001655
      Task: 6683
      cd6c366c
  39. Mar 01, 2018
Loading