Skip to content

Commit

Permalink
refactor(tofs): avoid using “salt['config.get']” for formula writers
Browse files Browse the repository at this point in the history
  • Loading branch information
myii committed Mar 20, 2019
1 parent c9e712e commit 4bf9453
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 31 deletions.
10 changes: 4 additions & 6 deletions TOFS_pattern.rst
Original file line number Diff line number Diff line change
Expand Up @@ -314,12 +314,10 @@ We can simplify the ``conf.sls`` with the new ``files_switch`` macro to use in t
file.managed:
- name: {{ ntp.config }}
- template: jinja
- source: {{ files_switch(
salt['config.get'](
tplroot ~ ':tofs:source_files:Configure NTP',
['/etc/ntp.conf.jinja']
)
) }}
- source: {{ files_switch(['/etc/ntp.conf.jinja'],
lookup='Configure NTP'
)
}}
- watch_in:
- service: Enable and start NTP service
- require:
Expand Down
19 changes: 12 additions & 7 deletions systemd/macros.jinja
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{%- macro files_switch(source_files,
lookup=None,
default_files_switch=['id', 'os_family'],
indent_width=6) %}
{#-
Expand All @@ -8,6 +9,8 @@
Params:
* source_files: ordered list of files to look for
* lookup: key under '<tplroot>:tofs:source_files' to override
list of source files
* default_files_switch: if there's no pillar
'<tplroot>:tofs:files_switch' this is the ordered list of grains to
use as selector switch of the directories under
Expand All @@ -21,11 +24,8 @@
Deploy configuration:
file.managed:
- name: /etc/yyy/zzz.conf
- source: {{ files_switch(
salt['config.get'](
tplroot ~ ':tofs:source_files:Deploy configuration',
['/etc/yyy/zzz.conf', '/etc/yyy/zzz.conf.jinja']
)
- source: {{ files_switch(['/etc/yyy/zzz.conf', '/etc/yyy/zzz.conf.jinja'],
lookup='Deploy configuration'
) }}
- template: jinja
Expand All @@ -52,6 +52,11 @@
tplroot ~ ':tofs:files_switch',
default_files_switch
) %}
{#- Lookup files or fallback to source_files parameter #}
{%- set src_files = salt['config.get'](
tplroot ~ ':tofs:source_files:' ~ lookup,
source_files
) %}
{#- Only add to [''] when supporting older TOFS implementations #}
{%- for path_prefix_ext in ['', '/networkd', '/resolved', '/timesyncd'] %}
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
Expand All @@ -66,7 +71,7 @@
{%- do fsl.append('') %}
{%- endif %}
{%- for fs in fsl %}
{%- for source_file in source_files %}
{%- for src_file in src_files %}
{%- if fs %}
{%- set fs_dir = salt['config.get'](fs, fs) %}
{%- else %}
Expand All @@ -76,7 +81,7 @@
path_prefix_inc_ext,
files_dir,
fs_dir,
source_file.lstrip('/')
src_file.lstrip('/')
]) %}
{{ url | indent(indent_width, true) }}
{%- endfor %}
Expand Down
10 changes: 4 additions & 6 deletions systemd/networkd/init.sls
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@ networkd:
- user: root
- group: root
- template: jinja
- source: {{ files_switch(
salt['config.get'](
'systemd:tofs:source_files:networkd',
['network']
)
) }}
- source: {{ files_switch(['network'],
lookup='networkd'
)
}}
- clean: True
- dir_mode: 755
- file_mode: 644
Expand Down
10 changes: 4 additions & 6 deletions systemd/resolved/init.sls
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,10 @@ resolved:
- group: root
- mode: 644
- template: jinja
- source: {{ files_switch(
salt['config.get'](
'systemd:tofs:source_files:resolved',
['resolved.conf']
)
) }}
- source: {{ files_switch(['resolved.conf'],
lookup='resolved'
)
}}
- listen_in:
- service: resolved
service.running:
Expand Down
10 changes: 4 additions & 6 deletions systemd/timesyncd/init.sls
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,10 @@ timesyncd:
{% endif %}
file.managed:
- name: /etc/systemd/timesyncd.conf
- source: {{ files_switch(
salt['config.get'](
'systemd:tofs:source_files:timesyncd',
['timesyncd.conf']
)
) }}
- source: {{ files_switch(['timesyncd.conf'],
lookup='timesyncd'
)
}}
cmd.wait:
- name: timedatectl set-ntp true
- runas: root
Expand Down

0 comments on commit 4bf9453

Please sign in to comment.