From 13350e3f56a7bd8819a1054553ad7c7e71171d8a Mon Sep 17 00:00:00 2001
From: Doug Szumski <doug@stackhpc.com>
Date: Thu, 25 Apr 2019 10:48:04 +0000
Subject: [PATCH] Support customising Prometheus config

Kolla Ansible supports customising Prometheus config files.
This commit allows Kayobe to take advantage of that.

Story: 2005508
Task: 30617
Change-Id: I9fe28a658dc35adb5358d9a3a96bda9245404257
---
 ansible/roles/kolla-ansible/defaults/main.yml               | 1 +
 ansible/roles/kolla-ansible/tests/test-defaults.yml         | 1 +
 ansible/roles/kolla-ansible/tests/test-extras.yml           | 2 ++
 ansible/roles/kolla-openstack/defaults/main.yml             | 6 ++++++
 .../kolla-openstack/molecule/default/tests/test_default.py  | 1 +
 .../kolla-openstack/molecule/enable-everything/molecule.yml | 1 +
 .../molecule/enable-everything/tests/test_default.py        | 1 +
 ansible/roles/kolla-openstack/vars/main.yml                 | 5 +++++
 etc/kayobe/kolla.yml                                        | 1 +
 9 files changed, 19 insertions(+)

diff --git a/ansible/roles/kolla-ansible/defaults/main.yml b/ansible/roles/kolla-ansible/defaults/main.yml
index 1c9f33dfb..cde8805a0 100644
--- a/ansible/roles/kolla-ansible/defaults/main.yml
+++ b/ansible/roles/kolla-ansible/defaults/main.yml
@@ -252,6 +252,7 @@ kolla_openstack_logging_debug:
 #kolla_enable_neutron_qos:
 #kolla_enable_neutron_agent_ha:
 #kolla_enable_neutron_vpnaas:
+#kolla_enable_prometheus:
 #kolla_enable_rally:
 #kolla_enable_sahara:
 #kolla_enable_senlin:
diff --git a/ansible/roles/kolla-ansible/tests/test-defaults.yml b/ansible/roles/kolla-ansible/tests/test-defaults.yml
index 2771b7bef..36452d026 100644
--- a/ansible/roles/kolla-ansible/tests/test-defaults.yml
+++ b/ansible/roles/kolla-ansible/tests/test-defaults.yml
@@ -100,6 +100,7 @@
               - enable_monasca
               - enable_neutron
               - enable_nova
+              - enable_prometheus
               - enable_storm
               - enable_zookeeper
               - grafana_admin_username
diff --git a/ansible/roles/kolla-ansible/tests/test-extras.yml b/ansible/roles/kolla-ansible/tests/test-extras.yml
index a7add8640..f2bbcd4f3 100644
--- a/ansible/roles/kolla-ansible/tests/test-extras.yml
+++ b/ansible/roles/kolla-ansible/tests/test-extras.yml
@@ -150,6 +150,7 @@
             kolla_enable_octavia: True
             kolla_enable_osprofiler: True
             kolla_enable_panko: True
+            kolla_enable_prometheus: True
             kolla_enable_rally: True
             kolla_enable_searchlight: True
             kolla_enable_sahara: True
@@ -282,6 +283,7 @@
               #enable_octavia: True
               #enable_osprofiler: True
               #enable_panko: True
+              #enable_prometheus: True
               #enable_rally: True
               #enable_sahara: True
               #enable_searchlight: True
diff --git a/ansible/roles/kolla-openstack/defaults/main.yml b/ansible/roles/kolla-openstack/defaults/main.yml
index dc5e3ebe9..702e722d5 100644
--- a/ansible/roles/kolla-openstack/defaults/main.yml
+++ b/ansible/roles/kolla-openstack/defaults/main.yml
@@ -374,6 +374,12 @@ kolla_extra_nova:
 # Whether to enable Octavia.
 kolla_enable_octavia:
 
+###############################################################################
+# Prometheus configuration.
+
+# Whether to enable Prometheus.
+kolla_enable_prometheus:
+
 ###############################################################################
 # Sahara 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 77271cb74..194e6cb8e 100644
--- a/ansible/roles/kolla-openstack/molecule/default/tests/test_default.py
+++ b/ansible/roles/kolla-openstack/molecule/default/tests/test_default.py
@@ -54,6 +54,7 @@ def test_service_config_directory(host, path):
      'murano',
      'neutron',
      'nova',
+     'prometheus',
      'sahara',
      'storm',
      'swift',
diff --git a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml
index e36cb7b33..1a005558a 100644
--- a/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml
+++ b/ansible/roles/kolla-openstack/molecule/enable-everything/molecule.yml
@@ -86,6 +86,7 @@ provisioner:
         kolla_extra_octavia: |
           [extra-octavia.conf]
           foo=bar
+        kolla_enable_prometheus: true
         kolla_enable_sahara: true
         kolla_extra_sahara: |
           [extra-sahara.conf]
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 a8d224ef7..2bb656b55 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
@@ -48,6 +48,7 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
      'neutron',
      'nova',
      'octavia',
+     'prometheus',
      'sahara',
      'storm',
      'swift',
diff --git a/ansible/roles/kolla-openstack/vars/main.yml b/ansible/roles/kolla-openstack/vars/main.yml
index ff8d3fdcd..d4d4f835b 100644
--- a/ansible/roles/kolla-openstack/vars/main.yml
+++ b/ansible/roles/kolla-openstack/vars/main.yml
@@ -148,6 +148,11 @@ kolla_openstack_custom_config:
     dest: "{{ kolla_node_custom_config_path }}/octavia"
     patterns: "*"
     enabled: "{{ kolla_enable_octavia }}"
+  # Prometheus config
+  - src: "{{ kolla_extra_config_path }}/prometheus"
+    dest: "{{ kolla_node_custom_config_path }}/prometheus"
+    patterns: "*"
+    enabled: "{{ kolla_enable_prometheus }}"
   # Sahara.
   - src: "{{ kolla_extra_config_path }}/sahara"
     dest: "{{ kolla_node_custom_config_path }}/sahara"
diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml
index aa3f4ffe2..ea0966feb 100644
--- a/etc/kayobe/kolla.yml
+++ b/etc/kayobe/kolla.yml
@@ -221,6 +221,7 @@
 #kolla_enable_octavia:
 #kolla_enable_osprofiler:
 #kolla_enable_panko:
+#kolla_enable_prometheus:
 #kolla_enable_qdrouterd:
 #kolla_enable_rally:
 #kolla_enable_sahara: