Mark Goddard af3b719b73 Move group_vars to an inventory directory
The group variables originally in ansible/group_vars/ were playbook
group variables, due to being adjacent to the playbooks. Typically they
provided default values for global variables in the all group, as well
as some more specific groups. This has worked fairly well, but results
in (at least) a couple of problems.

1. The default variable precedence rules mean that these playbook group
   variables have a higher precedence than inventory group variables
   (for a given group). This can make it challenging to override
   playbook group variables in the inventory in Kayobe configuration.

2. Any playbook run by Kayobe must be in the same directory as the
   playbook group variables in order to use them. Given that they
   include variables required for connectivity such as ansible_host and
   ansible_user, this is quite critical. For Kayobe custom playbooks, we
   work around this by symlinking to the group_vars directory from the
   directory containing the custom playbook. This is not an elegant
   workaround, and has assumptions about the relative paths of the
   Kayobe configuration and virtual environment in which Kayobe is
   installed.

Story: 2010280
Task: 46233

Change-Id: Ifea5c7e73f6f410f96a7398bfd349d1f631d9fc0
2022-09-08 10:11:23 +01:00

150 lines
5.9 KiB
Plaintext

---
# Kayobe configuration for Bifrost.
###############################################################################
# Bifrost installation.
# URL of Bifrost source code repository.
kolla_bifrost_source_url: "https://opendev.org/openstack/bifrost"
# Version (branch, tag, etc.) of Bifrost source code repository. Default is
# {{ openstack_branch }}.
kolla_bifrost_source_version: "{{ openstack_branch }}"
# Whether Bifrost uses firewalld. Default value is false to avoid conflicting
# with iptables rules configured on the seed host by Kayobe.
kolla_bifrost_use_firewalld: False
# Firewalld zone used by Bifrost. Default is "trusted", to avoid blocking other
# services running on the seed host.
kolla_bifrost_firewalld_internal_zone: trusted
###############################################################################
# Diskimage-builder configuration.
# DIB base OS element. Default is {{ os_distribution }}.
kolla_bifrost_dib_os_element: "{{ os_distribution }}"
# DIB image OS release. Default is {{ os_release }}.
kolla_bifrost_dib_os_release: "{{ os_release }}"
# List of default DIB elements. Default is ["disable-selinux",
# "enable-serial-console", "vm"] when os_distribution is "centos", or
# ["enable-serial-console", "vm"] otherwise.
kolla_bifrost_dib_elements_default:
- "{% if os_distribution == 'centos' %}disable-selinux{% endif %}"
- "enable-serial-console"
- "vm"
# List of additional DIB elements.
kolla_bifrost_dib_elements_extra: []
# List of all DIB elements.
kolla_bifrost_dib_elements: "{{ kolla_bifrost_dib_elements_default | select | list + kolla_bifrost_dib_elements_extra }}"
# DIB init element.
kolla_bifrost_dib_init_element: "cloud-init-datasources"
# DIB default environment variables.
kolla_bifrost_dib_env_vars_default:
DIB_BOOTLOADER_DEFAULT_CMDLINE: "nofb nomodeset gfxpayload=text net.ifnames=1"
DIB_CLOUD_INIT_DATASOURCES: "ConfigDrive"
# DIB additional environment variables.
kolla_bifrost_dib_env_vars_extra: {}
# DIB environment variables.
kolla_bifrost_dib_env_vars: "{{ kolla_bifrost_dib_env_vars_default | combine(kolla_bifrost_dib_env_vars_extra) }}"
# List of DIB packages to install.
kolla_bifrost_dib_packages: []
###############################################################################
# Disk image deployment configuration.
# Name of disk image file to deploy. Default is "deployment_image.qcow2".
kolla_bifrost_deploy_image_filename: "deployment_image.qcow2"
# UUID of the root filesystem contained within the deployment image.
# See below URL for instructions on how to extract it:
# https://docs.openstack.org/ironic/latest/admin/raid.html#image-requirements
# Default is none.
kolla_bifrost_deploy_image_rootfs:
###############################################################################
# Ironic configuration.
# List of hardware types to enable for Bifrost's Ironic.
kolla_bifrost_enabled_hardware_types:
- ipmi
# List of extra kernel parameters for Bifrost's Ironic PXE configuration.
# Default is empty.
kolla_bifrost_extra_kernel_options: []
###############################################################################
# Ironic Inspector configuration.
# List of of inspector processing plugins.
kolla_bifrost_inspector_processing_hooks: "{{ inspector_processing_hooks }}"
# Which MAC addresses to add as ports during introspection. One of 'all',
# 'active' or 'pxe'.
kolla_bifrost_inspector_port_addition: "{{ inspector_add_ports }}"
# List of extra kernel parameters for the inspector default PXE configuration.
# Default is {{ inspector_extra_kernel_options }}, defined in inspector.yml.
# When customising this variable, the default extra kernel parameters should be
# kept to retain full node inspection capabilities.
kolla_bifrost_inspector_extra_kernel_options: "{{ inspector_extra_kernel_options }}"
# List of introspection rules for Bifrost's Ironic Inspector service.
kolla_bifrost_inspector_rules: "{{ inspector_rules }}"
# Ironic inspector IPMI username to set.
kolla_bifrost_inspector_ipmi_username: "{{ ipmi_username }}"
# Ironic inspector IPMI password to set.
kolla_bifrost_inspector_ipmi_password: "{{ ipmi_password }}"
# Ironic inspector network interface name on which to check for an LLDP switch
# port description to use as the node's name.
kolla_bifrost_inspector_lldp_switch_port_interface: "{{ inspector_lldp_switch_port_interface_default }}"
# Ironic inspector deployment kernel location.
kolla_bifrost_inspector_deploy_kernel: "http://{{ provision_oc_net_name | net_ip }}:8080/ipa.kernel"
# Ironic inspector deployment ramdisk location.
kolla_bifrost_inspector_deploy_ramdisk: "http://{{ provision_oc_net_name | net_ip }}:8080/ipa.initramfs"
# Timeout of hardware inspection on overcloud nodes, in seconds. Default is
# {{ inspector_inspection_timeout }}.
kolla_bifrost_inspection_timeout: "{{ inspector_inspection_timeout }}"
###############################################################################
# Ironic Python Agent (IPA) configuration.
# URL of Ironic Python Agent (IPA) kernel image.
kolla_bifrost_ipa_kernel_upstream_url: "{{ inspector_ipa_kernel_upstream_url }}"
# URL of checksum of Ironic Python Agent (IPA) kernel image.
kolla_bifrost_ipa_kernel_checksum_url: "{{ inspector_ipa_kernel_checksum_url }}"
# Algorithm of checksum of Ironic Python Agent (IPA) kernel image.
kolla_bifrost_ipa_kernel_checksum_algorithm: "{{ inspector_ipa_kernel_checksum_algorithm }}"
# URL of Ironic Python Agent (IPA) ramdisk image.
kolla_bifrost_ipa_ramdisk_upstream_url: "{{ inspector_ipa_ramdisk_upstream_url }}"
# URL of checksum of Ironic Python Agent (IPA) ramdisk image.
kolla_bifrost_ipa_ramdisk_checksum_url: "{{ inspector_ipa_ramdisk_checksum_url }}"
# Algorithm of checksum of Ironic Python Agent (IPA) ramdisk image.
kolla_bifrost_ipa_ramdisk_checksum_algorithm: "{{ inspector_ipa_ramdisk_checksum_algorithm }}"
###############################################################################
# Inventory configuration.
# Server inventory for Bifrost.
kolla_bifrost_servers: {}