)]}'
{"ansible/roles/cloudkitty/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86490546a30769c933d9f197874209e11ce76465","unresolved":false,"context_lines":[{"line_number":157,"context_line":"# Set gnocchi service endpoint."},{"line_number":158,"context_line":"# cloudkitty_gnocchi_endpoint: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ gnocchi_api_port }}\""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"# Set Gnocchi interface used for keystone URL discovery."},{"line_number":161,"context_line":"# cloudkitty_gnocchi_interface: \"internal\""},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"# Set Monasca interface used for keystone URL discovery."},{"line_number":164,"context_line":"# cloudkitty_monasca_interface: \"internal\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# Set prometheus collector URL."},{"line_number":167,"context_line":"# cloudkitty_prometheus_url: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9f560f44_cdaa8d82","line":164,"range":{"start_line":160,"start_character":0,"end_line":164,"end_character":42},"updated":"2020-09-21 16:24:11.000000000","message":"These could just be defaults.","commit_id":"922a6bf2e87dca2e48190d3c6c92ed59fcf4a027"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86490546a30769c933d9f197874209e11ce76465","unresolved":false,"context_lines":[{"line_number":164,"context_line":"# cloudkitty_monasca_interface: \"internal\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# Set prometheus collector URL."},{"line_number":167,"context_line":"# cloudkitty_prometheus_url: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":168,"context_line":"# cloudkitty_prometheus_user: \"prometheus\""},{"line_number":169,"context_line":"# cloudkitty_prometheus_password: \"\""},{"line_number":170,"context_line":"# cloudkitty_prometheus_insecure_connections: \"false\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9f560f44_8da415bb","line":167,"updated":"2020-09-21 16:24:11.000000000","message":"Given that we know this, why make the user set it?","commit_id":"922a6bf2e87dca2e48190d3c6c92ed59fcf4a027"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"45cfc38ca982a76120fcf7768131d02a52188ed7","unresolved":false,"context_lines":[{"line_number":164,"context_line":"# cloudkitty_monasca_interface: \"internal\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# Set prometheus collector URL."},{"line_number":167,"context_line":"# cloudkitty_prometheus_url: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":168,"context_line":"# cloudkitty_prometheus_user: \"prometheus\""},{"line_number":169,"context_line":"# cloudkitty_prometheus_password: \"\""},{"line_number":170,"context_line":"# cloudkitty_prometheus_insecure_connections: \"false\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9f560f44_ba65c047","line":167,"in_reply_to":"9f560f44_8da415bb","updated":"2020-09-22 07:27:37.000000000","message":"Because I want to let the user be able to use an external Prometheus server. When you want to split appart your monitoring dedicated Prometheus instance from your billing/rating instance.","commit_id":"922a6bf2e87dca2e48190d3c6c92ed59fcf4a027"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9c8f2a2810cfed32419f7a3fbea233f060ed193d","unresolved":false,"context_lines":[{"line_number":127,"context_line":"# cloudkitty_elasticsearch_index_name: \"cloudkitty\""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"# Set the elasticsearch host URL."},{"line_number":130,"context_line":"cloudkitty_elasticsearch_url: \"{{ elasticsearch_address }}:{{ elasticsearch_port }}\""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"# Set the duration for which the ES Scroll contexts (in seconds) "},{"line_number":133,"context_line":"# should be kept alive."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_5fc2fa54","line":130,"range":{"start_line":130,"start_character":30,"end_line":130,"end_character":84},"updated":"2020-09-30 14:50:59.000000000","message":"Although the config option is called host, the default is a URL. What you have here is a host:port. Can you add {{ internal_protocol }}:// to make it a URL?","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"33a5d74bce1e7af6510e929ed798c44f2e528df2","unresolved":false,"context_lines":[{"line_number":127,"context_line":"# cloudkitty_elasticsearch_index_name: \"cloudkitty\""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"# Set the elasticsearch host URL."},{"line_number":130,"context_line":"cloudkitty_elasticsearch_url: \"{{ elasticsearch_address }}:{{ elasticsearch_port }}\""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"# Set the duration for which the ES Scroll contexts (in seconds) "},{"line_number":133,"context_line":"# should be kept alive."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_d2aba185","line":130,"range":{"start_line":130,"start_character":30,"end_line":130,"end_character":84},"in_reply_to":"9f560f44_5fc2fa54","updated":"2020-09-30 16:02:00.000000000","message":"OK, fixed.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9c8f2a2810cfed32419f7a3fbea233f060ed193d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"# Set the elasticsearch host URL."},{"line_number":130,"context_line":"cloudkitty_elasticsearch_url: \"{{ elasticsearch_address }}:{{ elasticsearch_port }}\""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"# Set the duration for which the ES Scroll contexts (in seconds) "},{"line_number":133,"context_line":"# should be kept alive."},{"line_number":134,"context_line":"# cloudkitty_elasticsearch_scroll_duration: 30"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":137,"context_line":"# cloudkitty_elasticsearch_cafile: \"/full/qualified/path/to/CAs/certificates\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_9fa132ac","line":134,"range":{"start_line":132,"start_character":0,"end_line":134,"end_character":46},"updated":"2020-09-30 14:50:59.000000000","message":"Not used","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"33a5d74bce1e7af6510e929ed798c44f2e528df2","unresolved":false,"context_lines":[{"line_number":129,"context_line":"# Set the elasticsearch host URL."},{"line_number":130,"context_line":"cloudkitty_elasticsearch_url: \"{{ elasticsearch_address }}:{{ elasticsearch_port }}\""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"# Set the duration for which the ES Scroll contexts (in seconds) "},{"line_number":133,"context_line":"# should be kept alive."},{"line_number":134,"context_line":"# cloudkitty_elasticsearch_scroll_duration: 30"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":137,"context_line":"# cloudkitty_elasticsearch_cafile: \"/full/qualified/path/to/CAs/certificates\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_729a956f","line":134,"range":{"start_line":132,"start_character":0,"end_line":134,"end_character":46},"in_reply_to":"9f560f44_9fa132ac","updated":"2020-09-30 16:02:00.000000000","message":"Removed as already the default from the service itself.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9c8f2a2810cfed32419f7a3fbea233f060ed193d","unresolved":false,"context_lines":[{"line_number":134,"context_line":"# cloudkitty_elasticsearch_scroll_duration: 30"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":137,"context_line":"# cloudkitty_elasticsearch_cafile: \"/full/qualified/path/to/CAs/certificates\""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"# Set to true to authorize insecure HTTPS connections to Elasticsearch."},{"line_number":140,"context_line":"# This means, HTTPS connections without validating the certificate used by elasticsearch"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_df844a0e","line":137,"range":{"start_line":137,"start_character":2,"end_line":137,"end_character":33},"updated":"2020-09-30 14:50:59.000000000","message":"It might be helpful to make the default value \u0027{{ openstack_cacert }}\u0027, which will work with our internal TLS.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"33a5d74bce1e7af6510e929ed798c44f2e528df2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"# cloudkitty_elasticsearch_scroll_duration: 30"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":137,"context_line":"# cloudkitty_elasticsearch_cafile: \"/full/qualified/path/to/CAs/certificates\""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"# Set to true to authorize insecure HTTPS connections to Elasticsearch."},{"line_number":140,"context_line":"# This means, HTTPS connections without validating the certificate used by elasticsearch"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_928ac917","line":137,"range":{"start_line":137,"start_character":2,"end_line":137,"end_character":33},"in_reply_to":"9f560f44_df844a0e","updated":"2020-09-30 16:02:00.000000000","message":"OK, fixed and fixed the influxdb old one too.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9c8f2a2810cfed32419f7a3fbea233f060ed193d","unresolved":false,"context_lines":[{"line_number":153,"context_line":"# Set prometheus collector URL."},{"line_number":154,"context_line":"cloudkitty_prometheus_url: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"cloudkitty_prometheus_insecure_connections: \"false\""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"####################"},{"line_number":159,"context_line":"# Keystone"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_5f703a41","line":156,"updated":"2020-09-30 14:50:59.000000000","message":"Prometheus cafile default missing. See note above about openstack_cacert.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"33a5d74bce1e7af6510e929ed798c44f2e528df2","unresolved":false,"context_lines":[{"line_number":153,"context_line":"# Set prometheus collector URL."},{"line_number":154,"context_line":"cloudkitty_prometheus_url: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"cloudkitty_prometheus_insecure_connections: \"false\""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"####################"},{"line_number":159,"context_line":"# Keystone"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9f560f44_f27fc514","line":156,"in_reply_to":"9f560f44_5f703a41","updated":"2020-09-30 16:02:00.000000000","message":"OK, fixed.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1af13ea9af1446a9a97763a5a9acba76cab3338a","unresolved":false,"context_lines":[{"line_number":115,"context_line":"# cloudkitty_influxdb_use_ssl: false"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":118,"context_line":"# cloudkitty_influxdb_cafile: \"{{ openstack_cacert }}\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# Set to true to authorize insecure HTTPS connections to InfluxDB."},{"line_number":121,"context_line":"# This means, HTTPS connections without validating the certificate used by InfluxDB"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_599b2d16","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":28},"updated":"2020-10-01 09:41:38.000000000","message":"This isn\u0027t really a default since it\u0027s commented out.","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"9ba806cbe91aa9a72ff7bb05964dce08eb743b9f","unresolved":false,"context_lines":[{"line_number":115,"context_line":"# cloudkitty_influxdb_use_ssl: false"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":118,"context_line":"# cloudkitty_influxdb_cafile: \"{{ openstack_cacert }}\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# Set to true to authorize insecure HTTPS connections to InfluxDB."},{"line_number":121,"context_line":"# This means, HTTPS connections without validating the certificate used by InfluxDB"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_e4e9b519","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":28},"in_reply_to":"9f560f44_11750901","updated":"2020-10-01 14:21:58.000000000","message":"ok, cool, I\u0027ll adapt the patch so. thanks.","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c39d91ad3da82f4b62f7b2bf833402ef2df4eeca","unresolved":false,"context_lines":[{"line_number":115,"context_line":"# cloudkitty_influxdb_use_ssl: false"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":118,"context_line":"# cloudkitty_influxdb_cafile: \"{{ openstack_cacert }}\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# Set to true to authorize insecure HTTPS connections to InfluxDB."},{"line_number":121,"context_line":"# This means, HTTPS connections without validating the certificate used by InfluxDB"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_11750901","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":28},"in_reply_to":"9f560f44_4e952032","updated":"2020-10-01 13:59:33.000000000","message":"no conditional required. If it\u0027s empty we just set it with an empty value","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"0108361d5faadf479726d64e64ab5960b0900257","unresolved":false,"context_lines":[{"line_number":115,"context_line":"# cloudkitty_influxdb_use_ssl: false"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":118,"context_line":"# cloudkitty_influxdb_cafile: \"{{ openstack_cacert }}\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# Set to true to authorize insecure HTTPS connections to InfluxDB."},{"line_number":121,"context_line":"# This means, HTTPS connections without validating the certificate used by InfluxDB"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_faa14faa","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":28},"in_reply_to":"9f560f44_599b2d16","updated":"2020-10-01 12:11:29.000000000","message":"should we activate it? If not, should we deactivate those I introduced?","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"f01841b1ff7218ba06c83d4de21890a6ee320770","unresolved":false,"context_lines":[{"line_number":115,"context_line":"# cloudkitty_influxdb_use_ssl: false"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"# Path of the CA certificate to trust for HTTPS connections."},{"line_number":118,"context_line":"# cloudkitty_influxdb_cafile: \"{{ openstack_cacert }}\""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"# Set to true to authorize insecure HTTPS connections to InfluxDB."},{"line_number":121,"context_line":"# This means, HTTPS connections without validating the certificate used by InfluxDB"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_4e952032","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":28},"in_reply_to":"9f560f44_faa14faa","updated":"2020-10-01 12:56:12.000000000","message":"openstack_cacert being empty by default, I\u0027ll rather change the conditional use for \"not empty\" instead of \"is defined\".","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1af13ea9af1446a9a97763a5a9acba76cab3338a","unresolved":false,"context_lines":[{"line_number":124,"context_line":"cloudkitty_influxdb_name: \"cloudkitty\""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"# Set the elasticsearch index name."},{"line_number":127,"context_line":"# cloudkitty_elasticsearch_index_name: \"cloudkitty\""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"# Set the elasticsearch host URL."},{"line_number":130,"context_line":"cloudkitty_elasticsearch_url: \"{{ internal_protocol }}://{{ elasticsearch_address }}:{{ elasticsearch_port }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_b9a4094d","line":127,"range":{"start_line":127,"start_character":0,"end_line":127,"end_character":51},"updated":"2020-10-01 09:41:38.000000000","message":"This needs to be uncommented since it is referenced unconditionally. Or just removed since it is using the default value.","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"0108361d5faadf479726d64e64ab5960b0900257","unresolved":false,"context_lines":[{"line_number":124,"context_line":"cloudkitty_influxdb_name: \"cloudkitty\""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"# Set the elasticsearch index name."},{"line_number":127,"context_line":"# cloudkitty_elasticsearch_index_name: \"cloudkitty\""},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"# Set the elasticsearch host URL."},{"line_number":130,"context_line":"cloudkitty_elasticsearch_url: \"{{ internal_protocol }}://{{ elasticsearch_address }}:{{ elasticsearch_port }}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_1a86c317","line":127,"range":{"start_line":127,"start_character":0,"end_line":127,"end_character":51},"in_reply_to":"9f560f44_b9a4094d","updated":"2020-10-01 12:11:29.000000000","message":"I\u0027ll uncomment it, I just forgotten it on my commit change, it can also be overriden on globals.yml if needed by users.","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ef50abc330147c7d7edc2fb8fdecf606381fc5fd","unresolved":true,"context_lines":[{"line_number":104,"context_line":"####################"},{"line_number":105,"context_line":"# Valid options are \u0027sqlalchemy\u0027 or \u0027influxdb\u0027. The default value is"},{"line_number":106,"context_line":"# \u0027influxdb\u0027, which matches the default in Cloudkitty since the Stein release."},{"line_number":107,"context_line":"# When the backend is \"influxdb\", we also enable Influxdb."},{"line_number":108,"context_line":"# Also, when using \u0027influxdb\u0027 as the backend, we trigger the configuration/use"},{"line_number":109,"context_line":"# of Cloudkitty storage backend version 2."},{"line_number":110,"context_line":"cloudkitty_storage_backend: \"influxdb\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"2ddac376_783970a5","side":"PARENT","line":107,"updated":"2021-01-05 10:34:38.000000000","message":"I think this line (removed) refers to this code:\n\nenable_influxdb: \"{{ enable_monasca | bool or (enable_cloudkitty | bool and cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027) }}\"\n\nWe should replace the comment and add similar for elastic.","commit_id":"ace3562f2e766799c34c8bda5cbacb21b88a7159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ef50abc330147c7d7edc2fb8fdecf606381fc5fd","unresolved":true,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"# Set to true to authorize insecure HTTPS connections to Prometheus."},{"line_number":156,"context_line":"# This means, HTTPS connections without validating the certificate used by prometheus."},{"line_number":157,"context_line":"# cloudkitty_prometheus_insecure_connections: false"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"####################"},{"line_number":160,"context_line":"# Keystone"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"567eb9c0_d807c873","line":157,"range":{"start_line":157,"start_character":2,"end_line":157,"end_character":44},"updated":"2021-01-05 10:34:38.000000000","message":"This one is commented out, others are not. It is unconditionally referenced in code, so please uncomment.","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"314afb8fab382dc090f62c2ec7c669052a677b8f","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"# Set to true to authorize insecure HTTPS connections to Prometheus."},{"line_number":156,"context_line":"# This means, HTTPS connections without validating the certificate used by prometheus."},{"line_number":157,"context_line":"# cloudkitty_prometheus_insecure_connections: false"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"####################"},{"line_number":160,"context_line":"# Keystone"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"8f5e02b9_17773a4e","line":157,"range":{"start_line":157,"start_character":2,"end_line":157,"end_character":44},"in_reply_to":"567eb9c0_d807c873","updated":"2021-02-01 16:48:56.000000000","message":"Ack","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"}],"ansible/roles/cloudkitty/tasks/bootstrap.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dffe20eecc74e07b5653cca6738ed9c44cfb4a1a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":46,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  - name: Creating Cloudkitty elastisearch index"},{"line_number":49,"context_line":"  become: true"},{"line_number":50,"context_line":"  kolla_toolbox:"},{"line_number":51,"context_line":"    module_name: uri"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7f6b1bfe_745f2441","line":48,"updated":"2020-10-15 13:14:57.000000000","message":"indentation","commit_id":"3bd85fb7a4d7c37b27403fb489a87576cef2ac8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dffe20eecc74e07b5653cca6738ed9c44cfb4a1a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":46,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  - name: Creating Cloudkitty elastisearch index"},{"line_number":49,"context_line":"  become: true"},{"line_number":50,"context_line":"  kolla_toolbox:"},{"line_number":51,"context_line":"    module_name: uri"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7f6b1bfe_545ca84a","line":48,"range":{"start_line":48,"start_character":30,"end_line":48,"end_character":42},"updated":"2020-10-15 13:14:57.000000000","message":"spelling","commit_id":"3bd85fb7a4d7c37b27403fb489a87576cef2ac8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dffe20eecc74e07b5653cca6738ed9c44cfb4a1a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        {}"},{"line_number":59,"context_line":"      body_format: json"},{"line_number":60,"context_line":"  run_once: True"},{"line_number":61,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":62,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027elastisearch\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- import_tasks: bootstrap_service.yml"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7f6b1bfe_ef619d3b","line":61,"updated":"2020-10-15 13:14:57.000000000","message":"Not idempotent - fails on the second run with a 400. I ended up with this:\n\n\n+- name: Checking if Cloudkitty elasticsearch index exists\n+  become: true\n+  kolla_toolbox:\n+    module_name: uri\n+    module_args:\n+      url: \"{{ cloudkitty_elasticsearch_url }}/{{ cloudkitty_elasticsearch_index_name }}\"\n+      status_code: 200, 404\n+  run_once: true\n+  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\"\n+  register: cloudkitty_index\n+  when: cloudkitty_storage_backend \u003d\u003d \u0027elasticsearch\u0027\n+\n+- name: Creating Cloudkitty elasticsearch index\n+  become: true\n+  kolla_toolbox:\n+    module_name: uri\n+    module_args:\n+      url: \"{{ cloudkitty_elasticsearch_url }}/{{ cloudkitty_elasticsearch_index_name }}\"\n+      method: PUT\n+      return_content: yes\n+      body: |\n+        {}\n+      body_format: json\n+  run_once: True\n+  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\"\n+  when:\n+    - cloudkitty_storage_backend \u003d\u003d \u0027elasticsearch\u0027\n+    - cloudkitty_index.get(\u0027status\u0027) !\u003d 200\n+","commit_id":"3bd85fb7a4d7c37b27403fb489a87576cef2ac8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dffe20eecc74e07b5653cca6738ed9c44cfb4a1a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      body_format: json"},{"line_number":60,"context_line":"  run_once: True"},{"line_number":61,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":62,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027elastisearch\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- import_tasks: bootstrap_service.yml"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7f6b1bfe_144b5084","line":62,"range":{"start_line":62,"start_character":39,"end_line":62,"end_character":51},"updated":"2020-10-15 13:14:57.000000000","message":"spelling","commit_id":"3bd85fb7a4d7c37b27403fb489a87576cef2ac8a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ef50abc330147c7d7edc2fb8fdecf606381fc5fd","unresolved":true,"context_lines":[{"line_number":45,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":46,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- name: Creating Cloudkitty elastisearch index"},{"line_number":49,"context_line":"  become: true"},{"line_number":50,"context_line":"  kolla_toolbox:"},{"line_number":51,"context_line":"    module_name: uri"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"47047077_55fffb94","line":48,"range":{"start_line":48,"start_character":28,"end_line":48,"end_character":40},"updated":"2021-01-05 10:34:38.000000000","message":"elasticsearch","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"314afb8fab382dc090f62c2ec7c669052a677b8f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":46,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- name: Creating Cloudkitty elastisearch index"},{"line_number":49,"context_line":"  become: true"},{"line_number":50,"context_line":"  kolla_toolbox:"},{"line_number":51,"context_line":"    module_name: uri"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"811eb15c_7b9b896c","line":48,"range":{"start_line":48,"start_character":28,"end_line":48,"end_character":40},"in_reply_to":"47047077_55fffb94","updated":"2021-02-01 16:48:56.000000000","message":"Ack","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ef50abc330147c7d7edc2fb8fdecf606381fc5fd","unresolved":true,"context_lines":[{"line_number":59,"context_line":"      body_format: json"},{"line_number":60,"context_line":"  run_once: True"},{"line_number":61,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":62,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027elastisearch\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- import_tasks: bootstrap_service.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"04eec99c_4c508ea5","line":62,"range":{"start_line":62,"start_character":39,"end_line":62,"end_character":51},"updated":"2021-01-05 10:34:38.000000000","message":"elasticsearch","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"314afb8fab382dc090f62c2ec7c669052a677b8f","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      body_format: json"},{"line_number":60,"context_line":"  run_once: True"},{"line_number":61,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":62,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027elastisearch\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- import_tasks: bootstrap_service.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"89eb7917_48bb0cba","line":62,"range":{"start_line":62,"start_character":39,"end_line":62,"end_character":51},"in_reply_to":"04eec99c_4c508ea5","updated":"2021-02-01 16:48:56.000000000","message":"Ack","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ef50abc330147c7d7edc2fb8fdecf606381fc5fd","unresolved":true,"context_lines":[{"line_number":60,"context_line":"  run_once: True"},{"line_number":61,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":62,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027elastisearch\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- import_tasks: bootstrap_service.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"5b700d24_fcba1647","line":63,"updated":"2021-01-05 10:34:38.000000000","message":"I ended up with the following code:\n\n- name: Checking if Cloudkitty elasticsearch index exists\n  become: true\n  kolla_toolbox:\n    module_name: uri \n    module_args:\n      url: \"{{ cloudkitty_elasticsearch_url }}/{{ cloudkitty_elasticsearch_index_name }}\"\n      status_code: 200, 404 \n  run_once: true\n  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\"\n  register: cloudkitty_index\n  when: cloudkitty_storage_backend \u003d\u003d \u0027elasticsearch\u0027\n\n- name: Creating Cloudkitty elasticsearch index\n  become: true\n  kolla_toolbox:\n    module_name: uri \n    module_args:\n      url: \"{{ cloudkitty_elasticsearch_url }}/{{ cloudkitty_elasticsearch_index_name }}\"\n      method: PUT \n      return_content: yes \n      body: |\n        {}\n      body_format: json\n  run_once: True\n  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\"\n  when:\n    - cloudkitty_storage_backend \u003d\u003d \u0027elasticsearch\u0027\n    - cloudkitty_index.get(\u0027status\u0027) !\u003d 200","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"314afb8fab382dc090f62c2ec7c669052a677b8f","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  run_once: True"},{"line_number":61,"context_line":"  delegate_to: \"{{ groups[\u0027cloudkitty-api\u0027][0] }}\""},{"line_number":62,"context_line":"  when: cloudkitty_storage_backend \u003d\u003d \u0027elastisearch\u0027"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"- import_tasks: bootstrap_service.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"24e91d82_4fa21228","line":63,"in_reply_to":"5b700d24_fcba1647","updated":"2021-02-01 16:48:56.000000000","message":"Ack","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"}],"ansible/roles/cloudkitty/templates/cloudkitty.conf.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86490546a30769c933d9f197874209e11ce76465","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"gnocchi\" %}"},{"line_number":56,"context_line":"[collector_gnocchi]"},{"line_number":57,"context_line":"auth_section \u003d keystone_authtoken"},{"line_number":58,"context_line":"region_name \u003d {{ openstack_region_name }}"},{"line_number":59,"context_line":"{% endif %}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_6dc42161","side":"PARENT","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"updated":"2020-09-21 16:24:11.000000000","message":"This config seemed to work for me, and doesn\u0027t require to set the user and endpoint.","commit_id":"cccfa8f3785a836f75c853e32ca3626a04c8221f"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"e767287ae4e915417476730dd9d5b2ac66f671fa","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"gnocchi\" %}"},{"line_number":56,"context_line":"[collector_gnocchi]"},{"line_number":57,"context_line":"auth_section \u003d keystone_authtoken"},{"line_number":58,"context_line":"region_name \u003d {{ openstack_region_name }}"},{"line_number":59,"context_line":"{% endif %}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_db417a38","side":"PARENT","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"in_reply_to":"9f560f44_0f08d4d6","updated":"2020-09-23 13:02:36.000000000","message":"Yes, you\u0027re right, but it also force the fact that you can\u0027t use anything else than keystone where in the doc you can choose a basic auth type if willing to in the case of an external gnocchi host.\n\nhttps://docs.openstack.org/cloudkitty/latest/admin/configuration/collector.html\n\nI would like to advocate for a way for the user to choose that basic auth if he needs it and just use a keystone default variable.\n\nI know there are not a lot of known external installation, but there is and it doesn\u0027t impact us here.","commit_id":"cccfa8f3785a836f75c853e32ca3626a04c8221f"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c7a5599cce860445fe71e53881299ea944989e8a","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"gnocchi\" %}"},{"line_number":56,"context_line":"[collector_gnocchi]"},{"line_number":57,"context_line":"auth_section \u003d keystone_authtoken"},{"line_number":58,"context_line":"region_name \u003d {{ openstack_region_name }}"},{"line_number":59,"context_line":"{% endif %}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_0f08d4d6","side":"PARENT","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"in_reply_to":"9f560f44_15047f13","updated":"2020-09-23 09:54:44.000000000","message":"Can you point to this official configuration reference? The docs I found say:\n\nIf ``keystone`` is chosen, credentials can be specified in a section pointed at by the ``auth_section`` parameter.\n\nThat\u0027s exactly what we do in the existing configuration.","commit_id":"cccfa8f3785a836f75c853e32ca3626a04c8221f"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"45cfc38ca982a76120fcf7768131d02a52188ed7","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"gnocchi\" %}"},{"line_number":56,"context_line":"[collector_gnocchi]"},{"line_number":57,"context_line":"auth_section \u003d keystone_authtoken"},{"line_number":58,"context_line":"region_name \u003d {{ openstack_region_name }}"},{"line_number":59,"context_line":"{% endif %}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_15047f13","side":"PARENT","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"in_reply_to":"9f560f44_6dc42161","updated":"2020-09-22 07:27:37.000000000","message":"Don\u0027t we want to stick with the official configuration reference?\n\nAdditionally, it let the users to use external gnocchi service as it can be hosted as a standalone project, like with an external MySQL or Prometheus server.","commit_id":"cccfa8f3785a836f75c853e32ca3626a04c8221f"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"8a69a009349c49ba7b42c678de7f4a92ae579bbd","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"gnocchi\" %}"},{"line_number":56,"context_line":"[collector_gnocchi]"},{"line_number":57,"context_line":"auth_section \u003d keystone_authtoken"},{"line_number":58,"context_line":"region_name \u003d {{ openstack_region_name }}"},{"line_number":59,"context_line":"{% endif %}"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_186bf31e","side":"PARENT","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":33},"in_reply_to":"9f560f44_db417a38","updated":"2020-09-23 15:19:09.000000000","message":"But you can still use external Gnocchi by overriding the configuration, right? You\u0027re not forced to use keystone at all.\n\nI am not against adding support for non-keystone operation, but asking: is it worth the effort of maintaining a more complex configuration template?","commit_id":"cccfa8f3785a836f75c853e32ca3626a04c8221f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"95c4cb790c1e15b40511a11744d9a886f872f481","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"monasca\" %}"},{"line_number":65,"context_line":"[collector_monasca]"},{"line_number":66,"context_line":"monasca_service_name \u003d monasca"},{"line_number":67,"context_line":"interface \u003d {{ cloudkitty_monasca_interface }}"},{"line_number":68,"context_line":"{% endif %}"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_09ca874d","line":66,"updated":"2020-09-23 16:08:05.000000000","message":"This is the default","commit_id":"922a6bf2e87dca2e48190d3c6c92ed59fcf4a027"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86490546a30769c933d9f197874209e11ce76465","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027elasticsearch\u0027 %}"},{"line_number":121,"context_line":"[storage_elasticsearch]"},{"line_number":122,"context_line":"host \u003d {{ elasticsearch_host }}"},{"line_number":123,"context_line":"index_name \u003d {{ cloudkitty_elasticsearch_index_name }}"},{"line_number":124,"context_line":"insecure \u003d {{ cloudkitty_elasticsearch_insecure_connections }}"},{"line_number":125,"context_line":"cafile \u003d {{ cloudkitty_elasticsearch_cafile }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_cd0e0de3","line":122,"range":{"start_line":122,"start_character":10,"end_line":122,"end_character":28},"updated":"2020-09-21 16:24:11.000000000","message":"Where is this defined? Maybe add a cloudkitty_elasticsearch_url variable, as is done for prometheus.","commit_id":"922a6bf2e87dca2e48190d3c6c92ed59fcf4a027"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"86490546a30769c933d9f197874209e11ce76465","unresolved":false,"context_lines":[{"line_number":120,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027elasticsearch\u0027 %}"},{"line_number":121,"context_line":"[storage_elasticsearch]"},{"line_number":122,"context_line":"host \u003d {{ elasticsearch_host }}"},{"line_number":123,"context_line":"index_name \u003d {{ cloudkitty_elasticsearch_index_name }}"},{"line_number":124,"context_line":"insecure \u003d {{ cloudkitty_elasticsearch_insecure_connections }}"},{"line_number":125,"context_line":"cafile \u003d {{ cloudkitty_elasticsearch_cafile }}"},{"line_number":126,"context_line":"scroll_duration \u003d {{ cloudkitty_elasticsearch_scroll_duration }}"},{"line_number":127,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9f560f44_6d16e1f4","line":126,"range":{"start_line":123,"start_character":0,"end_line":126,"end_character":64},"updated":"2020-09-21 16:24:11.000000000","message":"These variables either need to have a default value set, or make them conditional like influxdb.","commit_id":"922a6bf2e87dca2e48190d3c6c92ed59fcf4a027"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9c8f2a2810cfed32419f7a3fbea233f060ed193d","unresolved":false,"context_lines":[{"line_number":66,"context_line":"region_name \u003d {{ openstack_region_name }}"},{"line_number":67,"context_line":"{% endif %}"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"monasca\" %}"},{"line_number":70,"context_line":"[collector_monasca]"},{"line_number":71,"context_line":"monasca_service_name \u003d monasca"},{"line_number":72,"context_line":"interface \u003d {{ cloudkitty_monasca_interface }}"},{"line_number":73,"context_line":"{% endif %}"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"prometheus\" %}"},{"line_number":76,"context_line":"[collector_prometheus]"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"9f560f44_9f05b2c4","line":73,"range":{"start_line":69,"start_character":0,"end_line":73,"end_character":11},"updated":"2020-09-30 14:50:59.000000000","message":"These are both using the cloudkitty defaults.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9c8f2a2810cfed32419f7a3fbea233f060ed193d","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"[storage]"},{"line_number":95,"context_line":"backend \u003d {{ cloudkitty_storage_backend }}"},{"line_number":96,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027 or \u0027elasticsearch\u0027 %}"},{"line_number":97,"context_line":"version \u003d 2"},{"line_number":98,"context_line":"{% endif %}"},{"line_number":99,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027sqlalchemy\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"9f560f44_3f1d8610","line":96,"range":{"start_line":96,"start_character":3,"end_line":96,"end_character":65},"updated":"2020-09-30 14:50:59.000000000","message":"if cloudkitty_storage_backend in [\u0027influxdb\u0027, \u0027elasticsearch\u0027]\n\nIn fact we could probably just do if sqlalchemy then 1, since 2 is the default.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"9c8f2a2810cfed32419f7a3fbea233f060ed193d","unresolved":false,"context_lines":[{"line_number":127,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027elasticsearch\u0027 %}"},{"line_number":128,"context_line":"[storage_elasticsearch]"},{"line_number":129,"context_line":"host \u003d {{ cloudkitty_elasticsearch_url }}"},{"line_number":130,"context_line":"index_name \u003d {{ cloudkitty_elasticsearch_index_name }}"},{"line_number":131,"context_line":"insecure \u003d {{ cloudkitty_elasticsearch_insecure_connections }}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"{% if cloudkitty_elasticsearch_cafile is defined %}"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"9f560f44_dfb28ae5","line":130,"range":{"start_line":130,"start_character":0,"end_line":130,"end_character":54},"updated":"2020-09-30 14:50:59.000000000","message":"The default is commented out, so this would be undefined.","commit_id":"e17453a62c3cfd8438f588182779f825cf235304"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1af13ea9af1446a9a97763a5a9acba76cab3338a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"region_name \u003d {{ openstack_region_name }}"},{"line_number":67,"context_line":"{% endif %}"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"monasca\" %}"},{"line_number":70,"context_line":"[collector_monasca]"},{"line_number":71,"context_line":"monasca_service_name \u003d monasca"},{"line_number":72,"context_line":"interface \u003d {{ cloudkitty_monasca_interface }}"},{"line_number":73,"context_line":"{% endif %}"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"{% if cloudkitty_collector_backend \u003d\u003d \"prometheus\" %}"},{"line_number":76,"context_line":"[collector_prometheus]"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"9f560f44_796f11fa","line":73,"range":{"start_line":69,"start_character":0,"end_line":73,"end_character":11},"updated":"2020-10-01 09:41:38.000000000","message":"These are all using the default values.","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1af13ea9af1446a9a97763a5a9acba76cab3338a","unresolved":false,"context_lines":[{"line_number":76,"context_line":"[collector_prometheus]"},{"line_number":77,"context_line":"prometheus_url \u003d {{ cloudkitty_prometheus_url }}"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"{% if cloudkitty_prometheus_cafile is defined %}"},{"line_number":80,"context_line":"cafile \u003d {{ cloudkitty_prometheus_cafile }}"},{"line_number":81,"context_line":"{% endif %}"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"9f560f44_39ebd978","line":79,"range":{"start_line":79,"start_character":6,"end_line":79,"end_character":34},"updated":"2020-10-01 09:41:38.000000000","message":"It\u0027s now always defined.","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1af13ea9af1446a9a97763a5a9acba76cab3338a","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"[storage]"},{"line_number":95,"context_line":"backend \u003d {{ cloudkitty_storage_backend }}"},{"line_number":96,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027 or \u0027elasticsearch\u0027 %}"},{"line_number":97,"context_line":"version \u003d 2"},{"line_number":98,"context_line":"{% endif %}"},{"line_number":99,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027sqlalchemy\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"9f560f44_f94cc19e","line":96,"range":{"start_line":96,"start_character":5,"end_line":96,"end_character":65},"updated":"2020-10-01 09:41:38.000000000","message":"This was not fixed","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1af13ea9af1446a9a97763a5a9acba76cab3338a","unresolved":false,"context_lines":[{"line_number":130,"context_line":"index_name \u003d {{ cloudkitty_elasticsearch_index_name }}"},{"line_number":131,"context_line":"insecure \u003d {{ cloudkitty_elasticsearch_insecure_connections }}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"{% if cloudkitty_elasticsearch_cafile is defined %}"},{"line_number":134,"context_line":"cafile \u003d {{ cloudkitty_elasticsearch_cafile }}"},{"line_number":135,"context_line":"{% endif %}"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"9f560f44_79fc313f","line":133,"range":{"start_line":133,"start_character":6,"end_line":133,"end_character":37},"updated":"2020-10-01 09:41:38.000000000","message":"It\u0027s now always defined.","commit_id":"73af95fa0feca75906a1601cd3eb3e9540c58e8e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ef50abc330147c7d7edc2fb8fdecf606381fc5fd","unresolved":true,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"[storage]"},{"line_number":95,"context_line":"backend \u003d {{ cloudkitty_storage_backend }}"},{"line_number":96,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027 or \u0027elasticsearch\u0027 %}"},{"line_number":97,"context_line":"version \u003d 2"},{"line_number":98,"context_line":"{% else %}"},{"line_number":99,"context_line":"version \u003d 1"},{"line_number":100,"context_line":"{% endif %}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027 %}"},{"line_number":103,"context_line":"[storage_influxdb]"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"586fef11_791353f3","line":100,"range":{"start_line":96,"start_character":0,"end_line":100,"end_character":11},"updated":"2021-01-05 10:34:38.000000000","message":"if sqlalchemy then 1 else 2.","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"314afb8fab382dc090f62c2ec7c669052a677b8f","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"[storage]"},{"line_number":95,"context_line":"backend \u003d {{ cloudkitty_storage_backend }}"},{"line_number":96,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027 or \u0027elasticsearch\u0027 %}"},{"line_number":97,"context_line":"version \u003d 2"},{"line_number":98,"context_line":"{% else %}"},{"line_number":99,"context_line":"version \u003d 1"},{"line_number":100,"context_line":"{% endif %}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"{% if cloudkitty_storage_backend \u003d\u003d \u0027influxdb\u0027 %}"},{"line_number":103,"context_line":"[storage_influxdb]"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"55012d76_a3021cf4","line":100,"range":{"start_line":96,"start_character":0,"end_line":100,"end_character":11},"in_reply_to":"586fef11_791353f3","updated":"2021-02-01 16:48:56.000000000","message":"Ack","commit_id":"67000b7ac36f75bbd7166c60668a89aaad0ab7fa"}],"releasenotes/notes/add_elasticsearch_and_prometheus_support_on_cloudkitty-774e13e363e15a4b.yaml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"b5c207f5f8ecf50adf45291aaf95496e055b144b","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Adds support for elasticsearch storage backend with cloudkitty:"},{"line_number":5,"context_line":"    That feature let you store cloudkitty rating documents directly within"},{"line_number":6,"context_line":"    your elasticsearch cluster."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    If you already have an elasticsearch cluster running for logging it create"},{"line_number":9,"context_line":"    a new cloudkitty specific index. That let you use kibana, grafana or any"},{"line_number":10,"context_line":"    other interface to browse your rating data and create appropriate"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"fea6e2a8_6b832214","line":7,"updated":"2021-03-09 18:04:18.000000000","message":"Those spaces look a bit odd in reno, but whatever.","commit_id":"9e72c0cb4e2206cc72104648e507237977258d54"}]}
