Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ansible/infra-vm-provision.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,5 @@
state: started
# NOTE: Ensure we exceed the 5 minute DHCP timeout of the eth0
# interface if necessary.
timeout: 360
timeout: "{{ infra_vm_provision_timeout | default(360) | int }}"
delegate_to: localhost
4 changes: 2 additions & 2 deletions ansible/inventory/group_vars/all/compute
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,8 @@ compute_libvirt_enable_tls: false
compute_libvirt_ceph_repo_install: true

# Ceph package repository release to install on CentOS and Rocky hosts when
# compute_libvirt_ceph_repo_install is true. Default is 'pacific'.
compute_libvirt_ceph_repo_release: pacific
# compute_libvirt_ceph_repo_install is true. Default is 'squid'.
compute_libvirt_ceph_repo_release: squid

###############################################################################
# Compute node swap configuration.
Expand Down
7 changes: 4 additions & 3 deletions ansible/inventory/group_vars/all/globals
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,10 @@ kayobe_ansible_user: "stack"
# is "rocky".
os_distribution: "rocky"

# OS release. Valid options are "9-stream" when os_distribution is "centos", or
# "9" when os_distribution is "rocky", or "noble" when os_distribution is
# "ubuntu".
# OS release. Valid options are "9-stream" and "10-stream" (with "9-stream"
# being the default) when os_distribution is "centos", "9" and "10" (with "9"
# being the default) when os_distribution is "rocky", or "noble" when
# os_distribution is "ubuntu".
os_release: >-
{{ '9-stream' if os_distribution == 'centos'
else '9' if os_distribution == 'rocky'
Expand Down
19 changes: 15 additions & 4 deletions ansible/inventory/group_vars/all/infra-vms
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,30 @@ infra_vm_root_format: qcow2

# Base image for the infra VM root volume. Default is
# "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img"
# when os_distribution is "ubuntu", or
# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
# when os_distribution is "rocky",
# or
# when os_distribution is "ubuntu",
# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "9",
# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "10",
# "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2"
# when os_distribution is "centos" and os_release is "9-stream", or
# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2"
# otherwise.
infra_vm_root_image: >-
{%- if os_distribution == 'ubuntu' %}
https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
{%- elif os_distribution == 'rocky' %}
{%- if os_release == '9' %}
https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
{%- else -%}
https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2
{%- endif %}
{%- else -%}
{%- if os_release == '9-stream' %}
https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2
{%- else -%}
https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2
{%- endif %}
{%- endif %}

# Capacity of the infra VM data volume.
Expand Down
17 changes: 14 additions & 3 deletions ansible/inventory/group_vars/all/seed-vm
Original file line number Diff line number Diff line change
Expand Up @@ -43,18 +43,29 @@ seed_vm_root_format: qcow2
# Base image for the seed VM root volume. Default is
# "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img"
# when os_distribution is "ubuntu",
# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
# when os_distribution is "rocky",
# or
# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "9",
# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "10",
# "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2"
# when os_distribution is "centos" and os_release is "9-stream", or
# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2"
# otherwise.
seed_vm_root_image: >-
{%- if os_distribution == 'ubuntu' %}
https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
{%- elif os_distribution == 'rocky' %}
{%- if os_release == '9' %}
https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
{%- else -%}
https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2
{%- endif %}
{%- else -%}
{%- if os_release == '9-stream' %}
https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2
{%- else -%}
https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2
{%- endif %}
{%- endif %}

# Capacity of the seed VM data volume.
Expand Down
4 changes: 2 additions & 2 deletions ansible/roles/kolla-ansible/vars/RedHat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ kolla_ansible_package_dependencies:
- git
- libffi-devel
- openssl-devel
- python3.12
- python3.12-devel
- "{{ 'python3.12' if ansible_facts.distribution_major_version == '9' else 'python3' }}"
- "{{ 'python3.12-devel' if ansible_facts.distribution_major_version == '9' else 'python3-devel' }}"
- rsync
2 changes: 1 addition & 1 deletion ansible/seed-vm-provision.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,4 +131,4 @@
state: started
# NOTE: Ensure we exceed the 5 minute DHCP timeout of the eth0
# interface if necessary.
timeout: 360
timeout: "{{ seed_vm_provision_timeout | default(360) | int }}"
1 change: 0 additions & 1 deletion ansible/tuned.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,3 @@
become: true
when:
- tuned_active_builtin_profile != ""
- ansible_facts.os_family == 'RedHat'
4 changes: 1 addition & 3 deletions doc/source/configuration/reference/hosts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -690,8 +690,6 @@ Tuned
*tags:*
| ``tuned``

.. note:: Tuned configuration only supports CentOS/Rocky systems for now.

Built-in ``tuned`` profiles can be applied to hosts. The following variables
can be used to set a ``tuned`` profile to specific types of hosts:

Expand Down Expand Up @@ -1240,7 +1238,7 @@ are relevant only when using the libvirt daemon rather than the
Default is ``true``.
``compute_libvirt_ceph_repo_release``
Ceph package repository release to install on CentOS and Rocky hosts when
``compute_libvirt_ceph_repo_install`` is ``true``. Default is ``pacific``.
``compute_libvirt_ceph_repo_install`` is ``true``. Default is ``squid``.

Example: custom libvirtd.conf
-----------------------------
Expand Down
8 changes: 4 additions & 4 deletions doc/source/configuration/reference/os-distribution.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ or ``rocky`` or ``ubuntu``, and defaults to ``rocky``.

The ``os_release`` variable in ``etc/kayobe/globals.yml`` can be used to set
the release of the OS. When ``os_distribution`` is set to ``centos`` it may be
set to ``9-stream``, and this is its default value. When ``os_distribution`` is
set to ``ubuntu`` it may be set to ``noble``, and this is its default value.
When ``os_distribution`` is set to ``rocky`` it may be set to ``9``, and this
is its default value.
set to ``9-stream`` or ``10-stream``, and ``9-stream`` is its default value.
When ``os_distribution`` is set to ``rocky`` it may be set to ``9`` or ``10``,
and ``9`` is its default value. When ``os_distribution`` is set to ``ubuntu``
it may be set to ``noble``, and this is its default value.

These variables are used to set various defaults, including:

Expand Down
2 changes: 1 addition & 1 deletion etc/kayobe/compute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@
#compute_libvirt_ceph_repo_install:

# Ceph package repository release to install on CentOS and Rocky hosts when
# compute_libvirt_ceph_repo_install is true. Default is 'pacific'.
# compute_libvirt_ceph_repo_install is true. Default is 'squid'.
#compute_libvirt_ceph_repo_release:

###############################################################################
Expand Down
7 changes: 4 additions & 3 deletions etc/kayobe/globals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,10 @@
# is "rocky".
#os_distribution:

# OS release. Valid options are "9-stream" when os_distribution is "centos", or
# "9" when os_distribution is "rocky", or "noble" when os_distribution is
# "ubuntu".
# OS release. Valid options are "9-stream" and "10-stream" (with "9-stream"
# being the default) when os_distribution is "centos", "9" and "10" (with "9"
# being the default) when os_distribution is "rocky", or "noble" when
# os_distribution is "ubuntu".
#os_release:

###############################################################################
Expand Down
11 changes: 7 additions & 4 deletions etc/kayobe/infra-vms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,14 @@

# Base image for the infra VM root volume. Default is
# "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img"
# when os_distribution is "ubuntu", or
# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
# when os_distribution is "rocky",
# or
# when os_distribution is "ubuntu",
# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "9",
# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "10",
# "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2"
# when os_distribution is "centos" and os_release is "9-stream", or
# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2"
# otherwise.
#infra_vm_root_image:

Expand Down
9 changes: 6 additions & 3 deletions etc/kayobe/seed-vm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,13 @@
# Base image for the seed VM root volume. Default is
# "https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img"
# when os_distribution is "ubuntu",
# https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
# when os_distribution is "rocky",
# or
# "https://dl.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "9",
# "https://dl.rockylinux.org/pub/rocky/10/images/x86_64/Rocky-10-GenericCloud-Base.latest.x86_64.qcow2"
# when os_distribution is "rocky" and os_release is "10",
# "https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-9-latest.x86_64.qcow2"
# when os_distribution is "centos" and os_release is "9-stream", or
# "https://cloud.centos.org/centos/10-stream/x86_64/images/CentOS-Stream-GenericCloud-x86_64-10-latest.x86_64.qcow2"
# otherwise.
#seed_vm_root_image:

Expand Down
5 changes: 5 additions & 0 deletions playbooks/kayobe-infra-vm-base/infra-vms-group-vars.j2
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
---
{% if infra_vm_use_cirros | default(true) or ansible_os_family == 'RedHat' and ansible_distribution_major_version == '9' %}
aio_interface: eth0
{% else %}
# Required for official cloud images (CentOS Stream 10, Rocky Linux 10, Ubuntu)
aio_interface: ens2
{% endif %}

# Route via the seed-hypervisor to the outside world.
aio_gateway: 192.168.33.4
4 changes: 3 additions & 1 deletion playbooks/kayobe-infra-vm-base/overrides.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ infra_vm_memory_mb: "{{ 1 * 1024 }}"
# Use cirros rather than distribution cloud image for the VM.
infra_vm_bootstrap_user: cirros
infra_vm_root_image: /opt/cache/files/cirros-0.5.3-x86_64-disk.img
{% endif %}

# Cirros doesn't load cdom drivers by default.
vm_configdrive_device: disk
Expand All @@ -44,6 +43,9 @@ vm_configdrive_device: disk
# /etc/network/interfaces.
configdrive_os_family: Debian
configdrive_debian_network_interfaces_supports_glob: false
{% else %}
infra_vm_provision_timeout: 600
{% endif %}

# NOTE(mgoddard): CentOS 8 removes interfaces from their bridge during ifdown,
# and removes the bridge if there are no interfaces left. When Kayobe bounces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,8 @@ apt_auth:
{% endif %}

{% if ansible_facts.os_family == 'RedHat' %}
# NOTE: There are OpenDev mirrors only for centos-stream/9-stream and epel/9.
{% if ansible_facts.distribution_major_version == "9" %}
# Use a local DNF mirror.
dnf_use_local_mirror: true
{% if ansible_facts.distribution == 'CentOS' %}
Expand All @@ -176,11 +178,12 @@ dnf_centos_mirror_directory: 'centos-stream'
dnf_epel_mirror_host: "{{ zuul_site_mirror_fqdn }}"
# Mirror directory for DNF EPEL repos.
dnf_epel_mirror_directory: 'epel'
{% endif %}
# Configure a custom DNF repository.
dnf_custom_repos:
fluent-package:
baseurl: https://packages.treasuredata.com/lts/5/redhat/$releasever/$basearch
gpgkey: https://packages.treasuredata.com/GPG-KEY-td-agent
baseurl: https://fluentd.cdn.cncf.io/lts/6/redhat/$releasever/$basearch
gpgkey: https://fluentd.cdn.cncf.io/GPG-KEY-fluent-package
gpgcheck: yes
# Install EPEL local mirror.
dnf_install_epel: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,11 @@ def _is_dnf():
return info in ['centos', 'rocky']


# NOTE: There are OpenDev mirrors only for centos-stream/9-stream and epel/9.
def _is_dnf_mirror():
info = distro.id()
return info == 'centos'
version = distro.version()
return info == 'centos' and version == '9'


def _is_ubuntu_noble():
Expand Down Expand Up @@ -272,8 +274,6 @@ def test_dnf_automatic(host):
assert host.service("dnf-automatic.timer").is_running


@pytest.mark.skipif(not _is_dnf(),
reason="tuned profiles only supported on CentOS/Rocky")
def test_tuned_profile_is_active(host):
tuned_output = host.check_output("tuned-adm active")
assert "throughput-performance" in tuned_output
Expand Down
18 changes: 10 additions & 8 deletions playbooks/kayobe-seed-vm-base/overrides.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,6 @@ seed_vm_memory_mb: "{{ 1 * 1024 }}"
# Use cirros rather than distribution cloud image for the VM.
seed_bootstrap_user: cirros
seed_vm_root_image: /opt/cache/files/cirros-0.5.3-x86_64-disk.img
{% endif %}

{% if seed_vm_boot_firmware is defined %}
seed_vm_boot_firmware: "{{ seed_vm_boot_firmware }}"
{% endif %}
{% if seed_vm_machine is defined %}
seed_vm_machine: "{{ seed_vm_machine }}"
{% endif %}

# Cirros doesn't load cdom drivers by default.
seed_vm_configdrive_device: disk
Expand All @@ -54,6 +46,16 @@ seed_vm_configdrive_device: disk
# /etc/network/interfaces.
configdrive_os_family: Debian
configdrive_debian_network_interfaces_supports_glob: false
{% else %}
seed_vm_provision_timeout: 600
{% endif %}

{% if seed_vm_boot_firmware is defined %}
seed_vm_boot_firmware: "{{ seed_vm_boot_firmware }}"
{% endif %}
{% if seed_vm_machine is defined %}
seed_vm_machine: "{{ seed_vm_machine }}"
{% endif %}

# NOTE(mgoddard): CentOS 8 removes interfaces from their bridge during ifdown,
# and removes the bridge if there are no interfaces left. When Kayobe bounces
Expand Down
5 changes: 5 additions & 0 deletions playbooks/kayobe-seed-vm-base/seed-group-vars.j2
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
---
{% if seed_vm_use_cirros | default(true) or ansible_os_family == 'RedHat' and ansible_distribution_major_version == '9' %}
aio_interface: eth0
{% else %}
# Required for official cloud images (CentOS Stream 10, Rocky Linux 10, Ubuntu)
aio_interface: ens2
{% endif %}

# Route via the seed-hypervisor to the outside world.
aio_gateway: 192.168.33.4
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
upgrade:
- |
Bumps Ceph package repository to Squid. This repository is only configured
when using host libvirt.
4 changes: 4 additions & 0 deletions releasenotes/notes/tuned-ubuntu-c25b484a19918ad9.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
features:
- |
Adds support for configuring ``tuned`` on Ubuntu hosts.
4 changes: 2 additions & 2 deletions requirements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ roles:
- src: ahuffman.resolv
version: 1.3.1
- src: giovtorres.tuned
version: 1.1.1
version: 1.2.0
- src: jriguera.configdrive
# There are no versioned releases of this role.
version: 313c9b0ff8cd8009471380ccd71b27b440ac6704
version: 71ddface5540ee0ff9e35bcc4334c766ed5d5d3f
- src: MichaelRigart.interfaces
version: v1.15.6
- src: mrlesmithjr.chrony
Expand Down
Loading