Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!jinja|yaml
- # vi: set ft=yaml.jinja :
- {% set patches_dir = "/var/cache/salt/patches-" ~ grains.get('saltversion', 'unknown') %}
- {% set patches_source = "salt_patches/files/" ~ grains.get('saltversion', 'unknown') %}
- {% set patches_done_dir = '/etc/salt/patched' %}
- salt_install_patch:
- pkg:
- - installed
- - name: patch
- salt_download_patches:
- file.recurse:
- - name: {{ patches_dir }}
- - source: salt://{{ patches_source }}
- salt_patches_done_dir:
- file.directory:
- - name: {{ patches_done_dir }}
- - user: root
- - group: root
- - mode: 755
- {%- for full_file in salt['cp.list_master'](saltenv=salt.environment, prefix=patches_source) -%}
- {%- set file = full_file|replace(patches_source ~ '/', '') -%}
- {%- set done_file = grains.get('saltversion', 'unknown') ~ '_' ~ file|replace('/', '_') %}
- {{ full_file }}:
- cmd.run:
- - cwd: '/usr/lib/python2.7/dist-packages/salt'
- - name: patch -p2 < {{ patches_dir }}/{{ file }} && touch {{ patches_done_dir }}/{{ done_file }} || exit 1
- - unless: test -f {{ patches_done_dir }}/{{ done_file }}
- - require:
- - file: salt_patches_done_dir
- - pkg: salt_install_patch
- - watch:
- - file: salt_download_patches
- {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement