diff options
Diffstat (limited to 'ansible/deployment_poc/tasks/configure_dns.yml')
-rw-r--r-- | ansible/deployment_poc/tasks/configure_dns.yml | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ansible/deployment_poc/tasks/configure_dns.yml b/ansible/deployment_poc/tasks/configure_dns.yml new file mode 100644 index 0000000..6f1896c --- /dev/null +++ b/ansible/deployment_poc/tasks/configure_dns.yml @@ -0,0 +1,44 @@ +--- +- name: Configure DNS + block: + - name: Set FQDNs + set_fact: + dns_fqdn: "{{ lookup('community.general.dig', dns_ip + '/PTR') }}" + vm_fqdn: "{{ vm_name + '.' + namespace }}" + + - name: Gather DNS hostname and zonename + set_fact: + dns_host: "{{ dns_fqdn.split('.')[0] }}" + zone: "{{ namespace.split('.')[1] + '.' + namespace.split('.')[2] }}" + + - name: Set DNS host OS + set_fact: + dns_os: "{{ hostvars[dns_host]['platforms'][0] }}" + + - name: Insert DNS record + ansible.builtin.blockinfile: + #backup: yes + block: "{{ lookup('template', '../templates/nsd_zone.j2') }}" + marker: "; {mark} Ansible managed block for {{ vm_name }}" + path: "/var/nsd/zones/master/{{ zone }}.zone" + when: dns_os == 'openbsd-x86_64' + delegate_to: "{{ dns_host }}" + + - name: Insert DNS static host mapping + vyos.vyos.vyos_config: + backup: yes + backup_options: + dir_path: "/tmp/" + comment: "Configured as part of {{ vm_name }} deployment" + lines: + - "set system static-host-mapping host-name {{ vm_fqdn }} inet {{ ip_address }}" + - "set system static-host-mapping host-name {{ vm_fqdn }} alias {{ vm_name }}" + save: no # CHANGE BEFORE ROLLOUT + when: dns_os == 'vyos-x86_64' + delegate_to: "{{ dns_host }}" + + always: + - name: Debug + ansible.builtin.debug: + msg: "{{ dns_ip if dns_ip is defined }} - {{ dns_host if dns_host is defined }} - {{ dns_fqdn if dns_fqdn is defined }} - {{ dns_os if dns_os is defined }} - {{ vm_fqdn if vm_fqdn is defined }} - {{ zone if zone is defined }}" + |