Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(tofs): avoid using “salt['config.get']” for formula writers #77

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions docs/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
10 changes: 4 additions & 6 deletions template/config/file.sls
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@ include:
template-config-file-file-managed:
file.managed:
- name: {{ template.config }}
- source: {{ files_switch(
salt['config.get'](
tplroot ~ ':tofs:source_files:template-config-file-file-managed',
['example.tmpl', 'example.tmpl.jinja']
)
) }}
- source: {{ files_switch(['example.tmpl', 'example.tmpl.jinja'],
lookup='template-config-file-file-managed'
)
}}
- mode: 644
- user: root
- group: root
Expand Down
19 changes: 12 additions & 7 deletions template/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
myii marked this conversation as resolved.
Show resolved Hide resolved
* 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 [''] %}
{%- 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