From 4667fd4e549d5d46684fef6aea92cef8da702759 Mon Sep 17 00:00:00 2001 From: Pierre Riteau <pierre@stackhpc.com> Date: Mon, 17 Jun 2019 18:19:08 +0100 Subject: [PATCH] Add support for overriding OpenStack configuration globally This commit allows Kayobe to generate a global.conf file for use by Kolla Ansible to override configuration across all OpenStack services. Change-Id: I6d144a945e1cde06fa9fdd03c30102458c0c9f8d Story: 2005904 Task: 34153 --- ansible/kolla-openstack.yml | 2 ++ ansible/roles/kolla-openstack/defaults/main.yml | 6 ++++++ .../molecule/enable-everything/molecule.yml | 2 ++ ansible/roles/kolla-openstack/tasks/config.yml | 1 + ansible/roles/kolla-openstack/templates/global.conf.j2 | 9 +++++++++ doc/source/configuration/kolla-ansible.rst | 1 + .../add-support-for-global-conf-411316a7250611b4.yaml | 6 ++++++ 7 files changed, 27 insertions(+) create mode 100644 ansible/roles/kolla-openstack/templates/global.conf.j2 create mode 100644 releasenotes/notes/add-support-for-global-conf-411316a7250611b4.yaml diff --git a/ansible/kolla-openstack.yml b/ansible/kolla-openstack.yml index 220896dc..ebe33441 100644 --- a/ansible/kolla-openstack.yml +++ b/ansible/kolla-openstack.yml @@ -107,6 +107,7 @@ - { name: cinder, file: cinder.conf } - { name: designate, file: designate.conf } - { name: glance, file: glance.conf } + - { name: global, file: global.conf } - { name: gnocchi, file: gnocchi.conf } - { name: grafana, file: grafana.ini } - { name: heat, file: heat.conf } @@ -214,6 +215,7 @@ kolla_extra_cinder: "{{ kolla_extra_config.cinder | default }}" kolla_extra_designate: "{{ kolla_extra_config.designate | default }}" kolla_extra_glance: "{{ kolla_extra_config.glance | default }}" + kolla_extra_global: "{{ kolla_extra_config.global | default }}" kolla_extra_gnocchi: "{{ kolla_extra_config.gnocchi | default }}" kolla_extra_grafana: "{{ kolla_extra_config.grafana | default }}" kolla_extra_heat: "{{ kolla_extra_config.heat | default }}" diff --git a/ansible/roles/kolla-openstack/defaults/main.yml b/ansible/roles/kolla-openstack/defaults/main.yml index e1bedebc..c7ccc410 100644 --- a/ansible/roles/kolla-openstack/defaults/main.yml +++ b/ansible/roles/kolla-openstack/defaults/main.yml @@ -5,6 +5,12 @@ kolla_extra_config_path: # Directory where Kolla custom configuration files will be installed. kolla_node_custom_config_path: /etc/kolla/config +############################################################################### +# Global configuration. + +# Free form extra configuration to append to global.conf. +kolla_extra_global: + ############################################################################### # Barbican configuration. diff --git a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml index bcf3bb6a..cc057943 100644 --- a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml +++ b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml @@ -34,6 +34,8 @@ provisioner: kolla_extra_glance: | [extra-glance.conf] foo=bar + kolla_extra_global: | + [extra-global.conf] kolla_enable_gnocchi: true kolla_extra_gnocchi: | [extra-gnocchi.conf] diff --git a/ansible/roles/kolla-openstack/tasks/config.yml b/ansible/roles/kolla-openstack/tasks/config.yml index 1396fa34..2e5d9e29 100644 --- a/ansible/roles/kolla-openstack/tasks/config.yml +++ b/ansible/roles/kolla-openstack/tasks/config.yml @@ -19,6 +19,7 @@ - { 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: global.conf.j2, dest: global.conf, enabled: true } - { src: gnocchi.conf.j2, dest: gnocchi.conf, enabled: "{{ kolla_enable_gnocchi }}" } - { 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/global.conf.j2 b/ansible/roles/kolla-openstack/templates/global.conf.j2 new file mode 100644 index 00000000..5b27f362 --- /dev/null +++ b/ansible/roles/kolla-openstack/templates/global.conf.j2 @@ -0,0 +1,9 @@ +# {{ ansible_managed }} + +{% if kolla_extra_global %} +####################### +# Extra configuration +####################### + +{{ kolla_extra_global }} +{% endif %} diff --git a/doc/source/configuration/kolla-ansible.rst b/doc/source/configuration/kolla-ansible.rst index 35ac2bda..6c5cc15a 100644 --- a/doc/source/configuration/kolla-ansible.rst +++ b/doc/source/configuration/kolla-ansible.rst @@ -164,6 +164,7 @@ which files are supported. ``fluentd/output`` Fluentd output configuration. ``glance.conf`` Glance configuration. ``glance/*`` Extended Glance configuration. + ``global.conf`` Global configuration for all OpenStack services. ``gnocchi.conf`` Gnocchi configuration. ``gnocchi/*`` Extended Gnocchi configuration. ``grafana/*`` Extended Grafana configuration. diff --git a/releasenotes/notes/add-support-for-global-conf-411316a7250611b4.yaml b/releasenotes/notes/add-support-for-global-conf-411316a7250611b4.yaml new file mode 100644 index 00000000..384b78d0 --- /dev/null +++ b/releasenotes/notes/add-support-for-global-conf-411316a7250611b4.yaml @@ -0,0 +1,6 @@ +--- +features: + - Adds support for overriding configuration globally for all OpenStack + services by generating a ``global.conf`` file for use by Kolla Ansible. + See `story 2005904 <https://storyboard.openstack.org/#!/story/2005904>`__ + for details. -- GitLab