blob: f2700bad2c3f57422faff1f02b6fb56748a1a5f6 [file] [log] [blame]
jpavlik8425d362015-06-09 15:23:27 +02001{%- from "ceph/map.jinja" import client with context %}
2{%- if client.enabled %}
3
Simon Pasquierf8e6f9e2017-07-03 10:15:20 +02004{% if not client.container_mode %}
Ondrej Smola81d1a192017-08-17 11:13:10 +02005
jpavlikbeff42e2015-06-09 16:20:24 +02006ceph_client_packages:
7 pkg.installed:
8 - names: {{ client.pkgs }}
Ondrej Smola81d1a192017-08-17 11:13:10 +02009
Simon Pasquierf8e6f9e2017-07-03 10:15:20 +020010{%- endif %}
jpavlikbeff42e2015-06-09 16:20:24 +020011
Simon Pasquierf8e6f9e2017-07-03 10:15:20 +020012{{ client.prefix_dir }}/etc/ceph:
Petr Michalec47f82682016-11-23 12:36:20 +010013 file.directory:
Ondrej Smola81d1a192017-08-17 11:13:10 +020014 - user: root
15 - group: root
16 - mode: 755
17 - makedirs: True
Petr Michalec47f82682016-11-23 12:36:20 +010018
jpavlik8425d362015-06-09 15:23:27 +020019{%- for keyring_name, keyring in client.keyring.iteritems() %}
20
Simon Pasquierf8e6f9e2017-07-03 10:15:20 +020021{{ client.prefix_dir }}/etc/ceph/ceph.client.{{ keyring_name }}.keyring:
Petr Michalec47f82682016-11-23 12:36:20 +010022 file.managed:
Ondrej Smola81d1a192017-08-17 11:13:10 +020023 - user: root
24 - group: root
25 - mode: 644
26 - replace: False
27 # bug, if file is empty no section is added by options_present
28 - contents: |
29 [client.{{ keyring_name }}]
30 - require:
31 - file: {{ client.prefix_dir }}/etc/ceph
jpavlik8425d362015-06-09 15:23:27 +020032 ini.options_present:
33 - sections:
34 client.{{ keyring_name }}: {{ keyring|yaml }}
Ondrej Smola81d1a192017-08-17 11:13:10 +020035 {% if not client.container_mode %}
jpavlik6d44b1e2015-06-09 16:21:55 +020036 - require:
37 - pkg: ceph_client_packages
Ondrej Smola81d1a192017-08-17 11:13:10 +020038 {%- endif %}
jpavlik8425d362015-06-09 15:23:27 +020039
40{%- endfor %}
41
jpavlikfc70f722015-06-09 16:17:57 +020042{%- set config = client.config %}
43{%- for keyring_name, keyring in client.keyring.iteritems() %}
jpavlik71b23df2015-06-09 16:33:55 +020044{%- load_yaml as config_fragment %}
45client.{{ keyring_name }}:
46 keyring: /etc/ceph/ceph.client.{{ keyring_name }}.keyring
47{%- endload %}
Ondrej Smola81d1a192017-08-17 11:13:10 +020048{%- do config.update(config_fragment) %}
jpavlikfc70f722015-06-09 16:17:57 +020049{%- endfor %}
jpavlik8425d362015-06-09 15:23:27 +020050
Simon Pasquierf8e6f9e2017-07-03 10:15:20 +020051{{ client.prefix_dir }}/etc/ceph/ceph.conf:
Petr Michalec47f82682016-11-23 12:36:20 +010052 file.managed:
Ondrej Smola81d1a192017-08-17 11:13:10 +020053 - user: root
54 - group: root
55 - mode: 644
56 - replace: False
57 # bug, if file is empty no section is added by options_present
58 - contents: |
59 [global]
60 - require:
61 - file: {{ client.prefix_dir }}/etc/ceph
jpavlik8425d362015-06-09 15:23:27 +020062 ini.options_present:
63 - sections: {{ config|yaml }}
jpavlik6d44b1e2015-06-09 16:21:55 +020064 - require:
Ondrej Smola81d1a192017-08-17 11:13:10 +020065 {% if not client.container_mode %}
jpavlik6d44b1e2015-06-09 16:21:55 +020066 - pkg: ceph_client_packages
Ondrej Smola81d1a192017-08-17 11:13:10 +020067 {%- endif %}
Simon Pasquierf8e6f9e2017-07-03 10:15:20 +020068 - file: {{ client.prefix_dir }}/etc/ceph
jpavlik8425d362015-06-09 15:23:27 +020069
Ondrej Smola81d1a192017-08-17 11:13:10 +020070{%- endif %}