From c2b7cb07413fbf3c71bcfaefbb898de12a3bedef Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Fri, 20 Feb 2026 14:27:57 +0100 Subject: [PATCH] Synchronise configuration with master Synchronised with kayobe @ 1b6ace4798ab1a223c6b755be6cdd011081cf2f8. Change-Id: I55aef0ccc2dfd1ed6fd094e2f71eb7a9f42d837f Signed-off-by: Pierre Riteau --- etc/kayobe/ansible-control.yml | 128 ++++++++++++++++++ etc/kayobe/compute.yml | 6 + etc/kayobe/controllers.yml | 24 +++- etc/kayobe/infra-vms.yml | 18 +++ .../ansible-python-interpreter | 3 + .../ansible-control/network-interfaces | 20 +++ etc/kayobe/inventory/groups | 8 ++ etc/kayobe/monitoring.yml | 6 + etc/kayobe/seed-hypervisor.yml | 6 + etc/kayobe/seed.yml | 18 +++ etc/kayobe/storage.yml | 6 + 11 files changed, 241 insertions(+), 2 deletions(-) create mode 100644 etc/kayobe/ansible-control.yml create mode 100644 etc/kayobe/inventory/group_vars/ansible-control/ansible-python-interpreter create mode 100644 etc/kayobe/inventory/group_vars/ansible-control/network-interfaces diff --git a/etc/kayobe/ansible-control.yml b/etc/kayobe/ansible-control.yml new file mode 100644 index 0000000..cd6b563 --- /dev/null +++ b/etc/kayobe/ansible-control.yml @@ -0,0 +1,128 @@ +--- +############################################################################### +# Ansible control host configuration. + +# User with which to access the Ansible control host via SSH during bootstrap, +# in order to setup the Kayobe user account. Default is {{ os_distribution }}. +#ansible_control_bootstrap_user: + +############################################################################### +# Ansible control host network interface configuration. + +# List of networks to which Ansible control host are attached. +#ansible_control_network_interfaces: + +# List of default networks to which Ansible control host are attached. +#ansible_control_default_network_interfaces: + +# List of extra networks to which Ansible control host are attached. +#ansible_control_extra_network_interfaces: + +############################################################################### +# Ansible control host software RAID configuration. + +# List of software RAID arrays. See mrlesmithjr.mdadm role for format. +#ansible_control_mdadm_arrays: + +############################################################################### +# Ansible control host encryption configuration. + +# List of block devices to encrypt. See stackhpc.luks role for format. +#ansible_control_luks_devices: + +############################################################################### +# Ansible control host LVM configuration. + +# List of Ansible control host volume groups. See mrlesmithjr.manage_lvm role +# for format. +#ansible_control_lvm_groups: + +# Default list of Ansible control host volume groups. See +# mrlesmithjr.manage_lvm role for format. +#ansible_control_lvm_groups_default: + +# Additional list of Ansible control host volume groups. See +# mrlesmithjr.manage_lvm role for format. +#ansible_control_lvm_groups_extra: + +# Whether a 'data' LVM volume group should exist on the Ansible control host. +# By default this contains a 'docker-volumes' logical volume for Docker volume +# storage. Default is false. +#ansible_control_lvm_group_data_enabled: + +# Ansible control host LVM volume group for data. See mrlesmithjr.manage_lvm +# role for format. +#ansible_control_lvm_group_data: + +# List of disks for use by Ansible control host LVM data volume group. Default +# to an invalid value to require configuration. +#ansible_control_lvm_group_data_disks: + +# List of LVM logical volumes for the data volume group. +#ansible_control_lvm_group_data_lvs: + +# Docker volumes LVM backing volume. +#ansible_control_lvm_group_data_lv_docker_volumes: + +# Size of docker volumes LVM backing volume. +#ansible_control_lvm_group_data_lv_docker_volumes_size: + +# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking. +#ansible_control_lvm_group_data_lv_docker_volumes_fs: + +############################################################################### +# Ansible control host sysctl configuration. + +# Dict of sysctl parameters to set. +#ansible_control_sysctl_parameters: + +############################################################################### +# Ansible control host tuned configuration. + +# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned +# role. Default is throughput-performance. +#ansible_control_tuned_active_builtin_profile: + +############################################################################### +# Ansible control host user configuration. + +# List of users to create. This should be in a format accepted by the +# singleplatform-eng.users role. +#ansible_control_users: + +############################################################################### +# Ansible control host firewalld configuration. + +# Whether to install and enable firewalld. +#ansible_control_firewalld_enabled: + +# A list of zones to create. Each item is a dict containing a 'zone' item. +#ansible_control_firewalld_zones: + +# A firewalld zone to set as the default. Default is unset, in which case the +# default zone will not be changed. +#ansible_control_firewalld_default_zone: + +# A list of firewall rules to apply. Each item is a dict containing arguments +# to pass to the firewalld module. Arguments are omitted if not provided, with +# the following exceptions: +# - offline: true +# - permanent: true +# - state: enabled +#ansible_control_firewalld_rules: + +############################################################################### +# Ansible control host swap configuration. + +# List of swap devices. Each item is a dict containing a 'device' item. +#ansible_control_swap: + +############################################################################### +# Ansible control host container engine configuration. + +# Whether a container engine should be configured. Default is false. +#ansible_control_container_engine_enabled: + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/compute.yml b/etc/kayobe/compute.yml index 383abd1..f8a7deb 100644 --- a/etc/kayobe/compute.yml +++ b/etc/kayobe/compute.yml @@ -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 diff --git a/etc/kayobe/controllers.yml b/etc/kayobe/controllers.yml index 680ff13..c5cf1f8 100644 --- a/etc/kayobe/controllers.yml +++ b/etc/kayobe/controllers.yml @@ -106,8 +106,7 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" # 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 @@ -118,18 +117,33 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" # 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. @@ -171,6 +185,12 @@ controller_bootstrap_user: "{{ lookup('env', 'USER') }}" # - 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 diff --git a/etc/kayobe/infra-vms.yml b/etc/kayobe/infra-vms.yml index 076a3e6..59147aa 100644 --- a/etc/kayobe/infra-vms.yml +++ b/etc/kayobe/infra-vms.yml @@ -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: @@ -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. @@ -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 diff --git a/etc/kayobe/inventory/group_vars/ansible-control/ansible-python-interpreter b/etc/kayobe/inventory/group_vars/ansible-control/ansible-python-interpreter new file mode 100644 index 0000000..54abbf2 --- /dev/null +++ b/etc/kayobe/inventory/group_vars/ansible-control/ansible-python-interpreter @@ -0,0 +1,3 @@ +--- +# Use a virtual environment for remote operations. +ansible_python_interpreter: "{{ virtualenv_path }}/kayobe/bin/python" diff --git a/etc/kayobe/inventory/group_vars/ansible-control/network-interfaces b/etc/kayobe/inventory/group_vars/ansible-control/network-interfaces new file mode 100644 index 0000000..6880128 --- /dev/null +++ b/etc/kayobe/inventory/group_vars/ansible-control/network-interfaces @@ -0,0 +1,20 @@ +--- +############################################################################### +# Network interface definitions for the ansible-control group. + +# NOTE: The content of this section is very deployment-specific, since it +# depends on the names and types of networks in the deployment. It should +# define the group-specific attributes of networks. The following example shows +# a basic configuration for a network called "example": +# +# example_interface: eth0 +# +# Global network attributes such as subnet CIDRs are typically configured in +# etc/kayobe/networks.yml. +# +# Further information on the available network attributes is provided in the +# network configuration reference in the Kayobe documentation. + +############################################################################### +# Dummy variable to allow Ansible to accept this file. +workaround_ansible_issue_8743: yes diff --git a/etc/kayobe/inventory/groups b/etc/kayobe/inventory/groups index 0f57def..fee8c48 100644 --- a/etc/kayobe/inventory/groups +++ b/etc/kayobe/inventory/groups @@ -1,6 +1,12 @@ # Kayobe groups inventory file. This file should generally not be modified. # If declares the top-level groups and sub-groups. +############################################################################### +# Ansible control host groups. + +[ansible-control] +# Empty group to provide declaration of ansible-control group. + ############################################################################### # Seed groups. @@ -73,6 +79,7 @@ network monitoring storage compute +ansible-control [docker-registry:children] # Hosts in this group will have a Docker Registry deployed. This group should @@ -86,6 +93,7 @@ seed seed-hypervisor overcloud infra-vms +ansible-control ############################################################################### # Baremetal compute node groups. diff --git a/etc/kayobe/monitoring.yml b/etc/kayobe/monitoring.yml index 5a19d70..8c63bd5 100644 --- a/etc/kayobe/monitoring.yml +++ b/etc/kayobe/monitoring.yml @@ -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 diff --git a/etc/kayobe/seed-hypervisor.yml b/etc/kayobe/seed-hypervisor.yml index 56de372..420591c 100644 --- a/etc/kayobe/seed-hypervisor.yml +++ b/etc/kayobe/seed-hypervisor.yml @@ -136,6 +136,12 @@ seed_hypervisor_bootstrap_user: "{{ lookup('env', 'USER') }}" # - 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 diff --git a/etc/kayobe/seed.yml b/etc/kayobe/seed.yml index 9d67edb..0ea2e33 100644 --- a/etc/kayobe/seed.yml +++ b/etc/kayobe/seed.yml @@ -60,6 +60,12 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # 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: @@ -72,6 +78,12 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # 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. @@ -131,6 +143,12 @@ seed_bootstrap_user: "{{ lookup('env', 'USER') }}" # - 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 diff --git a/etc/kayobe/storage.yml b/etc/kayobe/storage.yml index 1866e6d..170ed2a 100644 --- a/etc/kayobe/storage.yml +++ b/etc/kayobe/storage.yml @@ -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