Integrate oslo-config-validator

Regularly, we experience issues in Kolla Ansible deployments because we
use wrong options in OpenStack configuration files. This is because
OpenStack services ignore unknown options. We also need to keep on top
of deprecated options that may be removed in the future. Integrating
oslo-config-validator into Kolla Ansible will greatly help.

Adds a shared role to run oslo-config-validator on each service. Takes
into account that services have multiple containers, and these may also
use multiple config files. Service roles are extended to use this shared
role. Executed with the new command ``kolla-ansible validate-config``.

Change-Id: Ic10b410fc115646d96d2ce39d9618e7c46cb3fbc
This commit is contained in:
Matt Crees 2022-11-15 13:46:53 +00:00
parent 113242c864
commit 6c2aace8d6
101 changed files with 594 additions and 0 deletions
ansible/roles
aodh
barbican
bifrost/tasks
blazar
ceilometer
ceph-rgw/tasks
cinder
cloudkitty
collectd/tasks
common/tasks
cyborg
designate
etcd/tasks
freezer
glance
gnocchi
grafana/tasks
hacluster/tasks
heat
horizon/tasks
influxdb/tasks
ironic
iscsi/tasks
kafka/tasks
keystone
kuryr
loadbalancer/tasks
magnum
manila
mariadb/tasks
masakari
memcached/tasks
mistral
multipathd/tasks
murano
neutron
nova-cell
nova
octavia
opensearch/tasks
openvswitch/tasks
ovn-controller/tasks
ovn-db/tasks
ovs-dpdk/tasks
placement
prometheus/tasks
rabbitmq/tasks
redis/tasks
sahara
senlin
service-config-validate
skydive/tasks
solum
storm/tasks
swift/tasks
tacker
telegraf/tasks
trove
venus
vitrage
watcher
zookeeper/tasks
zun
releasenotes/notes

@ -55,6 +55,12 @@ aodh_services:
# change this option.
aodh_evaluation_interval: 300
####################
# Config Validate
####################
aodh_config_validation:
- generator: "/aodh/aodh/cmd/aodh-config-generator.conf"
config: "/etc/aodh/aodh.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ aodh_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ aodh_config_validation }}"

@ -40,6 +40,12 @@ barbican_services:
dimensions: "{{ barbican_worker_dimensions }}"
healthcheck: "{{ barbican_worker_healthcheck }}"
####################
# Config Validate
####################
barbican_config_validation:
- generator: "/barbican/etc/oslo-config-generator/barbican.conf"
config: "/etc/barbican/barbican.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ barbican_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ barbican_config_validation }}"

@ -0,0 +1 @@
---

@ -34,6 +34,13 @@ blazar_services:
####################
blazar_aggregate_pool_name: "freepool"
####################
# Config Validate
####################
blazar_config_validation:
- generator: "/blazar/etc/blazar/blazar-config-generator.conf"
config: "/etc/blazar/blazar.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ blazar_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ blazar_config_validation }}"

@ -34,6 +34,12 @@ ceilometer_services:
dimensions: "{{ ceilometer_ipmi_dimensions }}"
healthcheck: "{{ ceilometer_ipmi_healthcheck }}"
####################
# Config Validate
####################
ceilometer_config_validation:
- generator: "/ceilometer/etc/ceilometer/ceilometer-config-generator.conf"
config: "/etc/ceilometer/ceilometer.conf"
####################
# Docker

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ ceilometer_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ ceilometer_config_validation }}"

@ -0,0 +1 @@
---

@ -52,6 +52,13 @@ cinder_services:
dimensions: "{{ cinder_backup_dimensions }}"
healthcheck: "{{ cinder_backup_healthcheck }}"
####################
# Config Validate
####################
cinder_config_validation:
- generator: "/cinder/tools/config/cinder-config-generator.conf"
config: "/etc/cinder/cinder.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ cinder_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ cinder_config_validation }}"

@ -28,6 +28,12 @@ cloudkitty_services:
dimensions: "{{ cloudkitty_processor_dimensions }}"
healthcheck: "{{ cloudkitty_processor_healthcheck }}"
####################
# Config Validate
####################
cloudkitty_config_validation:
- generator: "/cloudkitty/etc/oslo-config-generator/cloudkitty.conf"
config: "/etc/cloudkitty/cloudkitty.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ cloudkitty_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ cloudkitty_config_validation }}"

@ -0,0 +1 @@
---

@ -0,0 +1 @@
---

@ -26,6 +26,13 @@ cyborg_services:
dimensions: "{{ cyborg_conductor_dimensions }}"
healthcheck: "{{ cyborg_conductor_healthcheck }}"
####################
# Config Validate
####################
cyborg_config_validation:
- generator: "/cyborg/tools/config/cyborg-config-generator.conf"
config: "/etc/cyborg/cyborg.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ cyborg_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ cyborg_config_validation }}"

@ -70,6 +70,12 @@ designate_services:
dimensions: "{{ designate_sink_dimensions }}"
healthcheck: "{{ designate_sink_healthcheck }}"
####################
# Config Validate
####################
designate_config_validation:
- generator: "/designate/etc/designate/designate-config-generator.conf"
config: "/etc/designate/designate.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ designate_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ designate_config_validation }}"

@ -0,0 +1 @@
---

@ -26,6 +26,13 @@ freezer_services:
volumes: "{{ freezer_scheduler_default_volumes + freezer_scheduler_extra_volumes }}"
dimensions: "{{ freezer_scheduler_dimensions }}"
####################
# Config Validate
####################
freezer_config_validation:
- generator: "/freezer/etc/config-generator.conf"
config: "/etc/freezer/freezer.conf"
####################
## Database
#####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ freezer_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ freezer_config_validation }}"

@ -65,6 +65,19 @@ glance_services:
custom_member_list: "{{ haproxy_tls_members.split(';') }}"
tls_backend: "yes"
####################
# Config Validate
####################
glance_config_validation:
- generator: "/glance/etc/oslo-config-generator/glance-api.conf"
config: "/etc/glance/glance-api.conf"
- generator: "/glance/etc/oslo-config-generator/glance-cache.conf"
config: "/etc/glance/glance-cache.conf"
- generator: "/glance/etc/oslo-config-generator/glance-manage.conf"
config: "/etc/glance/glance-manage.conf"
- generator: "/glance/etc/oslo-config-generator/glance-scrubber.conf"
config: "/etc/glance/glance-scrubber.conf"
####################
# HAProxy
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ glance_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ glance_config_validation }}"

@ -36,6 +36,12 @@ gnocchi_services:
dimensions: "{{ gnocchi_statsd_dimensions }}"
healthcheck: "{{ gnocchi_statsd_healthcheck }}"
####################
# Config Validate
####################
gnocchi_config_validation:
- generator: "/gnocchi/gnocchi/gnocchi-config-generator.conf"
config: "/etc/gnocchi/gnocchi.conf"
####################
# Swift

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ gnocchi_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ gnocchi_config_validation }}"

@ -0,0 +1 @@
---

@ -0,0 +1 @@
---

@ -55,6 +55,13 @@ heat_services:
dimensions: "{{ heat_engine_dimensions }}"
healthcheck: "{{ heat_engine_healthcheck }}"
####################
# Config Validate
####################
heat_config_validation:
- generator: "/heat/config-generator.conf"
config: "/etc/heat/heat.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ heat_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ heat_config_validation }}"

@ -0,0 +1 @@
---

@ -0,0 +1 @@
---

@ -84,6 +84,12 @@ ironic_services:
volumes: "{{ ironic_dnsmasq_default_volumes + ironic_dnsmasq_extra_volumes }}"
dimensions: "{{ ironic_dnsmasq_dimensions }}"
####################
# Config Validate
####################
ironic_config_validation:
- generator: "/ironic/tools/config/ironic-config-generator.conf"
config: "/etc/ironic/ironic.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ ironic_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ ironic_config_validation }}"

@ -0,0 +1 @@
---

@ -0,0 +1 @@
---

@ -61,6 +61,13 @@ keystone_services:
dimensions: "{{ keystone_fernet_dimensions }}"
healthcheck: "{{ keystone_fernet_healthcheck }}"
####################
# Config Validate
####################
keystone_config_validation:
- generator: "/keystone/config-generator/keystone.conf"
config: "/etc/keystone/keystone.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ keystone_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ keystone_config_validation }}"

@ -20,6 +20,12 @@ kuryr_services:
dimensions: "{{ kuryr_dimensions }}"
healthcheck: "{{ kuryr_healthcheck }}"
####################
# Config Validate
####################
kuryr_config_validation:
- generator: "/kuryr/etc/kuryr-config-generator.conf"
config: "/etc/kuryr/kuryr.conf"
####################
# Docker

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ kuryr_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ kuryr_config_validation }}"

@ -31,6 +31,12 @@ magnum_services:
dimensions: "{{ magnum_conductor_dimensions }}"
healthcheck: "{{ magnum_conductor_healthcheck }}"
####################
# Config Validate
####################
magnum_config_validation:
- generator: "/magnum/etc/magnum/magnum-config-generator.conf"
config: "/etc/magnum/magnum.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ magnum_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ magnum_config_validation }}"

@ -46,6 +46,12 @@ manila_services:
dimensions: "{{ manila_data_dimensions }}"
healthcheck: "{{ manila_data_healthcheck }}"
####################
# Config Validate
####################
manila_config_validation:
- generator: "/manila/etc/oslo-config-generator/manila.conf"
config: "/etc/manila/manila.conf"
#####################
## Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ manila_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ manila_config_validation }}"

@ -0,0 +1 @@
---

@ -42,6 +42,12 @@ masakari_services:
volumes: "{{ masakari_hostmonitor_default_volumes + masakari_hostmonitor_extra_volumes }}"
dimensions: "{{ masakari_hostmonitor_dimensions }}"
####################
# Config Validate
####################
masakari_config_validation:
- generator: "/masakari/etc/masakari/masakari-config-generator.conf"
config: "/etc/masakari/masakari.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ masakari_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ masakari_config_validation }}"

@ -0,0 +1 @@
---

@ -44,6 +44,12 @@ mistral_services:
dimensions: "{{ mistral_executor_dimensions }}"
healthcheck: "{{ mistral_executor_healthcheck }}"
####################
# Config Validate
####################
mistral_config_validation:
- generator: "/mistral/tools/config/config-generator.mistral.conf"
config: "/etc/mistral/mistral.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ mistral_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ mistral_config_validation }}"

@ -26,6 +26,12 @@ murano_services:
volumes: "{{ murano_engine_default_volumes + murano_engine_extra_volumes }}"
dimensions: "{{ murano_engine_dimensions }}"
####################
# Config Validate
####################
murano_config_validation:
- generator: "/murano/etc/oslo-config-generator/murano.conf"
config: "/etc/murano/murano.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ murano_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ murano_config_validation }}"

@ -198,6 +198,33 @@ neutron_services:
listen_port: "{{ neutron_server_listen_port }}"
tls_backend: "yes"
####################
# Config Validate
####################
neutron_config_validation:
- generator: "/neutron/etc/oslo-config-generator/neutron.conf"
config: "/etc/neutron/neutron.conf"
- generator: "/neutron/etc/oslo-config-generator/neutron.conf"
config: "/etc/neutron/neutron_vpnaas.conf"
- generator: "/neutron/etc/oslo-config-generator/ml2_conf.ini"
config: "/etc/neutron/plugins/ml2/ml2_conf.ini"
- generator: "/neutron/etc/oslo-config-generator/openvswitch_agent.ini"
config: "/etc/neutron/plugins/ml2/openvswitch_agent.ini"
- generator: "/neutron/etc/oslo-config-generator/metering_agent.ini"
config: "/etc/neutron/metering_agent.ini"
- generator: "/neutron/etc/oslo-config-generator/neutron_ovn_metadata_agent.ini"
config: "/etc/neutron/neutron_ovn_metadata_agent.ini"
- generator: "/neutron/etc/oslo-config-generator/metadata_agent.ini"
config: "/etc/neutron/metadata_agent.ini"
- generator: "/neutron/etc/oslo-config-generator/sriov_agent.ini"
config: "/etc/neutron/plugins/ml2/sriov_agent.ini"
- generator: "/neutron/etc/oslo-config-generator/l3_agent.ini"
config: "/etc/neutron/l3_agent.ini"
- generator: "/neutron/etc/oslo-config-generator/dhcp_agent.ini"
config: "/etc/neutron/dhcp_agent.ini"
- generator: "/neutron/etc/oslo-config-generator/linuxbridge_agent.ini"
config: "/etc/neutron/plugins/ml2/linuxbridge_agent.ini"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ neutron_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ neutron_config_validation }}"

@ -71,6 +71,13 @@ nova_cell_services:
dimensions: "{{ nova_compute_ironic_dimensions }}"
healthcheck: "{{ nova_compute_ironic_healthcheck }}"
####################
# Config Validate
####################
nova_cell_config_validation:
- generator: "/nova/etc/nova/nova-config-generator.conf"
config: "/etc/nova/nova.conf"
####################
# Ceph options
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ nova_cell_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ nova_cell_config_validation }}"

@ -55,6 +55,13 @@ nova_services:
dimensions: "{{ nova_super_conductor_dimensions }}"
healthcheck: "{{ nova_super_conductor_healthcheck }}"
####################
# Config Validate
####################
nova_config_validation:
- generator: "/nova/etc/nova/nova-config-generator.conf"
config: "/etc/nova/nova.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ nova_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ nova_config_validation }}"

@ -62,6 +62,12 @@ octavia_required_roles:
- load-balancer_admin
- load-balancer_quota_admin
####################
# Config Validate
####################
octavia_config_validation:
- generator: "/octavia/etc/config/octavia-config-generator.conf"
config: "/etc/octavia/octavia.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ octavia_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ octavia_config_validation }}"

@ -0,0 +1 @@
---

@ -0,0 +1 @@
---

@ -24,6 +24,13 @@ placement_services:
listen_port: "{{ placement_api_listen_port }}"
tls_backend: "{{ placement_enable_tls_backend }}"
####################
# Config Validate
####################
placement_config_validation:
- generator: "/placement/etc/placement/config-generator.conf"
config: "/etc/placement/placement.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ placement_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ placement_config_validation }}"

@ -0,0 +1 @@
---

@ -0,0 +1 @@
---

@ -29,6 +29,12 @@ sahara_services:
dimensions: "{{ sahara_engine_dimensions }}"
healthcheck: "{{ sahara_engine_healthcheck }}"
####################
# Config Validate
####################
sahara_config_validation:
- generator: "/sahara/tools/config/config-generator.sahara.conf"
config: "/etc/sahara/sahara.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ sahara_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ sahara_config_validation }}"

@ -46,6 +46,13 @@ senlin_services:
dimensions: "{{ senlin_health_manager_dimensions }}"
healthcheck: "{{ senlin_health_manager_healthcheck }}"
####################
# Config Validate
####################
senlin_config_validation:
- generator: "/senlin/tools/config-generator.conf"
config: "/etc/senlin/senlin.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ senlin_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ senlin_config_validation }}"

@ -0,0 +1,6 @@
---
# Common role for config-validates.
# Dict of services.
service_config_validate_output_dir: "/var/log/kolla/config-validate"
service_config_validate_services: {}

@ -0,0 +1,13 @@
---
- name: "{{ project_name }} | Validate configurations for each service"
vars:
service_name: "{{ outer_item.key }}"
service: "{{ outer_item.value }}"
output_dir: "{{ service_config_validate_output_dir }}/{{ inventory_hostname }}/{{ project_name }}/{{ service_name }}"
include_tasks: validate.yml
loop: "{{ query('dict', service_config_validate_services | select_services_enabled_and_mapped_to_host) }}"
loop_control:
label: "{{ service_name }}"
loop_var: outer_item
when:
- service_config_validation is defined

@ -0,0 +1,49 @@
---
- name: "{{ project_name }} : {{ service.container_name }} | Get info on container"
become: True
kolla_container_facts:
container_engine: "{{ kolla_container_engine }}"
name:
- "{{ service.container_name }}"
register: container_info
- name: "{{ project_name }} : {{ service.container_name }} | Validate configurations"
become: True
command: >
{{ kolla_container_engine }} exec {{ service.container_name }}
bash -c "[[ -f {{ inner_item['config'] }} ]] && oslo-config-validator --config-file {{ inner_item['generator'] }} --input-file {{ inner_item['config'] }}"
when:
- container_info._containers | length > 0
register: result
failed_when: result.rc not in [0, 1] # rc 1 is expected when errors are found in the config file, or when the config file doesn't exist
with_items: "{{ service_config_validation }}"
loop_control:
label: "{{ inner_item['config'] | basename }}"
loop_var: inner_item
changed_when: False
- name: "{{ project_name }} : {{ service.container_name }} | Ensure log directory exists"
become: True
file:
path: "{{ output_dir }}"
state: directory
when:
- result.results | map(attribute='rc', default=0) | select('equalto', 1) | list | length > 0
- result.results | map(attribute='stderr', default="") | select('ne', "") | list | length > 0
delegate_to: localhost
- name: "{{ project_name }} : {{ service.container_name }} | Log configuration errors"
become: True
copy:
content: "{{ inner_item.stderr }}"
dest: "{{ output_dir }}/{{ inner_item.inner_item.config | basename }}.err"
when:
- container_info._containers | length > 0
- inner_item.rc is defined
- inner_item.rc == 1
- inner_item.stderr != ""
loop: "{{ result.results }}"
loop_control:
label: "{{ inner_item.inner_item.config | basename }}"
loop_var: inner_item
delegate_to: localhost

@ -0,0 +1 @@
---

@ -58,6 +58,13 @@ solum_services:
dimensions: "{{ solum_conductor_dimensions }}"
healthcheck: "{{ solum_conductor_healthcheck }}"
####################
# Config Validate
####################
solum_config_validation:
- generator: "/solum/etc/solum/config-generator.conf"
config: "/etc/solum/solum.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ solum_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ solum_config_validation }}"

@ -0,0 +1 @@
---

@ -0,0 +1 @@
---

@ -32,6 +32,13 @@ tacker_services:
dimensions: "{{ tacker_conductor_dimensions }}"
healthcheck: "{{ tacker_conductor_healthcheck }}"
####################
# Config Validate
####################
tacker_config_validation:
- generator: "/tacker/etc/config-generator.conf"
config: "/etc/tacker/tacker.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ tacker_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ tacker_config_validation }}"

@ -0,0 +1 @@
---

@ -36,6 +36,12 @@ trove_services:
dimensions: "{{ trove_taskmanager_dimensions }}"
healthcheck: "{{ trove_taskmanager_healthcheck }}"
####################
# Config Validate
####################
trove_config_validation:
- generator: "/trove/tools/trove-config-generator.conf"
config: "/etc/trove/trove.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ trove_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ trove_config_validation }}"

@ -27,6 +27,13 @@ venus_services:
volumes: "{{ venus_manager_default_volumes + venus_manager_extra_volumes }}"
dimensions: "{{ venus_manager_dimensions }}"
####################
# Config Validate
####################
venus_config_validation:
- generator: "/venus/tools/config/venus-config-generator.conf"
config: "/etc/venus/venus.conf"
####################
# Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ venus_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ venus_config_validation }}"

@ -52,6 +52,13 @@ vitrage_services:
dimensions: "{{ vitrage_persistor_dimensions }}"
healthcheck: "{{ vitrage_persistor_healthcheck }}"
####################
# Config Validate
####################
vitrage_config_validation:
- generator: "/vitrage/etc/vitrage/vitrage-config-generator.conf"
config: "/etc/vitrage/vitrage.conf"
####################
## Database
#####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ vitrage_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ vitrage_config_validation }}"

@ -36,6 +36,12 @@ watcher_services:
dimensions: "{{ watcher_engine_dimensions }}"
healthcheck: "{{ watcher_engine_healthcheck }}"
####################
# Config Validate
####################
watcher_config_validation:
- generator: "/watcher/etc/watcher/oslo-config-generator/watcher.conf"
config: "/etc/watcher/watcher.conf"
####################
# Database

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ watcher_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ watcher_config_validation }}"

@ -0,0 +1 @@
---

@ -57,6 +57,13 @@ zun_services:
dimensions: "{{ zun_cni_daemon_dimensions }}"
healthcheck: "{{ zun_cni_daemon_healthcheck }}"
####################
# Config Validate
####################
zun_config_validation:
- generator: "/zun/etc/zun/zun-config-generator.conf"
config: "/etc/zun/zun.conf"
####################
## Database
####################

@ -0,0 +1,7 @@
---
- import_role:
name: service-config-validate
vars:
service_config_validate_services: "{{ zun_services }}"
service_name: "{{ project_name }}"
service_config_validation: "{{ zun_config_validation }}"

@ -0,0 +1,7 @@
---
features:
- |
Adds the command ``kolla-ansible validate-config``. This runs
``oslo-config-validator`` against the configurgation files present in the
deployed OpenStack services. By default, results are saved to
``/var/log/kolla/config-validate``

Some files were not shown because too many files have changed in this diff Show More