Skip to content
Snippets Groups Projects
  1. May 01, 2024
    • Mark Goddard's avatar
      Support dict format IP routing rules on CentOS/Rocky · 9053183f
      Mark Goddard authored
      This support is now available in the MichaelRigart.interfaces role.
      
      The host configuration CI test has been updated to test policy-based
      routing routes and rules on CentOS Stream and Rocky Linux. It also now
      tests both the string and dict rule formats on CentOS and Rocky.
      
      Change-Id: Ie77530c38ab426dcbaa442776bcf048d7bbc0f01
      9053183f
  2. Feb 11, 2024
  3. Feb 01, 2024
  4. Nov 17, 2023
  5. Oct 20, 2023
  6. Oct 09, 2023
    • Pierre Riteau's avatar
      Revert "CI: Disable bare metal testing on RL9/c9s" · 990370a3
      Pierre Riteau authored
      This requires disabling libvirt_vm_trust_guest_rx_filters, which when
      enabled triggers the following errors when booting baremetal instances
      with Tenks on Libvirt 9 (and most likely since 8.9.0):
      
          Cannot set interface flags on 'macvtap1': Value too large for defined data type
      
      This is apparently triggered by a Libvirt commit refreshing rx-filters
      more often [1].
      
      As explained in I71a2051d8acd63379bd70bc1287a059d4a7f6387, this setting
      was added to allow traffic destined for other MAC addresses to reach VMs
      when using a macvtap interface.
      
      This will prevent multicast from working, but we don't need it for
      baremetal tests in CI.
      
      This setting will be enabled again once the issue is resolved in either
      Libvirt or Tenks.
      
      This reverts commit 21c68bbf.
      
      Also increase timeout of upgrade jobs which is too short now due to the
      added delay added by bare metal testing.
      
      [1] https://gitlab.com/libvirt/libvirt/-/commit/060d4c83ef436cf56abfad51a4d64c39448e199d
      
      Change-Id: I2cfd2667abb1ae8988b7a7fd9761b75c20a0eaa4
      990370a3
  7. Aug 30, 2023
  8. Aug 29, 2023
  9. Aug 18, 2023
    • Bartosz Bezak's avatar
      Add STP option for bridge interfaces · f1fd127c
      Bartosz Bezak authored
      For Rocky Linux 9, Kayobe will now disable STP on a bridge by default,
      to preserve compatibility with network scripts, as Network Manager
      enables STP on all bridges by default.
      Enabling STP can lead to port down event if BPDU guard is enabled
      on the switch.
      
      Closes-Bug: #2028775
      
      Change-Id: I35eaa92f4243af00697306aa801e5a733885ce4f
      f1fd127c
  10. Aug 01, 2023
  11. May 22, 2023
    • Pierre Riteau's avatar
      CI: Disable bare metal testing on RL9/c9s · 21c68bbf
      Pierre Riteau authored
      Rocky Linux 9.2 shipped with Libvirt 9.0.0 which breaks our bare metal
      testing. Temporarily run bare metal testing only on Ubuntu.
      
      This allows us to make rocky9 jobs voting again.
      
      Change-Id: I8866cbc07fc28897648f3dc6f2a163323184e8a9
      21c68bbf
    • Pierre Riteau's avatar
      CI: Enable bare metal testing for Ubuntu upgrades · 916ffba6
      Pierre Riteau authored
      More than one year ago, change I96827fc32c1594ca9a0535e259929c49d3f0e704
      enabled bare metal testing on Ubuntu, but only for non-upgrade jobs. It
      should be safe to test during upgrade jobs too.
      
      Change-Id: I9c698916999b30bf3fd8f7dfe5add7d332a84b6c
      916ffba6
  12. May 17, 2023
  13. Apr 17, 2023
    • Matt Crees's avatar
      Build Ubuntu images with IPA when on Ubuntu · bdaeed18
      Matt Crees authored
      Change ``ipa_build_dib_elements_default`` and
      ``ipa_build_dib_env_default`` to use ``os_distribution`` and
      ``os_release`` by default. This allows for Ubuntu images to be built
      when running on Ubuntu.
      
      Rocky will still build CentOS images, as Rocky IPA images have not been
      tested yet.
      
      Change-Id: Iefd2d0b7a3a3e07f5c112d58e2ec0b3da0a747d3
      bdaeed18
  14. Mar 30, 2023
    • Mark Goddard's avatar
      Stop using kolla-ansible bootstrap-servers · c9f8d80b
      Mark Goddard authored
      The 'kayobe * host configure' commands no longer use the 'kolla-ansible
      bootstrap-servers' command, and associated 'baremetal' role in Kolla
      Ansible. The functionality provided by the 'baremetal' role has been
      extracted into the openstack.kolla Ansible collection, and split
      into separate roles. This allows Kayobe to use it directly, and only the
      necessary parts.
      
      This change improves failure handling in these Kayobe commands, and aims
      to reduce confusion over which '--limit' and '--tags' arguments to
      provide.  This ensures that if a host fails during a host configuration
      command, other hosts are able to continue to completion. Previously, if
      any host failed during the Kayobe playbooks, the 'kolla-ansible
      bootstrap-servers' command would not run. This is useful at scale, where
      host failures occur more frequently.
      
      This change has implications for configuration of Kayobe, since some
      variables that were previously in Kolla Ansible are now in Kayobe.
      
      Several parts of the baremetal role have been split out and used here:
      
      * apparmor-libvirt: disable AppArmor rules for libvirt on Ubuntu.
      * docker: Docker installation & configuration. The docker role in
        openstack.kolla combines functionality from kolla-ansible and kayobe.
      * etc-hosts: it proved difficult to generalise this, so we have some
        almost duplicated the code from kolla-ansible here. Requires delegated
        fact gathering for the case when --limit is used.
      * firewall: support to disable UFW, for feature parity.
      * kolla-packages: miscellaneous package installs & removals.
      
      The addition of the stack user to the docker group has been moved to the
      user bootstrapping playbook, and the docker SDK installation has been
      moved to the virtualenv setup playbook.
      
      Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/829587
      
      Story: 2009854
      Task: 44505
      
      Change-Id: I61a61ca59652b13687c2247d5881012b51f666a7
      c9f8d80b
  15. Mar 03, 2023
    • Pierre Riteau's avatar
      CI: Disable disk image build in seed-upgrade jobs · 77ca0771
      Pierre Riteau authored
      This build takes time and can fail due to lack of disk space. It got
      enabled when we changed overcloud_dib_build_host_images to true.
      
      Also fix bifrost overrides which was wrongly applied, we need to use
      dib.yml instead of bifrost.yml, like in kayobe-seed-base.
      
      Change-Id: I1edafbb41a26587a5ef794b3b9886fdf189a0a1a
      77ca0771
  16. Feb 08, 2023
  17. Jan 14, 2023
  18. Jan 13, 2023
  19. 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
  20. 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
  21. Dec 07, 2022
    • Mark Goddard's avatar
      Support configuration of swap · 0c074431
      Mark Goddard authored
      Supports creating and using swap files, or using pre-existing swap
      devices.
      
      Story: 2004958
      Task: 29390
      
      Change-Id: Iadb540f42036a4a63cdd5b695b82f1504b3a4a28
      0c074431
  22. Oct 07, 2022
  23. Oct 04, 2022
  24. Sep 29, 2022
  25. Sep 09, 2022
  26. Jul 29, 2022
  27. Jul 27, 2022
    • k-s-dean's avatar
      Add support for firewalld on Ubuntu · 6990a041
      k-s-dean authored
      Enables the installation and configuration of firewalld on Ubuntu
      systems.
      
      Change-Id: I4a97a2aeed277be672e15e5c7727b810e11d3c42
      Story: 2010160
      Task: 45818
      6990a041
  28. Jun 24, 2022
  29. Jun 17, 2022
    • Michal Nasiadka's avatar
      selinux: default to permissive · caa7cc54
      Michal Nasiadka authored
      The disable-selinux role has been renamed to selinux and now supports
      setting desired state.
      
      Previously Kayobe was defaulting to disabling and rebooted the host - to
      avoid audit logs filling up. This change allows operators to define
      desired SELinux state and defaults to permissive - to adhere to those
      site policies that require SELinux to be at least in permissive state.
      
      Change-Id: I42933b0b7d55c69c9f6992e331fafb2e6c42d4d1
      caa7cc54
  30. Jun 10, 2022
  31. May 25, 2022
    • Pierre Riteau's avatar
      Use yoga upper constraints to avoid Python version conflict · d2e0d64e
      Pierre Riteau authored
      Requirements upper constraints bumped python-novaclient to version
      18.0.0 [1], which requires Python 3.8 [2]. This results in failures when
      installing python-openstackclient on CentOS and Rocky with Python 3.6.
      
          ERROR: Cannot install python-openstackclient==5.8.0 because these package versions have conflicting dependencies.
      
          The conflict is caused by:
              python-openstackclient 5.8.0 depends on python-novaclient>=17.0.0
              The user requested (constraint) python-novaclient===18.0.0
      
      Work around this issue by using yoga upper constraints until we upgrade
      to CentOS Stream 9 and Rocky Linux 9.
      
      This also fixes another issue seen on Ubuntu where image uploads to
      Glance through Ansible fail with a 400 Bad Request error. This is caused
      by the bump of openstacksdk to version 0.99.0 and will be fixed by a new
      release of ansible-collections-openstack.
      
      [1] https://review.opendev.org/c/openstack/requirements/+/842808
      [2] https://review.opendev.org/c/openstack/python-novaclient/+/838944
      
      Change-Id: I40c6b898963c2218d41d37bd73d40ce8dcf22b87
      d2e0d64e
  32. Apr 12, 2022
  33. Mar 31, 2022
    • Mark Goddard's avatar
      CI: separate image builds into a non-voting job · a7ee3ac5
      Mark Goddard authored
      Disk and container image builds tend to be fairly unreliable.
      With 3 voting seed jobs all building images, this can introduce
      instability into the CI jobs.
      
      This change adds a non-voting kayobe-seed-images-centos8s job, which
      does the following:
      
      * Builds IPA images
      * Builds an overcloud host image
      * Builds a base container image
      
      Similar Rocky and Ubuntu jobs are added to the experimental pipeline,
      and may be run by commenting 'check experimental' in gerrit.
      
      The existing kayobe-seed-* jobs no longer build images.
      
      Change-Id: Idecda342f3ab86733e8d59061458d44af834dbb0
      a7ee3ac5
  34. Mar 29, 2022
    • Mark Goddard's avatar
      Use jinja2.pass_context instead of contextfilter · c9c0019d
      Mark Goddard authored
      The contextfilter decorator was deprecated in jinja2 3.0.0, and has been
      dropped in 3.1.0. This results in the following warning, and failed
      attempts to use filters:
      
          [WARNING]: Skipping plugin (networks.py) as it seems to be invalid:
          module 'jinja2' has no attribute 'contextfilter'
      
      This change switches to use the pass_context decorator. The minimum
      version of Jinja2 is raised to 3 to ensure pass_context is present.
      
      This change also includes some changes to address issues with image
      builds in CI, caused by CentOS Scream.
      
      1. disable IPA image builds in seed deploy jobs
      
      IPA image builds will be split out into a separate job. For now, disable
      them.
      
      2. disable overcloud host image builds in seed deploy jobs
      
      Overcloud host image builds will be split out into a separate job. For
      now, disable them.
      
      Depends-On: https://review.opendev.org/c/openstack/kayobe/+/835279
      Change-Id: If657bf5b0117812d3c53942464cc41cf86cc8ad5
      c9c0019d
  35. Mar 24, 2022
  36. Mar 23, 2022
    • Mark Goddard's avatar
      Ubuntu: add support for Apt configuration · 5c661b88
      Mark Goddard authored
      This change adds support for configuration of Apt package manager in
      /etc/apt/apt.conf.d/. This allows adding arbitrary global configuration
      options for Apt. Options can be added in different files, allowing for
      different filename-based priorities.
      
      CI tests and documentation are provided.
      
      Story: 2009655
      Task: 43987
      
      Change-Id: I9d7d18851359e97cd01b4c2287bf79110796b25a
      5c661b88
    • Mark Goddard's avatar
      Ubuntu: add support for Apt repository configuration · c603be25
      Mark Goddard authored
      This change adds support for configuring Apt repositories on Ubuntu
      hosts during host configuration.
      
      Repositories are configured in a single file
      (/etc/apt/sources.list.d/kayobe.sources), using the modern deb822
      format [1]. This format is more flexible and readable than the original
      single-line format, particularly if multiple options are used.
      
      Using a single file allows us to more easily keep the set of
      repositories in sync, since Ansible doesn't make it easy to clean things
      up.
      
      Support is added for marking repositories as signed by a particular GPG
      key. This approach is now preferred over the deprecated [2] apt-key
      tool, which resulted in a set of globally trusted keys.
      
      It is also possible to disable the repositories in
      /etc/apt/sources.list via apt_disable_sources_list. This allows for
      replacing the standard repositories with a local mirror.
      
      CI tests and documentation are provided.
      
      [1] https://manpages.ubuntu.com/manpages/focal/en/man5/sources.list.5.html
      [2] https://manpages.ubuntu.com/manpages/groovy/man8/apt-key.8.html
      
      Story: 2009655
      Task: 43818
      
      Change-Id: I3f821937b0930a0ac9341178de7ae5123d82b957
      c603be25
  37. Mar 18, 2022
Loading