Added gainsight_elasticsearch related files
Change-Id: I7d00a025873b76d592ff29370f79471c3392d3f4
Related-Bug: PROD-25532
diff --git a/metadata/service/gainsight/elasticsearch_container.yml b/metadata/service/gainsight/elasticsearch_container.yml
new file mode 100644
index 0000000..0129de2
--- /dev/null
+++ b/metadata/service/gainsight/elasticsearch_container.yml
@@ -0,0 +1,9 @@
+applications:
+ - prometheus
+parameters:
+ prometheus:
+ gainsight_elasticsearch:
+ enabled: true
+ dir:
+ config: /srv/volumes/local/gainsight_elasticsearch/config
+ crontab: /srv/volumes/local/gainsight_elasticsearch/cron.d
diff --git a/prometheus/files/gainsight/gainsight_elasticsearch_config.yml b/prometheus/files/gainsight/gainsight_elasticsearch_config.yml
new file mode 100644
index 0000000..0388409
--- /dev/null
+++ b/prometheus/files/gainsight/gainsight_elasticsearch_config.yml
@@ -0,0 +1,5 @@
+{% from "prometheus/map.jinja" import gainsight_elasticsearch with context %}
+[Queries]
+{%- for query,value in gainsight_elasticsearch.queries.iteritems() %}
+{{ query }}={{ value }}
+{%- endfor %}
diff --git a/prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml b/prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml
new file mode 100644
index 0000000..beaa8f2
--- /dev/null
+++ b/prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml
@@ -0,0 +1,2 @@
+{% from "prometheus/map.jinja" import gainsight_elasticsearch with context %}
+{{ gainsight_elasticsearch.crontab.duration }} root . /opt/gainsight/vars && /opt/gainsight/entrypoint.py >> /var/log/cron.log 2>&1
diff --git a/prometheus/gainsight_elasticsearch.sls b/prometheus/gainsight_elasticsearch.sls
new file mode 100644
index 0000000..3ca5c39
--- /dev/null
+++ b/prometheus/gainsight_elasticsearch.sls
@@ -0,0 +1,29 @@
+{% from "prometheus/map.jinja" import gainsight_elasticsearch with context %}
+{%- if gainsight_elasticsearch.enabled %}
+
+{%- if pillar.docker is defined and pillar.docker.host is defined %}
+
+{{gainsight_elasticsearch.dir.config}}:
+ file.directory:
+ - makedirs: True
+
+{{gainsight_elasticsearch.dir.crontab}}:
+ file.directory:
+ - makedirs: True
+
+{{gainsight_elasticsearch.dir.config}}/config.ini:
+ file.managed:
+ - source: salt://prometheus/files/gainsight/gainsight_elasticsearch_config.yml
+ - template: jinja
+ - require:
+ - file: {{gainsight_elasticsearch.dir.config}}
+
+{{gainsight_elasticsearch.dir.crontab}}/crontab:
+ file.managed:
+ - source: salt://prometheus/files/gainsight/gainsight_elasticsearch_crontab.yml
+ - template: jinja
+ - require:
+ - file: {{gainsight_elasticsearch.dir.crontab}}
+
+{%- endif %}
+{%- endif %}
diff --git a/prometheus/map.jinja b/prometheus/map.jinja
index 506bc22..f75eabf 100644
--- a/prometheus/map.jinja
+++ b/prometheus/map.jinja
@@ -68,6 +68,16 @@
}
}, merge=salt['pillar.get']('prometheus:gainsight')) %}}
+{% set gainsight_elasticsearch = salt['grains.filter_by']({
+ 'default': {
+ 'queries': {
+ },
+ 'crontab': {
+ 'duration': '23 58 * * *'
+ },
+ }
+}, merge=salt['pillar.get']('prometheus:gainsight_elasticsearch')) %}}
+
{% set sf_notifier = salt['grains.filter_by']({
'default': {
},