summaryrefslogtreecommitdiffstats
path: root/ansible/deployment_poc/tasks/configure_dns.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/deployment_poc/tasks/configure_dns.yml')
-rw-r--r--ansible/deployment_poc/tasks/configure_dns.yml44
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 }}"
+