diff --git a/ansible/roles/cloudkitty/defaults/main.yml b/ansible/roles/cloudkitty/defaults/main.yml index e828edf9d8e05256e0ef17f102be47cf85e2779f..976e592382787eaf9ef9556fa6ecdaf9526e6354 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 cb04b3b814a1673c8a4ac533b97b2372799dd729..d597780a6ad30a0fd9f8a1ca5ead049357afb9eb 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 b74338d01d011c472c8fc76eb75930e6ce24f9b3..df5f79aa35b30675b6d0e2b60ad97344900c82ff 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 0000000000000000000000000000000000000000..3ee3b554ae8d11fe1610773e75972a66fb0dbcdb --- /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``.