Mark Goddard c4b74f4801 libvirt: deploy libvirt on the host
In some cases it may be desirable to run libvirt daemon on the host. For
example, when mixing host and container OS distributions.

This change makes it possible to disable the nova_libvirt container, by
setting kolla_enable_nova_libvirt_container to false.

The stackhpc.libvirt-host role is used in order to install and configure
a libvirt daemon on compute hosts when
kolla_enable_nova_libvirt_container is false.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/825357
Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/829225
Depends-On: https://github.com/stackhpc/ansible-role-libvirt-host/pull/51

Story: 2009858
Task: 44495

Change-Id: I73fef63fb886a9d543d2f4231fb009523495edb3
2022-03-24 13:44:48 +00:00

240 lines
8.4 KiB
YAML

---
# List of custom configuration directories.
# Each item is a dict containing the following items:
# src: Path to directory containing configuration file templates.
# dest: Path to directory in which generated files will be created.
# patterns: One or more file name patterns to match.
# enabled: Whether these files should be templated.
# ignore: Optional list of files to ignore. These files will not be copied to
# the destination, and will not be removed from the destination, even
# if disabled or unexpected.
kolla_openstack_custom_config:
# Aodh.
- src: "{{ kolla_extra_config_path }}/aodh"
dest: "{{ kolla_node_custom_config_path }}/aodh"
patterns: "*"
enabled: "{{ kolla_enable_aodh }}"
# Barbican.
- src: "{{ kolla_extra_config_path }}/barbican"
dest: "{{ kolla_node_custom_config_path }}/barbican"
patterns: "*"
enabled: "{{ kolla_enable_barbican }}"
# Blazar.
- src: "{{ kolla_extra_config_path }}/blazar"
dest: "{{ kolla_node_custom_config_path }}/blazar"
patterns: "*"
enabled: "{{ kolla_enable_blazar }}"
# Ceilometer.
- src: "{{ kolla_extra_config_path }}/ceilometer"
dest: "{{ kolla_node_custom_config_path }}/ceilometer"
patterns: "*"
enabled: "{{ kolla_enable_ceilometer }}"
# Cinder.
- src: "{{ kolla_extra_config_path }}/cinder"
dest: "{{ kolla_node_custom_config_path }}/cinder"
patterns: "*"
enabled: "{{ kolla_enable_cinder }}"
# CloudKitty.
- src: "{{ kolla_extra_config_path }}/cloudkitty"
dest: "{{ kolla_node_custom_config_path }}/cloudkitty"
patterns: "*"
enabled: "{{ kolla_enable_cloudkitty }}"
# Designate.
- src: "{{ kolla_extra_config_path }}/designate"
dest: "{{ kolla_node_custom_config_path }}/designate"
patterns: "*"
enabled: "{{ kolla_enable_designate }}"
# Elasticsearch.
- src: "{{ kolla_extra_config_path }}/elasticsearch"
dest: "{{ kolla_node_custom_config_path }}/elasticsearch"
patterns: "*"
enabled: "{{ kolla_enable_elasticsearch }}"
# Fluentd filters.
- src: "{{ kolla_extra_config_path }}//fluentd/filter"
dest: "{{ kolla_node_custom_config_path }}/fluentd/filter"
patterns: "*.conf"
enabled: true
# Fluentd inputs.
- src: "{{ kolla_extra_config_path }}//fluentd/input"
dest: "{{ kolla_node_custom_config_path }}/fluentd/input"
patterns: "*.conf"
enabled: true
# Fluentd outputs.
- src: "{{ kolla_extra_config_path }}/fluentd/output"
dest: "{{ kolla_node_custom_config_path }}/fluentd/output"
patterns: "*.conf"
enabled: true
# Glance.
- src: "{{ kolla_extra_config_path }}/glance"
dest: "{{ kolla_node_custom_config_path }}/glance"
patterns: "*"
enabled: "{{ kolla_enable_glance }}"
# Gnocchi.
- src: "{{ kolla_extra_config_path }}/gnocchi"
dest: "{{ kolla_node_custom_config_path }}/gnocchi"
patterns: "*"
enabled: "{{ kolla_enable_gnocchi }}"
# Grafana.
- src: "{{ kolla_extra_config_path }}/grafana"
dest: "{{ kolla_node_custom_config_path }}/grafana"
patterns: "*"
enabled: "{{ kolla_enable_grafana }}"
# HAProxy.
- src: "{{ kolla_extra_config_path }}/haproxy"
dest: "{{ kolla_node_custom_config_path }}/haproxy"
patterns: "*"
enabled: "{{ kolla_enable_haproxy }}"
- src: "{{ kolla_extra_config_path }}/haproxy-config"
dest: "{{ kolla_node_custom_config_path }}/haproxy-config"
patterns: "*"
enabled: "{{ kolla_enable_haproxy }}"
# Heat.
- src: "{{ kolla_extra_config_path }}/heat"
dest: "{{ kolla_node_custom_config_path }}/heat"
patterns: "*"
enabled: "{{ kolla_enable_heat }}"
# Horizon.
- src: "{{ kolla_extra_config_path }}/horizon"
dest: "{{ kolla_node_custom_config_path }}/horizon"
patterns: "*"
enabled: "{{ kolla_enable_horizon }}"
untemplated_dirs:
# Do not attempt to template themes directory.
- "themes"
# InfluxDB.
- src: "{{ kolla_extra_config_path }}/"
dest: "{{ kolla_node_custom_config_path }}/"
patterns: "influx*"
enabled: "{{ kolla_enable_influxdb }}"
# Storm.
- src: "{{ kolla_extra_config_path }}/storm"
dest: "{{ kolla_node_custom_config_path }}/storm"
patterns: "*"
enabled: "{{ kolla_enable_storm }}"
# Ironic.
- src: "{{ kolla_extra_config_path }}/ironic"
dest: "{{ kolla_node_custom_config_path }}/ironic"
patterns: "*"
enabled: "{{ kolla_enable_ironic }}"
ignore:
# These are templated by kayobe, so don't remove them.
- ironic-agent.initramfs
- ironic-agent.kernel
# Kafka.
- src: "{{ kolla_extra_config_path }}/kafka"
dest: "{{ kolla_node_custom_config_path }}/kafka"
patterns: "*"
enabled: "{{ kolla_enable_kafka }}"
# Keystone.
- src: "{{ kolla_extra_config_path }}/keystone"
dest: "{{ kolla_node_custom_config_path }}/keystone"
patterns: "*"
enabled: "{{ kolla_enable_keystone }}"
# Keepalived.
- src: "{{ kolla_extra_config_path }}/keepalived"
dest: "{{ kolla_node_custom_config_path }}/keepalived"
patterns: "*"
enabled: "{{ kolla_enable_haproxy }}"
# Magnum.
- src: "{{ kolla_extra_config_path }}/magnum"
dest: "{{ kolla_node_custom_config_path }}/magnum"
patterns: "*"
enabled: "{{ kolla_enable_magnum }}"
# Manila.
- src: "{{ kolla_extra_config_path }}/manila"
dest: "{{ kolla_node_custom_config_path }}/manila"
patterns: "*"
enabled: "{{ kolla_enable_manila }}"
# MariaDB.
- src: "{{ kolla_extra_config_path }}/mariadb"
dest: "{{ kolla_node_custom_config_path }}/mariadb"
patterns: "*"
enabled: "{{ kolla_enable_mariadb }}"
# Masakari.
- src: "{{ kolla_extra_config_path }}/masakari"
dest: "{{ kolla_node_custom_config_path }}/masakari"
patterns: "*"
enabled: "{{ kolla_enable_masakari }}"
# Monasca.
- src: "{{ kolla_extra_config_path }}/monasca"
dest: "{{ kolla_node_custom_config_path }}/monasca"
patterns: "*"
enabled: "{{ kolla_enable_monasca }}"
# Murano.
- src: "{{ kolla_extra_config_path }}/murano"
dest: "{{ kolla_node_custom_config_path }}/murano"
patterns: "*"
enabled: "{{ kolla_enable_murano }}"
# Neutron.
- src: "{{ kolla_extra_config_path }}/neutron"
dest: "{{ kolla_node_custom_config_path }}/neutron"
patterns: "*"
enabled: "{{ kolla_enable_neutron }}"
ignore:
# These are templated by kayobe, so don't remove them.
- ml2_conf.ini
# Nova.
- src: "{{ kolla_extra_config_path }}/nova"
dest: "{{ kolla_node_custom_config_path }}/nova"
patterns: "*"
enabled: "{{ kolla_enable_nova }}"
# Nova.
- src: "{{ kolla_nova_libvirt_certificates_src }}"
dest: "{{ kolla_node_custom_config_path }}/nova/nova-libvirt"
patterns:
- clientcert.pem
- clientkey.pem
- cacert.pem
enabled: "{{ kolla_enable_nova | bool and kolla_libvirt_tls | bool }}"
untemplated:
- clientcert.pem
- clientkey.pem
- cacert.pem
- src: "{{ kolla_nova_libvirt_certificates_src }}"
dest: "{{ kolla_node_custom_config_path }}/nova/nova-libvirt"
patterns:
- servercert.pem
- serverkey.pem
enabled: "{{ kolla_enable_nova | bool and kolla_enable_nova_libvirt_container | bool and kolla_libvirt_tls | bool }}"
untemplated:
- servercert.pem
- serverkey.pem
# Octavia.
- src: "{{ kolla_extra_config_path }}/octavia"
dest: "{{ kolla_node_custom_config_path }}/octavia"
patterns: "*"
enabled: "{{ kolla_enable_octavia }}"
# Placement
- src: "{{ kolla_extra_config_path }}/placement"
dest: "{{ kolla_node_custom_config_path }}/placement"
patterns: "*"
enabled: "{{ kolla_enable_placement }}"
# Prometheus config
- src: "{{ kolla_extra_config_path }}/prometheus"
dest: "{{ kolla_node_custom_config_path }}/prometheus"
patterns: "*"
enabled: "{{ kolla_enable_prometheus }}"
# Sahara.
- src: "{{ kolla_extra_config_path }}/sahara"
dest: "{{ kolla_node_custom_config_path }}/sahara"
patterns: "*"
enabled: "{{ kolla_enable_sahara }}"
# Swift.
- src: "{{ kolla_extra_config_path }}/swift"
dest: "{{ kolla_node_custom_config_path }}/swift"
patterns: "*"
enabled: "{{ kolla_enable_swift }}"
untemplated:
# These are binary files, and should not be templated.
- account.builder
- account.ring.gz
- container.builder
- container.ring.gz
- object.builder
- object.ring.gz
# Zookeeper.
- src: "{{ kolla_extra_config_path }}/zookeeper"
dest: "{{ kolla_node_custom_config_path }}/zookeeper"
patterns: "*"
enabled: "{{ kolla_enable_zookeeper }}"