From 3058b5bcd7eb4bcb9632fa0ec96ff7aebfd1922c Mon Sep 17 00:00:00 2001 From: Pierre Riteau <pierre@stackhpc.com> Date: Thu, 7 Jul 2022 21:45:38 +0200 Subject: [PATCH] Support configuring the CloudKitty fetcher Change-Id: I6d9ee98912120b9ece60ee22c7b0ad71dab8ed30 --- ansible/roles/cloudkitty/defaults/main.yml | 7 +++++++ .../roles/cloudkitty/templates/cloudkitty.conf.j2 | 15 ++++++++++----- doc/source/reference/rating/cloudkitty-guide.rst | 11 +++++++++++ .../cloudkitty-fetcher-062e109d909449b0.yaml | 5 +++++ 4 files changed, 33 insertions(+), 5 deletions(-) create mode 100644 releasenotes/notes/cloudkitty-fetcher-062e109d909449b0.yaml diff --git a/ansible/roles/cloudkitty/defaults/main.yml b/ansible/roles/cloudkitty/defaults/main.yml index e828edf9d..976e59238 100644 --- a/ansible/roles/cloudkitty/defaults/main.yml +++ b/ansible/roles/cloudkitty/defaults/main.yml @@ -174,6 +174,13 @@ cloudkitty_prometheus_url: "{{ internal_protocol }}://{{ kolla_internal_fqdn | p # This means, HTTPS connections without validating the certificate used by prometheus. cloudkitty_prometheus_insecure_connections: false +#################### +# Fetcher +#################### +# Valid options are 'keystone', 'source', 'gnocchi', 'monasca' or 'prometheus'. +# The default value is 'keystone', which matches the default in CloudKitty. +cloudkitty_fetcher_backend: "keystone" + #################### # Keystone #################### diff --git a/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 b/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 index cb04b3b81..d597780a6 100644 --- a/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 +++ b/ansible/roles/cloudkitty/templates/cloudkitty.conf.j2 @@ -56,11 +56,6 @@ collector = {{ cloudkitty_collector_backend }} metrics_conf = /etc/cloudkitty/{{ cloudkitty_custom_metrics_yaml_file }} {% endif %} -[fetcher_keystone] -keystone_version = 3 -auth_section = keystone_authtoken -region_name = {{ openstack_region_name }} - {% if cloudkitty_collector_backend == "gnocchi" %} [collector_gnocchi] auth_section = keystone_authtoken @@ -84,6 +79,16 @@ cafile = {{ cloudkitty_prometheus_cafile }} insecure = {{ cloudkitty_prometheus_insecure_connections }} {% endif %} +[fetcher] +backend = {{ cloudkitty_fetcher_backend }} + +{% if cloudkitty_fetcher_backend == "keystone" %} +[fetcher_keystone] +keystone_version = 3 +auth_section = keystone_authtoken +region_name = {{ openstack_region_name }} +{% endif %} + [api] host_ip = {{ api_interface_address }} port = {{ cloudkitty_api_port }} diff --git a/doc/source/reference/rating/cloudkitty-guide.rst b/doc/source/reference/rating/cloudkitty-guide.rst index b74338d01..df5f79aa3 100644 --- a/doc/source/reference/rating/cloudkitty-guide.rst +++ b/doc/source/reference/rating/cloudkitty-guide.rst @@ -51,6 +51,17 @@ Alternatively, to use the Monasca collector backend: cloudkitty_collector_backend: monasca +CloudKitty Fetcher Backend +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +CloudKitty natively supports multiple fetcher backends. + +By default Kolla Ansible uses the ``keystone`` backend. This can be changed +using the ``cloudkitty_fetcher_backend`` option. + +You will need to provide extra configuration for non-default fetchers in +``/etc/kolla/config/cloudkitty.conf``. + Cloudkitty Storage Backend ~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/releasenotes/notes/cloudkitty-fetcher-062e109d909449b0.yaml b/releasenotes/notes/cloudkitty-fetcher-062e109d909449b0.yaml new file mode 100644 index 000000000..3ee3b554a --- /dev/null +++ b/releasenotes/notes/cloudkitty-fetcher-062e109d909449b0.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds support for configuring the CloudKitty fetcher using + ``cloudkitty_fetcher_backend``. -- GitLab