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
25 changes: 0 additions & 25 deletions ansible/external-net.yml

This file was deleted.

1 change: 1 addition & 0 deletions ansible/infra-vm-host-configure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@
- import_playbook: "mdadm.yml"
- import_playbook: "luks.yml"
- import_playbook: "lvm.yml"
- import_playbook: "swap.yml"
- import_playbook: "container-engine.yml"
1 change: 1 addition & 0 deletions ansible/inventory/group_vars/all/controllers
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ controller_lvm_group_data_lv_docker_volumes:
mount: True
mntp: "{{ docker_volumes_path }}"

# Podman volumes LVM backing volume.
controller_lvm_group_data_lv_podman_volumes:
lvname: podman-volumes
size: "{{ controller_lvm_group_data_lv_podman_volumes_size }}"
Expand Down
3 changes: 2 additions & 1 deletion ansible/inventory/group_vars/all/seed-hypervisor
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ seed_hypervisor_luks_devices: []
# volume group for libvirt storage.
seed_hypervisor_lvm_groups: []

# Suggested list of seed hypervisor volume groups for libvirt. Not used by default.
# Suggested list of seed hypervisor volume groups for libvirt. Not used by
# default.
seed_hypervisor_lvm_groups_with_data:
- "{{ seed_hypervisor_lvm_group_data }}"

Expand Down
15 changes: 14 additions & 1 deletion ansible/inventory/group_vars/all/seed-vm
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,20 @@ seed_vm_data_capacity: 100G
# Format of the seed VM data volume.
seed_vm_data_format: qcow2

# List of network interfaces to attach to the seed VM.
# List of network interfaces to attach to the seed VM. Format is as accepted by
# the stackhpc.libvirt-vm role's libvirt_vms.interfaces variable. Default is
# one interface for each network in 'network_interfaces'.
#
# Example with one interface connected to a libvirt network called
# 'libvirt-net', and another interface directly plugged into a host device
# called 'eth1':
#
# seed_vm_interfaces:
# - network: libvirt-net
# - type: direct
# source:
# dev: eth1
#
seed_vm_interfaces: "{{ network_interfaces | sort | map('net_libvirt_vm_network') | list }}"

# Boot firmware. Possible values are 'bios' or 'efi'. Default is 'efi'.
Expand Down
7 changes: 7 additions & 0 deletions ansible/roles/kolla-build/templates/kolla/kolla-build.conf
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ location = {{ source_def.location }}
# Reference of source for {{ source_name }}.
reference = {{ source_def.reference }}
{% endif %}
{% if source_def.sha256 is defined %}
{# generates sha256 = amd64:xxx,arm64:yyy #}
sha256 = {{ source_def.sha256.keys() | zip (source_def.sha256.values()) | map("join", ":") | join(",") }}
{% endif %}
{% if source_def.version is defined %}
version = {{ source_def.version }}
{% endif %}

{% endfor %}

Expand Down
1 change: 1 addition & 0 deletions ansible/seed-host-configure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
- import_playbook: "mdadm.yml"
- import_playbook: "luks.yml"
- import_playbook: "lvm.yml"
- import_playbook: "swap.yml"
- import_playbook: "kolla-ansible-user.yml"
- import_playbook: "kolla-pip.yml"
- import_playbook: "kolla-target-venv.yml"
Expand Down
1 change: 1 addition & 0 deletions ansible/seed-hypervisor-host-configure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@
- import_playbook: "mdadm.yml"
- import_playbook: "luks.yml"
- import_playbook: "lvm.yml"
- import_playbook: "swap.yml"
- import_playbook: "seed-hypervisor-libvirt-host.yml"
7 changes: 5 additions & 2 deletions dev/tenks-deploy-config-compute-libvirt-on-host.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

node_types:
type0:
memory_mb: 1024
memory_mb: 3072
vcpus: 1
volumes:
# There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent:
Expand All @@ -15,7 +15,10 @@ node_types:
console_log_enabled: true
# We seem to hit issues with missing cpu features in CI as a result of using host-model, e.g:
# https://zuul.opendev.org/t/openstack/build/02c33ab51664419a88a5a54ad22852a9/log/primary/system_logs/libvirt/qemu/tk0.txt.gz#38
cpu_mode:
# NOTE(bbezak): Force QEMU to expose x86-64‑v2 features, so the CentOS
# Stream IPA doesn't fail with "Fatal glibc error: CPU does not support
# x86-64-v2".
cpu_mode: maximum

specs:
- type: type0
Expand Down
7 changes: 5 additions & 2 deletions dev/tenks-deploy-config-compute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

node_types:
type0:
memory_mb: 1024
memory_mb: 3072
vcpus: 1
volumes:
# There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent:
Expand All @@ -15,7 +15,10 @@ node_types:
console_log_enabled: true
# We seem to hit issues with missing cpu features in CI as a result of using host-model, e.g:
# https://zuul.opendev.org/t/openstack/build/02c33ab51664419a88a5a54ad22852a9/log/primary/system_logs/libvirt/qemu/tk0.txt.gz#38
cpu_mode:
# NOTE(bbezak): Force QEMU to expose x86-64‑v2 features, so the CentOS
# Stream IPA doesn't fail with "Fatal glibc error: CPU does not support
# x86-64-v2".
cpu_mode: maximum

specs:
- type: type0
Expand Down
15 changes: 14 additions & 1 deletion doc/source/configuration/reference/kolla.rst
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ default is to specify the URL and version of Bifrost, as defined in
``${KAYOBE_CONFIG_PATH}/bifrost.yml``.

For example, to specify a custom source location for the ``ironic-base``
package:
package and a custom version of cadvisor:

.. code-block:: yaml
:caption: ``kolla.yml``
Expand All @@ -261,6 +261,11 @@ package:
type: "git"
location: https://git.example.com/ironic
reference: downstream
prometheus-cadvisor:
version: "0.54.1"
sha256:
amd64: xxxx
arm64: yyyy

This will result in Kayobe adding the following configuration to
``kolla-build.conf``:
Expand All @@ -278,9 +283,17 @@ This will result in Kayobe adding the following configuration to
location = https://git.example.com/ironic
reference = downstream

[prometheus-cadvisor]
version = 0.54.1
sha256 = amd64:xxxx,arm64:yyyy

Note that it is currently necessary to include the Bifrost source location if
using a seed.

Note that it is not necessary to specify the prometheus-cadvisor ``type: url``
and ``location: https://github.com/...`` because they are inherited from kolla
(``kolla/common/sources.py``).

Plugins & additions
-------------------

Expand Down
6 changes: 6 additions & 0 deletions etc/kayobe/compute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,12 @@
# compute_libvirt_ceph_repo_install is true. Default is 'squid'.
#compute_libvirt_ceph_repo_release:

###############################################################################
# Compute node swap configuration.

# List of swap devices. Each item is a dict containing a 'device' item.
#compute_swap:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
24 changes: 22 additions & 2 deletions etc/kayobe/controllers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,7 @@

# Whether a 'data' LVM volume group should exist on controller hosts. By
# default this contains a 'docker-volumes' logical volume for Docker volume
# storage.
# Default is false.
# storage. Default is false.
#controller_lvm_group_data_enabled:

# Controller LVM volume group for data. See mrlesmithjr.manage_lvm role for
Expand All @@ -118,18 +117,33 @@
# invalid value to require configuration.
#controller_lvm_group_data_disks:

# List of LVM logical volumes for the data volume group when using docker.
#controller_lvm_group_data_docker_lvs:

# List of LVM logical volumes for the data volume group when using podman.
#controller_lvm_group_data_podman_lvs:

# List of LVM logical volumes for the data volume group.
#controller_lvm_group_data_lvs:

# Docker volumes LVM backing volume.
#controller_lvm_group_data_lv_docker_volumes:

# Podman volumes LVM backing volume.
#controller_lvm_group_data_lv_podman_volumes:

# Size of docker volumes LVM backing volume.
#controller_lvm_group_data_lv_docker_volumes_size:

# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking.
#controller_lvm_group_data_lv_docker_volumes_fs:

# Size of podman volumes LVM backing volume.
#controller_lvm_group_data_lv_podman_volumes_size:

# Filesystem for podman volumes LVM backing volume. ext4 allows for shrinking.
#controller_lvm_group_data_lv_podman_volumes_fs:

###############################################################################
# Controller node sysctl configuration.

Expand Down Expand Up @@ -171,6 +185,12 @@
# - state: enabled
#controller_firewalld_rules:

###############################################################################
# Controller node swap configuration.

# List of swap devices. Each item is a dict containing a 'device' item.
#controller_swap:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
18 changes: 18 additions & 0 deletions etc/kayobe/infra-vms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,12 @@
# an invalid value to require configuration.
#infra_vm_lvm_group_data_disks:

# List of LVM logical volumes for the data volume group when using docker.
#infra_vm_lvm_group_data_docker_lvs:

# List of LVM logical volumes for the data volume group when using podman.
#infra_vm_lvm_group_data_podman_lvs:

# List of LVM logical volumes for the data volume group.
#infra_vm_lvm_group_data_lvs:

Expand All @@ -135,6 +141,12 @@
# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking.
#infra_vm_lvm_group_data_lv_docker_volumes_fs:

# Size of podman volumes LVM backing volume.
#infra_vm_lvm_group_data_lv_podman_volumes_size:

# Filesystem for podman volumes LVM backing volume. ext4 allows for shrinking.
#infra_vm_lvm_group_data_lv_podman_volumes_fs:

###############################################################################
# Infrastructure VM node sysctl configuration.

Expand Down Expand Up @@ -176,6 +188,12 @@
# - state: enabled
#infra_vm_firewalld_rules:

###############################################################################
# Infrastructure VM node swap configuration.

# List of swap devices. Each item is a dict containing a 'device' item.
#infra_vm_swap:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
6 changes: 6 additions & 0 deletions etc/kayobe/monitoring.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,12 @@
# - state: enabled
#monitoring_firewalld_rules:

###############################################################################
# Monitoring node swap configuration.

# List of swap devices. Each item is a dict containing a 'device' item.
#monitoring_swap:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
6 changes: 6 additions & 0 deletions etc/kayobe/seed-hypervisor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,12 @@
# - state: enabled
#seed_hypervisor_firewalld_rules:

###############################################################################
# Seed hypervisor node swap configuration.

# List of swap devices. Each item is a dict containing a 'device' item.
#seed_hypervisor_swap:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
18 changes: 18 additions & 0 deletions etc/kayobe/seed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,12 @@
# value to require configuration.
#seed_lvm_group_data_disks:

# List of LVM logical volumes for the data volume group when using docker.
#seed_lvm_group_data_docker_lvs:

# List of LVM logical volumes for the data volume group when using podman.
#seed_lvm_group_data_podman_lvs:

# List of LVM logical volumes for the data volume group.
#seed_lvm_group_data_lvs:

Expand All @@ -72,6 +78,12 @@
# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking.
#seed_lvm_group_data_lv_docker_volumes_fs:

# Size of podman volumes LVM backing volume.
#seed_lvm_group_data_lv_podman_volumes_size:

# Filesystem for podman volumes LVM backing volume. ext4 allows for shrinking.
#seed_lvm_group_data_lv_podman_volumes_fs:

###############################################################################
# Seed node sysctl configuration.

Expand Down Expand Up @@ -131,6 +143,12 @@
# - state: enabled
#seed_firewalld_rules:

###############################################################################
# Seed node swap configuration.

# List of swap devices. Each item is a dict containing a 'device' item.
#seed_swap:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
6 changes: 6 additions & 0 deletions etc/kayobe/storage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,12 @@
# - state: enabled
#storage_firewalld_rules:

###############################################################################
# Storage node swap configuration.

# List of swap devices. Each item is a dict containing a 'device' item.
#storage_swap:

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
2 changes: 1 addition & 1 deletion playbooks/kayobe-overcloud-base/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
chdir: "{{ kayobe_src_dir }}"
executable: /bin/bash
# TODO(priteau): Fix baremetal inspect issues with UEFI
when: ironic_boot_mode == 'bios' and false # TODO(priteau): Re-enable when working
when: ironic_boot_mode == 'bios'

- name: Perform testing of the baremetal machines
shell:
Expand Down
5 changes: 5 additions & 0 deletions releasenotes/notes/fix-swap-support-35ccff76a9b46b4c.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
fixes:
- |
Fixes swap configuration for the seed hypervisor, seed and infra VM hosts.
`LP#2138800 <https://bugs.launchpad.net/kayobe/+bug/2138800>`__
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
feature:
- |
Adds support for ``url`` sources in ``kolla_sources``. Previously the
``version`` and ``sha256`` attributes would not be generated in
``kolla-build.conf``, preventing the override for sources with ``url``
type. Only ``git`` and ``local`` types worked.
2 changes: 2 additions & 0 deletions tools/run-bashate.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ ROOT=$(readlink -fn $(dirname $0)/.. )
# NOTE(priteau): ignore E010 because it fails on one-liner bash loops:
# https://bugs.launchpad.net/bash8/+bug/1895102
find $ROOT -not -wholename \*.tox/\* -and -not -wholename \*.test/\* \
-and -not -wholename \*.ansible/\* -and -not -wholename \*venv\* \
-and -not -wholename \*/ansible/roles/\*.\*/\* \
-and -name \*.sh -print0 | xargs -0 bashate -v --ignore E006,E010
Loading