Merge "Added & adjusted up to date json dashboard definitions from ceph upstream project. Related-Prod: PROD-35307"
diff --git a/ceph/common.sls b/ceph/common.sls
index 751c0ad..d312704 100644
--- a/ceph/common.sls
+++ b/ceph/common.sls
@@ -18,19 +18,21 @@
{{ common.prefix_dir }}/etc/ceph:
file.directory:
+ {% if not common.get('container_mode', False) %}
- user: ceph
- group: ceph
+ {%- endif %}
- mode: 755
- makedirs: True
common_config:
file.managed:
- name: {{ common.prefix_dir }}/etc/ceph/{{ ceph_cluster }}.conf
- - user: ceph
- - group: ceph
- source: salt://ceph/files/{{ common.version }}/ceph.conf.{{ grains.os_family }}
- template: jinja
{% if not common.get('container_mode', False) %}
+ - user: ceph
+ - group: ceph
- require:
- pkg: common_packages
{%- endif %}
diff --git a/ceph/meta/grafana.yml b/ceph/meta/grafana.yml
index 25bf726..5009ec7 100644
--- a/ceph/meta/grafana.yml
+++ b/ceph/meta/grafana.yml
@@ -2,7 +2,7 @@
{%- if common.version is defined %}
dashboard:
- {%- if common.version in ['kraken', 'jewel'] %}
+ {%- if common.version in ['kraken', 'jewel'] or common.get('legacy_monitoring',False) %}
ceph_cluster_prometheus:
datasource: prometheus
format: json
diff --git a/ceph/meta/prometheus.yml b/ceph/meta/prometheus.yml
index 2969b6f..0f6a955 100644
--- a/ceph/meta/prometheus.yml
+++ b/ceph/meta/prometheus.yml
@@ -1,7 +1,7 @@
{%- from "ceph/map.jinja" import common, mon, monitoring, setup with context -%}
{%- if common.version is defined %}
- {%- if common.version in ['kraken', 'jewel'] -%}
+ {%- if common.version in ['kraken', 'jewel'] or common.get('legacy_monitoring', False) -%}
{%- if (mon is defined and mon.get('enabled')) or (monitoring.cluster_stats.get('enabled') and monitoring.cluster_stats.ceph_user is defined) %}
{%- raw %}
@@ -156,6 +156,7 @@
{%- else -%}
{%- if mon is defined and mon.get('enabled') %}
+ {%- set pool_used_space = 'ceph_pool_bytes_used' if common.version in ['luminous'] else 'ceph_pool_stored' -%}
{%- raw %}
server:
recording:
@@ -366,7 +367,7 @@
CephPool{{pool_name|replace(".", "")|replace("-", "")}}SpaceUsageWarning:
{%- set threshold = monitoring_pool.pool_space_used_utilization_warning_threshold|default('0.75')|float %}
if: >-
- ceph_pool_stored / (ceph_pool_stored + ceph_pool_max_avail) * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"} > {{threshold}}
+ {{pool_used_space}} / ({{pool_used_space}} + ceph_pool_max_avail) * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"} > {{threshold}}
for: 3m
labels:
severity: warning
@@ -377,7 +378,7 @@
CephPool{{pool_name|replace(".", "")|replace("-", "")}}SpaceUsageCritical:
{%- set threshold = monitoring_pool.pool_space_used_critical_threshold|default('0.85')|float %}
if: >-
- ceph_pool_stored / (ceph_pool_stored + ceph_pool_max_avail) * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"} > {{threshold}}
+ {{pool_used_space}} / ({{pool_used_space}} + ceph_pool_max_avail) * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"} > {{threshold}}
for: 3m
labels:
severity: minor
@@ -390,7 +391,7 @@
{%- set threshold = monitoring.prediction_threshold %}
{%- set space_threshold = monitoring_pool.space_threshold %}
if: >-
- predict_linear(ceph_pool_stored[{{threshold}}d], {{threshold}} * 86400) * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"} > (ceph_pool_stored + ceph_pool_max_avail) * {{space_threshold}} * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"}
+ predict_linear({{pool_used_space}}[{{threshold}}d], {{threshold}} * 86400) * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"} > ({{pool_used_space}} + ceph_pool_max_avail) * {{space_threshold}} * on(pool_id) group_left(name) ceph_pool_metadata{name="{{pool_name}}"}
for: 30m
labels:
severity: minor
diff --git a/ceph/meta/telegraf.yml b/ceph/meta/telegraf.yml
index 1c0a42e..e80c31d 100644
--- a/ceph/meta/telegraf.yml
+++ b/ceph/meta/telegraf.yml
@@ -1,7 +1,7 @@
{%- from "ceph/map.jinja" import common, mon, osd, monitoring with context -%}
{%- if common.version is defined %}
- {%- if common.version in ['kraken', 'jewel'] -%}
+ {%- if common.version in ['kraken', 'jewel'] or common.get('legacy_monitoring', False) -%}
{%- if mon is defined and mon.get('enabled') %}
remote_agent:
diff --git a/ceph/setup/keyring.sls b/ceph/setup/keyring.sls
index f9fbbf8..5ba3c5d 100644
--- a/ceph/setup/keyring.sls
+++ b/ceph/setup/keyring.sls
@@ -34,12 +34,16 @@
- name: "ceph -c /etc/ceph/{{ ceph_cluster }}.conf auth import -i {{ keyring_path }}"
- onchanges:
- file: {{ keyring_path }}
+ - require:
+ - file: common_config
ceph_update_caps_for_{{ keyring_client_name }}:
cmd.run:
- name: ceph -c /etc/ceph/{{ ceph_cluster }}.conf auth caps client.{{ keyring_client_name }} {%- for cap_name, cap in keyring.caps.iteritems() %} {{ cap_name }} '{{ cap }}' {%- endfor %}
- onchanges:
- file: {{ keyring_path }}
+ - require:
+ - file: common_config
{%- endif %}
@@ -49,6 +53,8 @@
cmd.run:
- name: ceph -c /etc/ceph/{{ ceph_cluster }}.conf auth get-or-create client.{{ keyring_client_name }} {%- for cap_name, cap in keyring.caps.iteritems() %} {{ cap_name }} '{{ cap }}' {%- endfor %} > {{ keyring_path }}
- unless: "test -f {{ keyring_path }}"
+ - require:
+ - file: common_config
{%- if salt['file.file_exists']('/usr/bin/ceph') %}
{%- set caps = salt['cmd.shell']('ceph auth list --format json') | load_json %}
@@ -56,9 +62,12 @@
{%- if client['entity'] == "client." + keyring_client_name %}
{%- for cap_name, cap in client.caps.iteritems() %}
{%- if cap != keyring.caps[cap_name] %}
-ceph_update_caps_for_{{ keyring_client_name }}:
+ceph_update_caps_{{ cap_name }}_for_{{ keyring_client_name }}:
cmd.run:
- - name: ceph -c /etc/ceph/{{ ceph_cluster }}.conf auth caps client.{{ keyring_client_name }} {%- for cap_name, cap in keyring.caps.iteritems() %} {{ cap_name }} '{{ cap }}' {%- endfor %}
+ - name: ceph -c /etc/ceph/{{ ceph_cluster }}.conf auth caps client.{{ keyring_client_name }} {{ cap_name }} '{{ cap }}'
+ - require:
+ - file: common_config
+
{%- endif %}
{%- endfor %}
{%- endif %}