---
# Ironic Python Agent (IPA) configuration.

###############################################################################
# Ironic Python Agent (IPA) image build configuration.

# Whether to build IPA images from source.
ipa_build_images: False

# URL of IPA source repository.
ipa_build_source_url: "https://opendev.org/openstack/ironic-python-agent"

# Version of IPA source repository.
ipa_build_source_version: "stable/rocky"

# URL of IPA upper constraints file.
ipa_build_upper_constraints_file_url:

# Custom python package version constraints for IPA. Dict mapping package name
# to upper version constraint.
ipa_build_custom_upper_constraints: []

# List of default Diskimage Builder (DIB) elements to use when building IPA
# images.
ipa_build_dib_elements_default:
  - centos7
  - enable-serial-console
  - ironic-agent

# List of additional Diskimage Builder (DIB) elements to use when building IPA
# images.
ipa_build_dib_elements_extra: []

# List of Diskimage Builder (DIB) elements to use when building IPA images.
ipa_build_dib_elements: >
  {{ ipa_build_dib_elements_default +
     ipa_build_dib_elements_extra }}

# Dictionary of default environment variables to provide to Diskimage Builder
# (DIB) during IPA image build.
ipa_build_dib_env_default:
  DIB_REPOLOCATION_ironic_agent: "{{ ipa_build_source_url }}"
  DIB_REPOREF_ironic_agent: "{{ ipa_build_source_version }}"

# Dictionary of additional environment variables to provide to Diskimage
# Builder (DIB) during IPA image build.
ipa_build_dib_env_extra: {}

# Dictionary of environment variables to provide to Diskimage Builder (DIB)
# during IPA image build.
ipa_build_dib_env: >
  {{ ipa_build_dib_env_default |
     combine(ipa_build_dib_env_extra) }}

# List of git repositories containing Diskimage Builder (DIB) elements. See
# stackhpc.os-images role for usage.
ipa_build_dib_git_elements: []

###############################################################################
# Ironic Python Agent (IPA) images configuration.

# Name of Ironic deployment kernel image to register in Glance.
ipa_images_kernel_name: "ipa.vmlinuz"

# URL of Ironic deployment kernel image to download.
ipa_kernel_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe-stable-rocky.vmlinuz"

# URL of checksum of Ironic deployment kernel image.
ipa_kernel_checksum_url: "{{ ipa_kernel_upstream_url }}.{{ ipa_kernel_checksum_algorithm }}"

# Algorithm of checksum of Ironic deployment kernel image.
ipa_kernel_checksum_algorithm: "sha256"

# Name of Ironic deployment ramdisk image to register in Glance.
ipa_images_ramdisk_name: "ipa.initramfs"

# URL of Ironic deployment ramdisk image to download.
ipa_ramdisk_upstream_url: "https://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem-stable-rocky.cpio.gz"

# URL of checksum of Ironic deployment ramdisk image.
ipa_ramdisk_checksum_url: "{{ ipa_ramdisk_upstream_url }}.{{ ipa_ramdisk_checksum_algorithm }}"

# Algorithm of checksum of Ironic deployment ramdisk image.
ipa_ramdisk_checksum_algorithm: "sha256"

###############################################################################
# Ironic Python Agent (IPA) deployment configuration.

# Whether to enable collection of LLDP TLVs.
ipa_collect_lldp: True

# List of default inspection collectors to run.
# NOTE: extra-hardware is not currently included as it requires a ramdisk
#       with the hardware python module installed.
ipa_collectors_default:
  - "default"
  - "logs"
  - "pci-devices"

# List of additional inspection collectors to run.
ipa_collectors_extra: []

# List of inspection collectors to run.
ipa_collectors: >
  {{ ipa_collectors_default +
     ipa_collectors_extra }}

# List of default inspection benchmarks to run.
ipa_benchmarks_default:
  - "cpu"
  - "disk"
  - "mem"

# List of extra inspection benchmarks to run.
ipa_benchmarks_extra: []

# List of inspection benchmarks to run.
ipa_benchmarks: >
  {{ (ipa_benchmarks_default +
      ipa_benchmarks_extra)
     if 'extra-hardware' in ipa_collectors else [] }}

# List of default kernel parameters for Ironic python agent.
ipa_kernel_options_default: >
  {{ ['ipa-collect-lldp=' ~ '1' if ipa_collect_lldp else '0'] +
     ['ipa-inspection-collectors=' ~ ipa_collectors | join(',')] +
     ['ipa-inspection-benchmarks=' ~ ipa_benchmarks | join(',')] }}

# List of additional kernel parameters for Ironic python agent.
ipa_kernel_options_extra: []

# List of kernel parameters for Ironic python agent.
ipa_kernel_options: >
  {{ ipa_kernel_options_default +
     ipa_kernel_options_extra }}
