2017-02-14 06:10:13 -05:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# vim: ft=jinja
|
|
|
|
|
2020-06-26 12:24:57 -04:00
|
|
|
{#- Get the `tplroot` from `tpldir` #}
|
|
|
|
{%- set tplroot = tpldir.split('/')[0] %}
|
|
|
|
{#- Start imports as #}
|
|
|
|
{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %}
|
|
|
|
{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %}
|
|
|
|
{%- import_yaml tplroot ~ "/osmap.yaml" as osmap %}
|
|
|
|
{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %}
|
2017-02-14 08:23:00 -05:00
|
|
|
|
fix: make necessary modifications to get working on `salt-ssh`
* https://freenode.logbot.info/saltstack-formulas/20200506#c3811885-c3812572
* Avoid `defaults.merge`
* Send template values by `context`, to avoid:
```python
ID: logrotate-config
Function: file.managed
Name: /etc/logrotate.conf
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/state.py", line 1981, in call
**cdata['kwargs'])
File "/var/tmp/.root_08c4d3_salt/pyall/salt/loader.py", line 1977, in wrapper
return f(*args, **kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/states/file.py", line 3037, in managed
**kwargs
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4846, in check_managed_changes
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4287, in get_managed
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 169, in render_tmpl
output = render_str(tmplstr, context, tmplpath)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 443, in render_jinja_tmpl
trace=tracestr)
salt.exceptions.SaltRenderError: Jinja error: logrotate/map.jinja
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
; line 1
---
{%- from "logrotate/map.jinja" import logrotate with context -%} <======================
{%- set config = salt['pillar.get']('logrotate:default_config', logrotate.default_config) -%}
{%- set processed_parameters = [] -%}
{%- macro set_parameter(parameter, default=None) -%}
[...]
```
2020-05-06 10:41:03 -04:00
|
|
|
{#- Retrieve the config dict only once #}
|
2020-06-26 12:24:57 -04:00
|
|
|
{%- set _config = salt['config.get'](tplroot, default={}) %}
|
|
|
|
|
fix: make necessary modifications to get working on `salt-ssh`
* https://freenode.logbot.info/saltstack-formulas/20200506#c3811885-c3812572
* Avoid `defaults.merge`
* Send template values by `context`, to avoid:
```python
ID: logrotate-config
Function: file.managed
Name: /etc/logrotate.conf
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/state.py", line 1981, in call
**cdata['kwargs'])
File "/var/tmp/.root_08c4d3_salt/pyall/salt/loader.py", line 1977, in wrapper
return f(*args, **kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/states/file.py", line 3037, in managed
**kwargs
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4846, in check_managed_changes
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4287, in get_managed
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 169, in render_tmpl
output = render_str(tmplstr, context, tmplpath)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 443, in render_jinja_tmpl
trace=tracestr)
salt.exceptions.SaltRenderError: Jinja error: logrotate/map.jinja
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
; line 1
---
{%- from "logrotate/map.jinja" import logrotate with context -%} <======================
{%- set config = salt['pillar.get']('logrotate:default_config', logrotate.default_config) -%}
{%- set processed_parameters = [] -%}
{%- macro set_parameter(parameter, default=None) -%}
[...]
```
2020-05-06 10:41:03 -04:00
|
|
|
{%- set defaults = salt['grains.filter_by'](
|
|
|
|
default_settings,
|
2020-06-26 12:24:57 -04:00
|
|
|
default=tplroot,
|
fix: make necessary modifications to get working on `salt-ssh`
* https://freenode.logbot.info/saltstack-formulas/20200506#c3811885-c3812572
* Avoid `defaults.merge`
* Send template values by `context`, to avoid:
```python
ID: logrotate-config
Function: file.managed
Name: /etc/logrotate.conf
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/state.py", line 1981, in call
**cdata['kwargs'])
File "/var/tmp/.root_08c4d3_salt/pyall/salt/loader.py", line 1977, in wrapper
return f(*args, **kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/states/file.py", line 3037, in managed
**kwargs
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4846, in check_managed_changes
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4287, in get_managed
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 169, in render_tmpl
output = render_str(tmplstr, context, tmplpath)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 443, in render_jinja_tmpl
trace=tracestr)
salt.exceptions.SaltRenderError: Jinja error: logrotate/map.jinja
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
; line 1
---
{%- from "logrotate/map.jinja" import logrotate with context -%} <======================
{%- set config = salt['pillar.get']('logrotate:default_config', logrotate.default_config) -%}
{%- set processed_parameters = [] -%}
{%- macro set_parameter(parameter, default=None) -%}
[...]
```
2020-05-06 10:41:03 -04:00
|
|
|
merge=salt['grains.filter_by'](
|
|
|
|
osfamilymap,
|
|
|
|
grain='os_family',
|
|
|
|
merge=salt['grains.filter_by'](
|
|
|
|
osmap,
|
|
|
|
grain='os',
|
|
|
|
merge=salt['grains.filter_by'](
|
2020-06-26 12:24:57 -04:00
|
|
|
osfingermap,
|
|
|
|
grain='osfinger',
|
|
|
|
merge=salt['grains.filter_by'](
|
|
|
|
_config,
|
|
|
|
default='lookup'
|
|
|
|
)
|
fix: make necessary modifications to get working on `salt-ssh`
* https://freenode.logbot.info/saltstack-formulas/20200506#c3811885-c3812572
* Avoid `defaults.merge`
* Send template values by `context`, to avoid:
```python
ID: logrotate-config
Function: file.managed
Name: /etc/logrotate.conf
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/state.py", line 1981, in call
**cdata['kwargs'])
File "/var/tmp/.root_08c4d3_salt/pyall/salt/loader.py", line 1977, in wrapper
return f(*args, **kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/states/file.py", line 3037, in managed
**kwargs
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4846, in check_managed_changes
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/modules/file.py", line 4287, in get_managed
**kwargs)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 169, in render_tmpl
output = render_str(tmplstr, context, tmplpath)
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 443, in render_jinja_tmpl
trace=tracestr)
salt.exceptions.SaltRenderError: Jinja error: logrotate/map.jinja
Traceback (most recent call last):
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/templates.py", line 394, in render_jinja_tmpl
output = template.render(**decoded_context)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/tmp/.root_08c4d3_salt/pyall/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "<template>", line 1, in top-level template code
File "/var/tmp/.root_08c4d3_salt/pyall/salt/utils/jinja.py", line 193, in get_source
raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: logrotate/map.jinja
; line 1
---
{%- from "logrotate/map.jinja" import logrotate with context -%} <======================
{%- set config = salt['pillar.get']('logrotate:default_config', logrotate.default_config) -%}
{%- set processed_parameters = [] -%}
{%- macro set_parameter(parameter, default=None) -%}
[...]
```
2020-05-06 10:41:03 -04:00
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
%}
|
2017-02-14 06:10:13 -05:00
|
|
|
|
2020-06-26 12:24:57 -04:00
|
|
|
{%- set config = salt['grains.filter_by'](
|
|
|
|
{'defaults': defaults},
|
|
|
|
default='defaults',
|
|
|
|
merge=_config
|
|
|
|
)
|
|
|
|
%}
|
|
|
|
|
|
|
|
{#- Change **logrotate** to match with your formula's name and then remove this line #}
|
|
|
|
{%- set logrotate = config %}
|
|
|
|
|
|
|
|
{#- Post-processing for specific non-YAML customisations #}
|
|
|
|
{%- if grains.os == 'MacOS' %}
|
|
|
|
{%- set macos_group = salt['cmd.run']("stat -f '%Sg' /dev/console") %}
|
|
|
|
{%- do logrotate.update({'rootgroup': macos_group}) %}
|
|
|
|
{%- endif %}
|