---
# 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 "rocky",
# ["enable-serial-console", "vm"] otherwise.
kolla_bifrost_dib_elements_default:
  - "{% if os_distribution in ['centos', 'rocky'] %}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: {}
