X-Git-Url: https://gerrit.mcp.mirantis.com/gitweb?p=salt-formulas%2Finfluxdb.git;a=blobdiff_plain;f=influxdb%2Fclient.sls;h=3015a5366f5e86361b1a760ece9fc104e1c5e99b;hp=f3125310614d4d20a124d4be1bd4c7ebf7a2ed05;hb=2092a9083c3b57e8441de831af835f9ec356b499;hpb=f616965443ccd67fde703ff9b4b085f09c8703b7 diff --git a/influxdb/client.sls b/influxdb/client.sls index f312531..3015a53 100644 --- a/influxdb/client.sls +++ b/influxdb/client.sls @@ -80,4 +80,21 @@ influxdb_grant_{{ grant_name }}: {%- endif %} {%- endfor %} + +{# CONTINUOUS QUERIES #} +{# as of influxdb 1.4 CQ can't be altered #} +{%- for db_name, db in client.get('database', {}).iteritems() %} + {%- set db_name = db.get('name', db_name) %} + {%- for cq_name, cq in db.get('continuous_query', {}).iteritems() %} + {%- set cq_name_on= 'CONTINUOUS QUERY {} ON {}'.format(cq_name, db_name) %} + {%- set query_continuous_query = '{} BEGIN {} END'.format(cq_name_on, cq) %} +influxdb_continuous_query_{{db_name}}_{{ cq_name }}: + cmd.run: + - shell: /bin/bash + - name: fail_on() { echo "${@:2}"; if [[ "${@:2}" == *"$1"* ]]; then return 1; return 0; fi; }; fail_on "already exist" $({{ curl_command }} -s -S -POST "{{ auth_url }}" --data-urlencode "q=CREATE {{ query_continuous_query }}") || fail_on error $({{ curl_command }} -s -S -POST "{{ auth_url }}" --data-urlencode $'q=DROP {{ cq_name_on }};\nCREATE {{ query_continuous_query }}') + - onlyif: {{ curl_command }} -s -S -POST "{{ auth_url }}" --data-urlencode "q=SHOW DATABASES" | grep {{ db_name }} + + {%- endfor %} +{%- endfor %} + {%- endif %}