diff --git a/ansible/group_vars/all/kolla b/ansible/group_vars/all/kolla index 60fcf9fbdfde8fb55a1ea863be375b0a3c25a777..77607b95e8a4972480b5f4b323513554a296e2a5 100644 --- a/ansible/group_vars/all/kolla +++ b/ansible/group_vars/all/kolla @@ -162,6 +162,8 @@ overcloud_container_image_regex_map: enabled: "{{ kolla_enable_magnum | bool }}" - regex: manila enabled: "{{ kolla_enable_manila | bool }}" + - regex: mariadb + enabled: "{{ kolla_enable_mariadb | bool }}" - regex: murano enabled: "{{ kolla_enable_murano | bool }}" - regex: mariadb @@ -319,6 +321,7 @@ kolla_enable_kafka: "no" kolla_enable_kibana: "{{ 'yes' if kolla_enable_central_logging | bool else 'no' }}" kolla_enable_magnum: "no" kolla_enable_manila: "no" +kolla_enable_mariadb: "yes" # Support for Monasca in Kolla is a work in progress. This currently relies # on an out-of-band Monasca installation. kolla_enable_monasca: "no" diff --git a/ansible/kolla-openstack.yml b/ansible/kolla-openstack.yml index 791f1bfe07b4a92560eb1f8f8997f6f7cb15a42e..0beda1af0a5b899fbfbef6286d90d653d25a84cc 100644 --- a/ansible/kolla-openstack.yml +++ b/ansible/kolla-openstack.yml @@ -110,6 +110,7 @@ - { name: ironic_dnsmasq, file: ironic/ironic-dnsmasq.conf } - { name: kafka, file: kafka.server.properties } - { name: magnum, file: magnum.conf } + - { name: mariadb, file: galera.cnf } - { name: murano, file: murano.conf } - { name: neutron, file: neutron.conf } - { name: neutron_ml2, file: neutron/ml2_conf.ini } @@ -213,6 +214,7 @@ kolla_extra_ironic_dnsmasq: "{{ kolla_extra_config.ironic_dnsmasq | default }}" kolla_extra_kafka: "{{ kolla_extra_config.kafka | default }}" kolla_extra_magnum: "{{ kolla_extra_config.magnum | default }}" + kolla_extra_mariadb: "{{ kolla_extra_config.mariadb | default }}" kolla_extra_murano: "{{ kolla_extra_config.murano | default }}" kolla_extra_neutron: "{{ kolla_extra_config.neutron | default }}" kolla_extra_neutron_ml2: "{{ kolla_extra_config.neutron_ml2 | default }}" diff --git a/ansible/roles/kolla-ansible/tests/test-defaults.yml b/ansible/roles/kolla-ansible/tests/test-defaults.yml index 9a430aca6c30c7733b79707b8bd36c5eea634986..8a66d4846656cd2b24440e03e8f20a5fa26304dd 100644 --- a/ansible/roles/kolla-ansible/tests/test-defaults.yml +++ b/ansible/roles/kolla-ansible/tests/test-defaults.yml @@ -117,6 +117,7 @@ - enable_ironic - enable_kafka - enable_influxdb + - enable_mariadb - enable_neutron - enable_nova - enable_zookeeper diff --git a/ansible/roles/kolla-ansible/tests/test-extras.yml b/ansible/roles/kolla-ansible/tests/test-extras.yml index 5b8240887ecf18e569e4010439878a456443abc7..be579663d04d934625802de2922a59c6b434e407 100644 --- a/ansible/roles/kolla-ansible/tests/test-extras.yml +++ b/ansible/roles/kolla-ansible/tests/test-extras.yml @@ -93,6 +93,7 @@ kolla_enable_manila: True kolla_enable_manila_backend_generic: True kolla_enable_manila_backend_hnas: True + kolla_enable_mariadb: True kolla_enable_mistral: True kolla_enable_monasca: True kolla_enable_mongodb: True @@ -227,6 +228,7 @@ #enable_manila: True #enable_manila_backend_generic: True #enable_manila_backend_hnas: True + #enable_mariadb: True #enable_mistral: True #enable_mongodb: True #enable_murano: True diff --git a/ansible/roles/kolla-ansible/vars/main.yml b/ansible/roles/kolla-ansible/vars/main.yml index 29dd9a65702fe1d4c64b2a186db8360acacda9a1..5ff8610d9acb57d96fafc8a4189b155822941da6 100644 --- a/ansible/roles/kolla-ansible/vars/main.yml +++ b/ansible/roles/kolla-ansible/vars/main.yml @@ -99,6 +99,7 @@ kolla_feature_flags: - manila_backend_hnas - manila_backend_cephfs_native - manila_backend_cephfs_nfs + - mariadb - mistral - mongodb - monasca diff --git a/ansible/roles/kolla-openstack/defaults/main.yml b/ansible/roles/kolla-openstack/defaults/main.yml index e50fa4ffc6ce85c4920f9721a63a94f39b778a37..677d3ed96bb4072b8e98e05010d627e0a814db25 100644 --- a/ansible/roles/kolla-openstack/defaults/main.yml +++ b/ansible/roles/kolla-openstack/defaults/main.yml @@ -273,6 +273,15 @@ kolla_enable_magnum: # Free form extra configuration to append to magnum.conf. kolla_extra_magnum: +############################################################################### +# MariaDB configuration. + +# Whether to enable MariaDB. +kolla_enable_mariadb: + +# Free form extra configuration to append to galera.cnf. +kolla_extra_mariadb: + ############################################################################### # Manila configuration. diff --git a/ansible/roles/kolla-openstack/molecule/default/tests/test_default.py b/ansible/roles/kolla-openstack/molecule/default/tests/test_default.py index f364acab50f4de2c67e50e55d61261e7f73250bd..c86d96e7d543ad3dcb6273696161e322ad2ec92d 100644 --- a/ansible/roles/kolla-openstack/molecule/default/tests/test_default.py +++ b/ansible/roles/kolla-openstack/molecule/default/tests/test_default.py @@ -49,6 +49,7 @@ def test_service_config_directory(host, path): 'kafka', 'magnum', 'manila', + 'mariadb', 'murano', 'neutron', 'nova', diff --git a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml index e15854a23e263e081f308abd8069819a358f03ad..c23867463c3a9913dc00576fa01ac3691ae88ea9 100644 --- a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml +++ b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml @@ -63,6 +63,10 @@ provisioner: [extra-magnum.conf] foo=bar kolla_enable_manila: true + kolla_enable_mariadb: true + kolla_extra_mariadb: | + [extra-galera.cnf] + foo=bar kolla_enable_murano: true kolla_enable_monasca: true kolla_extra_murano: | diff --git a/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py b/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py index 54c03d7d3837bbd590d05e5cc5a031cd49afebae..089e27edd703a284b4d131e39a0bf75143bac466 100644 --- a/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py +++ b/ansible/roles/kolla-openstack/molecule/enable-everything/tests/test_default.py @@ -42,6 +42,7 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( 'keystone', 'magnum', 'manila', + 'mariadb', 'murano', 'neutron', 'nova', @@ -58,6 +59,7 @@ def test_service_config_directory(host, path): ['ceph.conf', 'cinder.conf', 'designate.conf', + 'galera.cnf', 'glance.conf', 'grafana.ini', 'heat.conf', diff --git a/ansible/roles/kolla-openstack/tasks/config.yml b/ansible/roles/kolla-openstack/tasks/config.yml index 459ea6483e9f3def4ea268728352f732ff3bbbf9..f53c02498402bb75fa4513e94d29e16f724ef038 100644 --- a/ansible/roles/kolla-openstack/tasks/config.yml +++ b/ansible/roles/kolla-openstack/tasks/config.yml @@ -16,6 +16,7 @@ - { src: ceph.conf.j2, dest: ceph.conf, enabled: "{{ kolla_enable_ceph }}" } - { src: cinder.conf.j2, dest: cinder.conf, enabled: "{{ kolla_enable_cinder }}" } - { src: designate.conf.j2, dest: designate.conf, enabled: "{{ kolla_enable_designate }}" } + - { src: galera.cnf.j2, dest: galera.cnf, enabled: "{{ kolla_enable_mariadb }}" } - { src: glance.conf.j2, dest: glance.conf, enabled: "{{ kolla_enable_glance }}" } - { src: grafana.ini.j2, dest: grafana.ini, enabled: "{{ kolla_enable_grafana }}" } - { src: heat.conf.j2, dest: heat.conf, enabled: "{{ kolla_enable_heat }}" } diff --git a/ansible/roles/kolla-openstack/templates/galera.cnf.j2 b/ansible/roles/kolla-openstack/templates/galera.cnf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..55122ebb04ca590d17cae9f39c547b0213b86ee7 --- /dev/null +++ b/ansible/roles/kolla-openstack/templates/galera.cnf.j2 @@ -0,0 +1,9 @@ +# {{ ansible_managed }} + +{% if kolla_extra_mariadb %} +####################### +# Extra configuration +####################### + +{{ kolla_extra_mariadb }} +{% endif %} diff --git a/ansible/roles/kolla-openstack/vars/main.yml b/ansible/roles/kolla-openstack/vars/main.yml index 0dcb634d54d950334202baec488b8c9becc8a440..c9bc44795747328ecc3725d126084da5a1d3ffa7 100644 --- a/ansible/roles/kolla-openstack/vars/main.yml +++ b/ansible/roles/kolla-openstack/vars/main.yml @@ -90,6 +90,11 @@ kolla_openstack_custom_config: 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 }}" # Murano. - src: "{{ kolla_extra_config_path }}/murano" dest: "{{ kolla_node_custom_config_path }}/murano" diff --git a/releasenotes/notes/add-support-for-configuring-mariadb-646badcc9dd07019.yaml b/releasenotes/notes/add-support-for-configuring-mariadb-646badcc9dd07019.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2d5a097d60d6024279306da75785693bcf415139 --- /dev/null +++ b/releasenotes/notes/add-support-for-configuring-mariadb-646badcc9dd07019.yaml @@ -0,0 +1,4 @@ +--- +features: + - Add support for configuring MariaDB to support customising the Kolla + deployment, or using an external DB.