---
###############################################################################
# Compute node configuration.

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

###############################################################################
# Compute network interface configuration.

# List of networks to which compute nodes are attached.
compute_network_interfaces: >
  {{ (compute_default_network_interfaces +
      compute_extra_network_interfaces) | select | unique | list }}

# List of default networks to which compute nodes are attached.
compute_default_network_interfaces: >
  {{ ([admin_oc_net_name,
       internal_net_name,
       storage_net_name,
       tunnel_net_name] +
      (external_net_names if kolla_enable_neutron_provider_networks | bool else [])) | select | unique | list }}

# List of extra networks to which compute nodes are attached.
compute_extra_network_interfaces: []

###############################################################################
# Compute node BIOS configuration.

# Dict of compute BIOS options. Format is same as that used by stackhpc.drac
# role.
compute_bios_config: "{{ compute_bios_config_default | combine(compute_bios_config_extra) }}"

# Dict of default compute BIOS options. Format is same as that used by
# stackhpc.drac role.
compute_bios_config_default: {}

# Dict of additional compute BIOS options. Format is same as that used by
# stackhpc.drac role.
compute_bios_config_extra: {}

###############################################################################
# Compute node RAID configuration.

# List of compute RAID volumes. Format is same as that used by stackhpc.drac
# role.
compute_raid_config: "{{ compute_raid_config_default + compute_raid_config_extra }}"

# List of default compute RAID volumes. Format is same as that used by
# stackhpc.drac role.
compute_raid_config_default: []

# List of additional compute RAID volumes. Format is same as that used by
# stackhpc.drac role.
compute_raid_config_extra: []

###############################################################################
# Compute node software RAID configuration.

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

###############################################################################
# Compute node encryption configuration.

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

###############################################################################
# Compute node LVM configuration.

# List of compute volume groups. See mrlesmithjr.manage-lvm role for
# format.
compute_lvm_groups: "{{ compute_lvm_groups_default + compute_lvm_groups_extra }}"

# Default list of compute volume groups. See mrlesmithjr.manage-lvm role for
# format.
compute_lvm_groups_default: "{{ [compute_lvm_group_data] if compute_lvm_group_data_enabled | bool else [] }}"

# Additional list of compute volume groups. See mrlesmithjr.manage-lvm role
# for format.
compute_lvm_groups_extra: []

# Whether a 'data' LVM volume group should exist on compute hosts. By default
# this contains a 'docker-volumes' logical volume for Docker volume storage. It
# will also be used for Docker container and image storage if
# 'docker_storage_driver' is set to 'devicemapper'. Default is true if
# 'docker_storage_driver' is set to 'devicemapper', or false otherwise.
compute_lvm_group_data_enabled: "{{ docker_storage_driver == 'devicemapper' }}"

# Compute LVM volume group for data. See mrlesmithjr.manage-lvm role for
# format.
compute_lvm_group_data:
  vgname: data
  disks: "{{ compute_lvm_group_data_disks }}"
  create: True
  lvnames: "{{ compute_lvm_group_data_lvs }}"

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

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

# Docker volumes LVM backing volume.
compute_lvm_group_data_lv_docker_volumes:
  lvname: docker-volumes
  size: "{{ compute_lvm_group_data_lv_docker_volumes_size }}"
  create: True
  filesystem: "{{ compute_lvm_group_data_lv_docker_volumes_fs }}"
  mount: True
  mntp: /var/lib/docker/volumes

# Size of docker volumes LVM backing volume.
compute_lvm_group_data_lv_docker_volumes_size: 75%VG

# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking.
compute_lvm_group_data_lv_docker_volumes_fs: ext4

###############################################################################
# Compute node sysctl configuration.

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

###############################################################################
# Compute node user configuration.

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