Advertisement
Guest User

Untitled

a guest
Jul 10th, 2015
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. #!jinja|yaml
  2. # vi: set ft=yaml.jinja :
  3.  
  4. {% set patches_dir = "/var/cache/salt/patches-" ~ grains.get('saltversion', 'unknown') %}
  5. {% set patches_source = "salt_patches/files/" ~ grains.get('saltversion', 'unknown') %}
  6. {% set patches_done_dir = '/etc/salt/patched' %}
  7.  
  8. salt_install_patch:
  9. pkg:
  10. - installed
  11. - name: patch
  12.  
  13. salt_download_patches:
  14. file.recurse:
  15. - name: {{ patches_dir }}
  16. - source: salt://{{ patches_source }}
  17.  
  18. salt_patches_done_dir:
  19. file.directory:
  20. - name: {{ patches_done_dir }}
  21. - user: root
  22. - group: root
  23. - mode: 755
  24.  
  25. {%- for full_file in salt['cp.list_master'](saltenv=salt.environment, prefix=patches_source) -%}
  26. {%- set file = full_file|replace(patches_source ~ '/', '') -%}
  27. {%- set done_file = grains.get('saltversion', 'unknown') ~ '_' ~ file|replace('/', '_') %}
  28. {{ full_file }}:
  29. cmd.run:
  30. - cwd: '/usr/lib/python2.7/dist-packages/salt'
  31. - name: patch -p2 < {{ patches_dir }}/{{ file }} && touch {{ patches_done_dir }}/{{ done_file }} || exit 1
  32. - unless: test -f {{ patches_done_dir }}/{{ done_file }}
  33. - require:
  34. - file: salt_patches_done_dir
  35. - pkg: salt_install_patch
  36. - watch:
  37. - file: salt_download_patches
  38. {% endfor %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement