ansible-role-puppet_client/tasks/configure.yml

112 lines
2.9 KiB
YAML

---
- name: Obtain path to puppet binary using which
shell: which puppet | true
register: which_puppet
- name: Show which_puppet
debug:
msg: "{{ which_puppet }}"
- name: Obtain path to puppet binary using whereis
shell: "whereis -b puppet | awk 'BEGIN {FS=\" \"} {print($2)}'"
register: which_puppet
when: which_puppet.stdout == ""
- name: Get puppet permissions
stat:
path: "{{ which_puppet.stdout }}"
register: which_puppet_stat
- name: Set fact for puppet path
set_fact:
puppet_cmd: "{{ which_puppet.stdout }}"
when:
- which_puppet.stdout != ""
- which_puppet_stat.stat.executable
- name: Set fact for puppet path to estimated path when not found
set_fact:
puppet_cmd: "/usr/local/bin/puppet"
when: which_puppet.stdout == "" or not which_puppet_stat.stat.executable
- name: Obtain puppet configuration directory
shell: "{{ puppet_cmd }} config print confdir"
register: current_puppet_confdir
- name: Ensure puppet server is configured in main section
ini_file:
path: "{{ current_puppet_confdir.stdout }}/puppet.conf"
section: main
option: server
value: "{{ puppet_server }}"
backup: yes
create: yes
mode: 0644
- name: Ensure puppet server is configured in master section
ini_file:
path: "{{ current_puppet_confdir.stdout }}/puppet.conf"
section: master
option: server
value: "{{ puppet_server }}"
backup: yes
create: yes
mode: 0644
- name: Ensure puppet port is configured in main section
ini_file:
path: "{{ current_puppet_confdir.stdout }}/puppet.conf"
section: main
option: serverport
value: "{{ puppet_server_port }}"
backup: yes
create: yes
mode: 0644
- name: Ensure puppet port is configured in master section
ini_file:
path: "{{ current_puppet_confdir.stdout }}/puppet.conf"
section: master
option: port
value: "{{ puppet_server_port }}"
backup: yes
create: yes
mode: 0644
- name: Ensure puppet run interval is configured in main section
ini_file:
path: "{{ current_puppet_confdir.stdout }}/puppet.conf"
section: main
option: runinterval
value: "{{ puppet_runinterval }}"
backup: yes
create: yes
mode: 0644
- name: Ensure puppet run interval is configured in master section
ini_file:
path: "{{ current_puppet_confdir.stdout }}/puppet.conf"
section: master
option: runinterval
value: "{{ puppet_runinterval }}"
backup: yes
create: yes
mode: 0644
- name: Run puppet for the first time
shell: "{{ puppet_cmd }} agent -t"
when: run_puppet
- name: Ensure puppet agent service is enabled and started
service:
name: puppet
enabled: yes
state: started
when: "'WSL' not in ansible_facts['kernel']"
- name: Ensure puppet agent cron exists (WSL only)
cron:
name: puppet agent
job: puppet agent -t
minute: '30'
when: "'WSL' in ansible_facts['kernel']"