Infra VMs: follow up

* Improve docs
* Fix up some comments

Change-Id: Iee05721bbe084f5580805cd82b12d065a2c61a1e
This commit is contained in:
Mark Goddard 2021-10-06 13:14:03 +01:00
parent f11c73ff03
commit 8afd68ca44
8 changed files with 48 additions and 3 deletions

View File

@ -122,8 +122,8 @@ infra_vm_lvm_groups_extra: []
# Whether a 'data' LVM volume group should exist on the infrastructure vm. 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 #
# 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.
infra_vm_lvm_group_data_enabled: "{{ docker_storage_driver == 'devicemapper' }}"

View File

@ -42,3 +42,4 @@
# https://github.com/ansible/ansible/issues/49254
ansible_ssh_extra_args: '{{ infra_vm_wait_connection_ssh_extra_args }}'
ansible_user: "{{ bootstrap_user }}"
ansible_python_interpreter: /usr/bin/python3

View File

@ -15,6 +15,10 @@ Seed host
The seed host runs the bifrost deploy container and is used to provision
the cloud hosts. By default, container images are built on the seed.
Typically the seed host is deployed as a VM but this is not mandatory.
Infrastructure VM hosts
Infrastructure VMs (or Infra VMs) are virtual machines that may be deployed
to provide supplementary infrastructure services. They may be for things
like proxies or DNS servers that are dependencies of the Cloud hosts.
Cloud hosts
The cloud hosts run the OpenStack control plane, network, monitoring,
storage, and virtualised compute services. Typically the cloud hosts run

View File

@ -9,6 +9,7 @@ deployment of containers. Hosts that are configured by Kayobe include:
* Seed hypervisor (``kayobe seed hypervisor host configure``)
* Seed (``kayobe seed host configure``)
* Infra VMs (``kayobe infra vm host configure``)
* Overcloud (``kayobe overcloud host configure``)
Unless otherwise stated, all host configuration described here is applied to
@ -29,6 +30,7 @@ following files under ``${KAYOBE_CONFIG_PATH}``:
* ``seed.yml``
* ``compute.yml``
* ``controller.yml``
* ``infra-vms.yml``
* ``monitoring.yml``
* ``storage.yml``
@ -82,6 +84,7 @@ variable, but may be set via the following variables:
* ``seed_hypervisor_bootstrap_user``
* ``seed_bootstrap_user``
* ``infra_vm_bootstrap_user``
* ``compute_bootstrap_user``
* ``controller_bootstrap_user``
* ``monitoring_bootstrap_user``
@ -179,6 +182,7 @@ variables can be used to set the users for specific types of hosts:
* ``seed_hypervisor_users``
* ``seed_users``
* ``infra_vm_users``
* ``compute_users``
* ``controller_users``
* ``monitoring_users``
@ -435,6 +439,7 @@ variables can be used to set ``sysctl`` configuration specific types of hosts:
* ``seed_hypervisor_sysctl_parameters``
* ``seed_sysctl_parameters``
* ``infra_vm_sysctl_parameters``
* ``compute_sysctl_parameters``
* ``controller_sysctl_parameters``
* ``monitoring_sysctl_parameters``
@ -559,6 +564,7 @@ convenience, this is mapped to the following variables:
* ``seed_hypervisor_mdadm_arrays``
* ``seed_mdadm_arrays``
* ``infra_vm_mdadm_arrays``
* ``compute_mdadm_arrays``
* ``controller_mdadm_arrays``
* ``monitoring_mdadm_arrays``
@ -594,6 +600,7 @@ convenience, this is mapped to the following variables:
* ``seed_hypervisor_luks_devices``
* ``seed_luks_devices``
* ``infra_vm_luks_devices``
* ``compute_luks_devices``
* ``controller_luks_devices``
* ``monitoring_luks_devices``
@ -630,6 +637,7 @@ this is mapped to the following variables:
* ``seed_hypervisor_lvm_groups``
* ``seed_lvm_groups``
* ``infra_vm_lvm_groups``
* ``compute_lvm_groups``
* ``controller_lvm_groups``
* ``monitoring_lvm_groups``
@ -670,6 +678,7 @@ This configuration is enabled by the following variables, which default to
* ``compute_lvm_group_data_enabled``
* ``controller_lvm_group_data_enabled``
* ``seed_lvm_group_data_enabled``
* ``infra_vm_lvm_group_data_enabled``
* ``storage_lvm_group_data_enabled``
These variables can be set to ``true`` to enable the data volume group if the
@ -680,6 +689,7 @@ To use this configuration, a list of disks must be configured via the following
variables:
* ``seed_lvm_group_data_disks``
* ``infra_vm_lvm_group_data_disks``
* ``compute_lvm_group_data_disks``
* ``controller_lvm_group_data_disks``
* ``monitoring_lvm_group_data_disks``
@ -698,6 +708,7 @@ The Docker volumes LVM volume is assigned a size given by the following
variables, with a default value of 75% (of the volume group's capacity):
* ``seed_lvm_group_data_lv_docker_volumes_size``
* ``infra_vm_lvm_group_data_lv_docker_volumes_size``
* ``compute_lvm_group_data_lv_docker_volumes_size``
* ``controller_lvm_group_data_lv_docker_volumes_size``
* ``monitoring_lvm_group_data_lv_docker_volumes_size``
@ -728,6 +739,7 @@ To define additional logical logical volumes in the default ``data`` volume
group, modify one of the following variables:
* ``seed_lvm_group_data_lvs``
* ``infra_vm_lvm_group_data_lvs``
* ``compute_lvm_group_data_lvs``
* ``controller_lvm_group_data_lvs``
* ``monitoring_lvm_group_data_lvs``
@ -752,6 +764,7 @@ It is possible to define additional LVM volume groups via the following
variables:
* ``seed_lvm_groups_extra``
* ``infra_vm_lvm_groups_extra``
* ``compute_lvm_groups_extra``
* ``controller_lvm_groups_extra``
* ``monitoring_lvm_groups_extra``

View File

@ -800,6 +800,18 @@ networks to attach. Alternatively, the list may be
completely overridden by setting ``seed_hypervisor_network_interfaces``. These
variables are found in ``${KAYOBE_CONFIG_PATH}/seed-hypervisor.yml``.
Infra VMs
---------
By default, infrastructure VMs are attached to the following network:
* overcloud admin network
This list may be extended by setting ``infra_vm_extra_network_interfaces`` to a
list of names of additional networks to attach. Alternatively, the list may be
completely overridden by setting ``infra_vm_network_interfaces``. These
variables are found in ``${KAYOBE_CONFIG_PATH}/infra-vms.yml``.
Controllers
-----------

View File

@ -53,7 +53,7 @@
#infra_vm_wait_connection_ssh_extra_args:
# OS family. Needed for config drive generation.
# infra_vm_os_family:
#infra_vm_os_family:
###############################################################################
# Infrastructure VM node configuration.

View File

@ -0,0 +1,3 @@
---
# Use a virtual environment for remote operations.
ansible_python_interpreter: "{{ virtualenv_path }}/kayobe/bin/python"

View File

@ -0,0 +1,12 @@
---
###############################################################################
# Network interface definitions for the infra-vms group.
# Overcloud provisioning network IP information.
# provision_oc_net_interface:
# provision_oc_net_bridge_ports:
# provision_oc_net_bond_slaves:
###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes