---
###############################################################################
# Seed hypervisor node configuration.

# User with which to access the seed hypervisor via SSH during bootstrap, in
# order to setup the Kayobe user account. Default is {{ os_distribution }}.
seed_hypervisor_bootstrap_user: "{{ os_distribution }}"

###############################################################################
# Seed hypervisor network interface configuration.

# List of networks to which seed hypervisor nodes are attached.
seed_hypervisor_network_interfaces: >
  {{ (seed_hypervisor_default_network_interfaces +
      seed_hypervisor_extra_network_interfaces) | select | unique | list }}

# List of default networks to which seed hypervisor nodes are attached.
seed_hypervisor_default_network_interfaces: "{{ seed_default_network_interfaces }}"

# List of extra networks to which seed hypervisor nodes are attached.
seed_hypervisor_extra_network_interfaces: "{{ seed_extra_network_interfaces }}"

# Whether to enable SNAT on seed hypervisor node. Default is false.
seed_hypervisor_enable_snat: false

###############################################################################
# Seed hypervisor node software RAID configuration.

# List of software RAID arrays. See mrlesmithjr.mdadm role for format.
seed_hypervisor_mdadm_arrays: []

###############################################################################
# Seed hypervisor node encryption configuration.

# List of block devices to encrypt. See stackhpc.luks role for format.
seed_hypervisor_luks_devices: []

###############################################################################
# Seed hypervisor node LVM configuration.

# List of seed hypervisor volume groups. See mrlesmithjr.manage_lvm role for
# format. Set to "{{ seed_hypervisor_lvm_groups_with_data }}" to create a
# volume group for libvirt storage.
seed_hypervisor_lvm_groups: []

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

# Seed LVM volume group for data. See mrlesmithjr.manage_lvm role for format.
seed_hypervisor_lvm_group_data:
  vgname: data
  disks: "{{ seed_hypervisor_lvm_group_data_disks }}"
  create: True
  lvnames: "{{ seed_hypervisor_lvm_group_data_lvs }}"

# List of disks for use by seed hypervisor LVM data volume group. Default to an
# invalid value to require configuration.
seed_hypervisor_lvm_group_data_disks:
  - changeme

# List of LVM logical volumes for the data volume group.
seed_hypervisor_lvm_group_data_lvs:
  - "{{ seed_hypervisor_lvm_group_data_lv_libvirt_storage }}"

# Libvirt storage LVM backing volume.
seed_hypervisor_lvm_group_data_lv_libvirt_storage:
  lvname: libvirt-storage
  size: "{{ seed_hypervisor_lvm_group_data_lv_libvirt_storage_size }}"
  create: True
  filesystem: "{{ seed_hypervisor_lvm_group_data_lv_libvirt_storage_fs }}"
  mount: True
  mntp: "{{ seed_hypervisor_libvirt_pool_path }}"

# Size of libvirt storage LVM backing volume.
seed_hypervisor_lvm_group_data_lv_libvirt_storage_size: 100%VG

# Filesystem for libvirt storage LVM backing volume. ext4 allows for shrinking.
seed_hypervisor_lvm_group_data_lv_libvirt_storage_fs: ext4

###############################################################################
# Seed hypervisor libvirt storage pool configuration.

# List of libvirt storage pools for the seed hypervisor.
seed_hypervisor_libvirt_pools:
  - "{{ seed_hypervisor_libvirt_pool }}"

# Libvirt storage pool for the seed VM.
seed_hypervisor_libvirt_pool:
  name: "{{ seed_hypervisor_libvirt_pool_name }}"
  type: dir
  path: "{{ seed_hypervisor_libvirt_pool_path }}"
  mode: "{{ seed_hypervisor_libvirt_pool_mode }}"
  owner: "{{ seed_hypervisor_libvirt_pool_owner }}"
  group: "{{ seed_hypervisor_libvirt_pool_group }}"

# Name of the libvirt storage pool for the seed VM.
seed_hypervisor_libvirt_pool_name: "default"

# Directory path of the libvirt storage pool for the seed VM.
seed_hypervisor_libvirt_pool_path: "/var/lib/libvirt/images"

# Directory mode of the libvirt storage pool for the seed VM.
seed_hypervisor_libvirt_pool_mode: 711

# Directory owner of the libvirt storage pool for the seed VM.
seed_hypervisor_libvirt_pool_owner: "root"

# Directory group of the libvirt storage pool for the seed VM.
seed_hypervisor_libvirt_pool_group: "root"

###############################################################################
# Seed hypervisor libvirt network configuration.

# List of libvirt networks for the seed hypervisor.
seed_hypervisor_libvirt_networks: >
  {{ network_interfaces |
     net_select_bridges |
     map('net_libvirt_network') |
     list }}

###############################################################################
# Seed hypervisor sysctl configuration.

# Dict of sysctl parameters to set.
seed_hypervisor_sysctl_parameters: {}

###############################################################################
# Seed hypervisor tuned configuration.

# Builtin tuned profile to use. Format is same as that used by giovtorres.tuned
# role. Default is virtual-host.
seed_hypervisor_tuned_active_builtin_profile: "virtual-host"

###############################################################################
# Seed hypervisor user configuration.

# List of users to create. This should be in a format accepted by the
# singleplatform-eng.users role.
seed_hypervisor_users: "{{ users_default }}"

###############################################################################
# Seed hypervisor node firewalld configuration.

# Whether to install and enable firewalld.
seed_hypervisor_firewalld_enabled: false

# A list of zones to create. Each item is a dict containing a 'zone' item.
seed_hypervisor_firewalld_zones: []

# A firewalld zone to set as the default. Default is unset, in which case the
# default zone will not be changed.
seed_hypervisor_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
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: []
