jpavlik | 8425d36 | 2015-06-09 15:23:27 +0200 | [diff] [blame] | 1 | {%- from "ceph/map.jinja" import client with context %} |
| 2 | {%- if client.enabled %} |
| 3 | |
Simon Pasquier | f8e6f9e | 2017-07-03 10:15:20 +0200 | [diff] [blame] | 4 | {% if not client.container_mode %} |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 5 | |
jpavlik | beff42e | 2015-06-09 16:20:24 +0200 | [diff] [blame] | 6 | ceph_client_packages: |
| 7 | pkg.installed: |
| 8 | - names: {{ client.pkgs }} |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 9 | |
Simon Pasquier | f8e6f9e | 2017-07-03 10:15:20 +0200 | [diff] [blame] | 10 | {%- endif %} |
jpavlik | beff42e | 2015-06-09 16:20:24 +0200 | [diff] [blame] | 11 | |
Simon Pasquier | f8e6f9e | 2017-07-03 10:15:20 +0200 | [diff] [blame] | 12 | {{ client.prefix_dir }}/etc/ceph: |
Petr Michalec | 47f8268 | 2016-11-23 12:36:20 +0100 | [diff] [blame] | 13 | file.directory: |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 14 | - user: root |
| 15 | - group: root |
| 16 | - mode: 755 |
| 17 | - makedirs: True |
Petr Michalec | 47f8268 | 2016-11-23 12:36:20 +0100 | [diff] [blame] | 18 | |
jpavlik | 8425d36 | 2015-06-09 15:23:27 +0200 | [diff] [blame] | 19 | {%- for keyring_name, keyring in client.keyring.iteritems() %} |
| 20 | |
Simon Pasquier | f8e6f9e | 2017-07-03 10:15:20 +0200 | [diff] [blame] | 21 | {{ client.prefix_dir }}/etc/ceph/ceph.client.{{ keyring_name }}.keyring: |
Petr Michalec | 47f8268 | 2016-11-23 12:36:20 +0100 | [diff] [blame] | 22 | file.managed: |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 23 | - 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 |
jpavlik | 8425d36 | 2015-06-09 15:23:27 +0200 | [diff] [blame] | 32 | ini.options_present: |
| 33 | - sections: |
| 34 | client.{{ keyring_name }}: {{ keyring|yaml }} |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 35 | {% if not client.container_mode %} |
jpavlik | 6d44b1e | 2015-06-09 16:21:55 +0200 | [diff] [blame] | 36 | - require: |
| 37 | - pkg: ceph_client_packages |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 38 | {%- endif %} |
jpavlik | 8425d36 | 2015-06-09 15:23:27 +0200 | [diff] [blame] | 39 | |
| 40 | {%- endfor %} |
| 41 | |
jpavlik | fc70f72 | 2015-06-09 16:17:57 +0200 | [diff] [blame] | 42 | {%- set config = client.config %} |
| 43 | {%- for keyring_name, keyring in client.keyring.iteritems() %} |
jpavlik | 71b23df | 2015-06-09 16:33:55 +0200 | [diff] [blame] | 44 | {%- load_yaml as config_fragment %} |
| 45 | client.{{ keyring_name }}: |
| 46 | keyring: /etc/ceph/ceph.client.{{ keyring_name }}.keyring |
| 47 | {%- endload %} |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 48 | {%- do config.update(config_fragment) %} |
jpavlik | fc70f72 | 2015-06-09 16:17:57 +0200 | [diff] [blame] | 49 | {%- endfor %} |
jpavlik | 8425d36 | 2015-06-09 15:23:27 +0200 | [diff] [blame] | 50 | |
Simon Pasquier | f8e6f9e | 2017-07-03 10:15:20 +0200 | [diff] [blame] | 51 | {{ client.prefix_dir }}/etc/ceph/ceph.conf: |
Petr Michalec | 47f8268 | 2016-11-23 12:36:20 +0100 | [diff] [blame] | 52 | file.managed: |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 53 | - 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 |
jpavlik | 8425d36 | 2015-06-09 15:23:27 +0200 | [diff] [blame] | 62 | ini.options_present: |
| 63 | - sections: {{ config|yaml }} |
jpavlik | 6d44b1e | 2015-06-09 16:21:55 +0200 | [diff] [blame] | 64 | - require: |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 65 | {% if not client.container_mode %} |
jpavlik | 6d44b1e | 2015-06-09 16:21:55 +0200 | [diff] [blame] | 66 | - pkg: ceph_client_packages |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 67 | {%- endif %} |
Simon Pasquier | f8e6f9e | 2017-07-03 10:15:20 +0200 | [diff] [blame] | 68 | - file: {{ client.prefix_dir }}/etc/ceph |
jpavlik | 8425d36 | 2015-06-09 15:23:27 +0200 | [diff] [blame] | 69 | |
Ondrej Smola | 81d1a19 | 2017-08-17 11:13:10 +0200 | [diff] [blame] | 70 | {%- endif %} |