mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-22 13:13:22 +02:00
76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
---
|
|
|
|
- name: Deploy nomad configuration
|
|
block:
|
|
- name: Deploy nomad configuration
|
|
template:
|
|
src: nomad.hcl.j2
|
|
dest: "{{ nomad_root_dir }}/etc/nomad.hcl"
|
|
owner: root
|
|
group: "{{ nomad_user }}"
|
|
mode: 0640
|
|
backup: True
|
|
register: nomad_main_conf
|
|
notify: restart nomad
|
|
|
|
- name: Deploy nomad reloadable configuration
|
|
template:
|
|
src: reload.hcl.j2
|
|
dest: "{{ nomad_root_dir }}/etc/reload.hcl"
|
|
owner: root
|
|
group: "{{ nomad_user }}"
|
|
mode: 0640
|
|
backup: True
|
|
register: nomad_reload_conf
|
|
notify: reload nomad
|
|
|
|
- name: Validate configuration
|
|
command: nomad config validate {{ nomad_root_dir }}/etc/nomad.hcl {{ nomad_root_dir }}/etc/reload.hcl
|
|
changed_when: False
|
|
become_user: "{{ nomad_user }}"
|
|
register: nomad_conf_validation
|
|
|
|
rescue:
|
|
- block:
|
|
- name: Restore main configuration
|
|
copy:
|
|
src: "{{ nomad_main_conf.backup_file }}"
|
|
dest: "{{ nomad_root_dir }}/etc/nomad.hcl"
|
|
remote_src: True
|
|
owner: root
|
|
group: "{{ nomad_user }}"
|
|
mode: 0640
|
|
when: nomad_main_conf.backup_file is defined
|
|
|
|
- name: Restore reloadable configuration
|
|
copy:
|
|
src: "{{ nomad_reload_conf.backup_file }}"
|
|
dest: "{{ nomad_root_dir }}/etc/reload.hcl"
|
|
remote_src: True
|
|
owner: root
|
|
group: "{{ nomad_user }}"
|
|
mode: 0640
|
|
when: nomad_reload_conf.backup_file is defined
|
|
|
|
tags: nomad
|
|
|
|
- name: Fail if configuration validation failed
|
|
fail:
|
|
msg: "Failed to validate configuration: {{ nomad_conf_validation.stdout }}"
|
|
when: nomad_conf_validation.rc != 0
|
|
tags: nomad
|
|
|
|
# Now we remove the backup config to prevent nomad warning about invalid config files
|
|
- name: List backup conf
|
|
shell: ls -1 {{ nomad_root_dir }}/etc/*.hcl.*
|
|
failed_when: False
|
|
changed_when: False
|
|
register: nomad_backup_configs
|
|
tags: nomad
|
|
|
|
- name: Remove backup configs
|
|
file: path={{ item }} state=absent
|
|
loop: "{{ nomad_backup_configs.stdout_lines }}"
|
|
tags: nomad
|
|
|