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:
parent
113242c864
commit
6c2aace8d6
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
|
||||
|
7
ansible/roles/aodh/tasks/config_validate.yml
Normal file
7
ansible/roles/aodh/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/barbican/tasks/config_validate.yml
Normal file
7
ansible/roles/barbican/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/bifrost/tasks/config_validate.yml
Normal file
1
ansible/roles/bifrost/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/blazar/tasks/config_validate.yml
Normal file
7
ansible/roles/blazar/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/ceilometer/tasks/config_validate.yml
Normal file
7
ansible/roles/ceilometer/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/ceph-rgw/tasks/config_validate.yml
Normal file
1
ansible/roles/ceph-rgw/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/cinder/tasks/config_validate.yml
Normal file
7
ansible/roles/cinder/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/cloudkitty/tasks/config_validate.yml
Normal file
7
ansible/roles/cloudkitty/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/collectd/tasks/config_validate.yml
Normal file
1
ansible/roles/collectd/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/common/tasks/config_validate.yml
Normal file
1
ansible/roles/common/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/cyborg/tasks/config_validate.yml
Normal file
7
ansible/roles/cyborg/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/designate/tasks/config_validate.yml
Normal file
7
ansible/roles/designate/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/etcd/tasks/config_validate.yml
Normal file
1
ansible/roles/etcd/tasks/config_validate.yml
Normal file
@ -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
|
||||
#####################
|
||||
|
7
ansible/roles/freezer/tasks/config_validate.yml
Normal file
7
ansible/roles/freezer/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/glance/tasks/config_validate.yml
Normal file
7
ansible/roles/glance/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/gnocchi/tasks/config_validate.yml
Normal file
7
ansible/roles/gnocchi/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/grafana/tasks/config_validate.yml
Normal file
1
ansible/roles/grafana/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/hacluster/tasks/config_validate.yml
Normal file
1
ansible/roles/hacluster/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/heat/tasks/config_validate.yml
Normal file
7
ansible/roles/heat/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/horizon/tasks/config_validate.yml
Normal file
1
ansible/roles/horizon/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/influxdb/tasks/config_validate.yml
Normal file
1
ansible/roles/influxdb/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/ironic/tasks/config_validate.yml
Normal file
7
ansible/roles/ironic/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/iscsi/tasks/config_validate.yml
Normal file
1
ansible/roles/iscsi/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/kafka/tasks/config_validate.yml
Normal file
1
ansible/roles/kafka/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/keystone/tasks/config_validate.yml
Normal file
7
ansible/roles/keystone/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/kuryr/tasks/config_validate.yml
Normal file
7
ansible/roles/kuryr/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/loadbalancer/tasks/config_validate.yml
Normal file
1
ansible/roles/loadbalancer/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
@ -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
|
||||
|
7
ansible/roles/magnum/tasks/config_validate.yml
Normal file
7
ansible/roles/magnum/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/manila/tasks/config_validate.yml
Normal file
7
ansible/roles/manila/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/mariadb/tasks/config_validate.yml
Normal file
1
ansible/roles/mariadb/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/masakari/tasks/config_validate.yml
Normal file
7
ansible/roles/masakari/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/memcached/tasks/config_validate.yml
Normal file
1
ansible/roles/memcached/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/mistral/tasks/config_validate.yml
Normal file
7
ansible/roles/mistral/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/multipathd/tasks/config_validate.yml
Normal file
1
ansible/roles/multipathd/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
@ -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
|
||||
|
7
ansible/roles/murano/tasks/config_validate.yml
Normal file
7
ansible/roles/murano/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/neutron/tasks/config_validate.yml
Normal file
7
ansible/roles/neutron/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/nova-cell/tasks/config_validate.yml
Normal file
7
ansible/roles/nova-cell/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/nova/tasks/config_validate.yml
Normal file
7
ansible/roles/nova/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/octavia/tasks/config_validate.yml
Normal file
7
ansible/roles/octavia/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/opensearch/tasks/config_validate.yml
Normal file
1
ansible/roles/opensearch/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/openvswitch/tasks/config_validate.yml
Normal file
1
ansible/roles/openvswitch/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/ovn-controller/tasks/config_validate.yml
Normal file
1
ansible/roles/ovn-controller/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/ovn-db/tasks/config_validate.yml
Normal file
1
ansible/roles/ovn-db/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/ovs-dpdk/tasks/config_validate.yml
Normal file
1
ansible/roles/ovs-dpdk/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/placement/tasks/config_validate.yml
Normal file
7
ansible/roles/placement/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/prometheus/tasks/config_validate.yml
Normal file
1
ansible/roles/prometheus/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/rabbitmq/tasks/config_validate.yml
Normal file
1
ansible/roles/rabbitmq/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/redis/tasks/config_validate.yml
Normal file
1
ansible/roles/redis/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/sahara/tasks/config_validate.yml
Normal file
7
ansible/roles/sahara/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/senlin/tasks/config_validate.yml
Normal file
7
ansible/roles/senlin/tasks/config_validate.yml
Normal file
@ -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 }}"
|
6
ansible/roles/service-config-validate/defaults/main.yml
Normal file
6
ansible/roles/service-config-validate/defaults/main.yml
Normal file
@ -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: {}
|
13
ansible/roles/service-config-validate/tasks/main.yml
Normal file
13
ansible/roles/service-config-validate/tasks/main.yml
Normal file
@ -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
|
49
ansible/roles/service-config-validate/tasks/validate.yml
Normal file
49
ansible/roles/service-config-validate/tasks/validate.yml
Normal file
@ -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
|
1
ansible/roles/skydive/tasks/config_validate.yml
Normal file
1
ansible/roles/skydive/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/solum/tasks/config_validate.yml
Normal file
7
ansible/roles/solum/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/storm/tasks/config_validate.yml
Normal file
1
ansible/roles/storm/tasks/config_validate.yml
Normal file
@ -0,0 +1 @@
|
||||
---
|
1
ansible/roles/swift/tasks/config_validate.yml
Normal file
1
ansible/roles/swift/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/tacker/tasks/config_validate.yml
Normal file
7
ansible/roles/tacker/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/telegraf/tasks/config_validate.yml
Normal file
1
ansible/roles/telegraf/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/trove/tasks/config_validate.yml
Normal file
7
ansible/roles/trove/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/venus/tasks/config_validate.yml
Normal file
7
ansible/roles/venus/tasks/config_validate.yml
Normal file
@ -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
|
||||
#####################
|
||||
|
7
ansible/roles/vitrage/tasks/config_validate.yml
Normal file
7
ansible/roles/vitrage/tasks/config_validate.yml
Normal file
@ -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
|
||||
|
7
ansible/roles/watcher/tasks/config_validate.yml
Normal file
7
ansible/roles/watcher/tasks/config_validate.yml
Normal file
@ -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 }}"
|
1
ansible/roles/zookeeper/tasks/config_validate.yml
Normal file
1
ansible/roles/zookeeper/tasks/config_validate.yml
Normal file
@ -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
|
||||
####################
|
||||
|
7
ansible/roles/zun/tasks/config_validate.yml
Normal file
7
ansible/roles/zun/tasks/config_validate.yml
Normal file
@ -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
Loading…
x
Reference in New Issue
Block a user