56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
---
|
|
- name: ensure hiera datadir
|
|
file:
|
|
state: directory
|
|
path: "{{ hieradata }}/{{ hieraenvironment }}"
|
|
owner: root
|
|
group: root
|
|
mode: 0700
|
|
when: copy_hieradata is defined and copy_hieradata
|
|
- name: ensure hiera datadir - fqdn
|
|
file:
|
|
state: directory
|
|
path: "{{ hieradata }}/{{ hieraenvironment }}/fqdn"
|
|
owner: root
|
|
group: root
|
|
mode: 0700
|
|
when: copy_hieradata is defined and copy_hieradata
|
|
- name: ensure hiera datadir - group
|
|
file:
|
|
state: directory
|
|
path: "{{ hieradata }}/{{ hieraenvironment }}/group"
|
|
owner: root
|
|
group: root
|
|
mode: 0700
|
|
when: copy_hieradata is defined and copy_hieradata
|
|
- name: make file list
|
|
puppet_get_hiera_file_list:
|
|
fqdn: "{{ inventory_hostname }}"
|
|
groups: "{{ hostvars[inventory_hostname].group_names }}"
|
|
when: copy_hieradata is defined and copy_hieradata
|
|
delegate_to: localhost
|
|
register: hiera_file_paths
|
|
- name: find which files exist
|
|
stat:
|
|
path: "{{ hieradata }}/{{ hieraenvironment }}/{{ item }}"
|
|
register: st
|
|
with_items: hiera_file_paths.paths_dict.paths
|
|
delegate_to: localhost
|
|
when: copy_hieradata is defined and copy_hieradata
|
|
- name: copy hiera files
|
|
when: copy_hieradata is defined and copy_hieradataand item.1.stat.exists
|
|
copy:
|
|
src: "{{ hieradata }}/{{ hieraenvironment }}/{{ item.1.item }}"
|
|
dest: "{{ hieradata }}/{{ hieraenvironment }}/{{ item.1.item }}"
|
|
mode: 0600
|
|
with_together:
|
|
- hiera_file_paths.paths_dict.paths
|
|
- st.results
|
|
- name: run puppet
|
|
puppet:
|
|
puppetmaster: "{{ puppetmaster|default(omit) }}"
|
|
manifest: "{{ manifest|default(omit) }}"
|
|
show_diff: "{{ show_diff|default(false) }}"
|
|
facts: "{{ facts|default(omit) }}"
|
|
facter_basename: "{{ facter_basename|default(omit) }}"
|