Add configuration for virtualised compute hosts

Hosts in the [compute] group will be configured as virtualised compute
hosts. These hosts are treated as part of the overcloud, and affected by
all overcloud commands.
This commit is contained in:
Mark Goddard 2017-10-18 15:44:27 +01:00
parent 1b96a20895
commit 038c73414e
12 changed files with 291 additions and 0 deletions

View File

@ -0,0 +1,115 @@
---
###############################################################################
# Compute node configuration.
# User with which to access the computes via SSH during bootstrap, in order
# to setup the Kayobe user account.
compute_bootstrap_user: "{{ lookup('env', 'USER') }}"
###############################################################################
# Compute network interface configuration.
# List of networks to which compute nodes are attached.
compute_network_interfaces: >
{{ (compute_default_network_interfaces +
compute_extra_network_interfaces) | unique | list }}
# List of default networks to which compute nodes are attached.
compute_default_network_interfaces: >
{{ [provision_oc_net_name,
internal_net_name,
storage_net_name] | 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 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 }}"
# Additional list of compute volume groups. See mrlesmithjr.manage-lvm role
# for format.
compute_lvm_groups_extra: []
# 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 | join(',') }}"
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 }}"

View File

@ -213,6 +213,9 @@ kolla_overcloud_inventory_top_level_group_map:
network:
groups:
- network
compute:
groups:
- compute
# List of names of top level kolla-ansible groups. Any of these groups which
# have no hosts mapped to them will be provided with an empty group definition.

View File

@ -0,0 +1,7 @@
---
# User with which to access the computes via SSH.
ansible_user: "{{ kayobe_ansible_user }}"
# User with which to access the computes before the kayobe_ansible_user
# account has been created.
bootstrap_user: "{{ compute_bootstrap_user }}"

View File

@ -0,0 +1,7 @@
---
###############################################################################
# Compute node BIOS configuration.
# Dict of monitoring node BIOS options. Format is same as that used by
# stackhpc.drac role.
bios_config: "{{ compute_bios_config }}"

View File

@ -0,0 +1,6 @@
---
###############################################################################
# Compute node LVM configuration.
# List of LVM volume groups.
lvm_groups: "{{ compute_lvm_groups }}"

View File

@ -0,0 +1,6 @@
---
###############################################################################
# Network interface attachments.
# List of networks to which these nodes are attached.
network_interfaces: "{{ compute_network_interfaces | unique | list }}"

View File

@ -0,0 +1,7 @@
---
###############################################################################
# Compute node RAID configuration.
# List of compute node RAID volumes. Format is same as that used by
# stackhpc.drac role.
raid_config: "{{ compute_raid_config }}"

View File

@ -0,0 +1,3 @@
---
# Dict of sysctl parameters to set.
sysctl_parameters: "{{ compute_sysctl_parameters }}"

View File

@ -0,0 +1,4 @@
---
# List of users to create. This should be in a format accepted by the
# singleplatform-eng.users role.
users: "{{ compute_users }}"

101
etc/kayobe/compute.yml Normal file
View File

@ -0,0 +1,101 @@
---
###############################################################################
# Compute node configuration.
# User with which to access the computes via SSH during bootstrap, in order
# to setup the Kayobe user account.
#compute_bootstrap_user:
###############################################################################
# Network interface attachments.
# List of networks to which compute nodes are attached.
#compute_network_interfaces:
# List of default networks to which compute nodes are attached.
#compute_default_network_interfaces:
# 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:
# 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:
# 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 LVM configuration.
# List of compute volume groups. See mrlesmithjr.manage-lvm role for
# format.
#compute_lvm_groups:
# Default list of compute volume groups. See mrlesmithjr.manage-lvm role for
# format.
#compute_lvm_groups_default:
# Additional list of compute volume groups. See mrlesmithjr.manage-lvm role
# for format.
#compute_lvm_groups_extra:
# Compute LVM volume group for data. See mrlesmithjr.manage-lvm role for
# format.
#compute_lvm_group_data:
# List of disks for use by compute LVM data volume group. Default to an
# invalid value to require configuration.
#compute_lvm_group_data_disks:
# List of LVM logical volumes for the data volume group.
#compute_lvm_group_data_lvs:
# Docker volumes LVM backing volume.
#compute_lvm_group_data_lv_docker_volumes:
# Size of docker volumes LVM backing volume.
#compute_lvm_group_data_lv_docker_volumes_size:
# Filesystem for docker volumes LVM backing volume. ext4 allows for shrinking.
#compute_lvm_group_data_lv_docker_volumes_fs:
###############################################################################
# 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:
###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes

View File

@ -0,0 +1,27 @@
---
###############################################################################
# Network interface definitions for the compute group.
# Overcloud provisioning network IP information.
# provision_oc_net_interface:
# provision_oc_net_bridge_ports:
# provision_oc_net_bond_slaves:
# Internal network IP information.
# internal_net_interface:
# internal_net_bridge_ports:
# internal_net_bond_slaves:
# External network IP information.
# external_net_interface:
# external_net_bridge_ports:
# external_net_bond_slaves:
# Storage network IP information.
# storage_net_interface:
# storage_net_bridge_ports:
# storage_net_bond_slaves:
###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes

View File

@ -15,10 +15,14 @@ controllers
[monitoring]
# Empty group to provide declaration of monitoring group.
[compute]
# Empty group to provide declaration of compute group.
[overcloud:children]
controllers
network
monitoring
compute
[docker:children]
# Hosts in this group will have Docker installed.
@ -26,6 +30,7 @@ seed
controllers
network
monitoring
compute
###############################################################################
# Networking groups.