aboutsummaryrefslogtreecommitdiffstats
path: root/playbooks/util/decomission_host.yml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/util/decomission_host.yml')
-rw-r--r--playbooks/util/decomission_host.yml56
1 files changed, 56 insertions, 0 deletions
diff --git a/playbooks/util/decomission_host.yml b/playbooks/util/decomission_host.yml
new file mode 100644
index 0000000..dae4b16
--- /dev/null
+++ b/playbooks/util/decomission_host.yml
@@ -0,0 +1,56 @@
+- name: decomission host
+ hosts: '{{ host }}'
+ tasks:
+ - name: delete A record
+ ipadnsrecord:
+ ipaadmin_principal: '{{ ipa_user }}'
+ ipaadmin_password: '{{ ipa_pass }}'
+ zone_name: '{{ domain }}'
+ record_name: '{{ host }}'
+ record_type: A
+ record_value: '{{ ip }}'
+ state: absent
+ delegate_to: '{{ freeipa_master }}'
+
+ - name: delete PTR record
+ ipadnsrecord:
+ ipaadmin_principal: '{{ ipa_user }}'
+ ipaadmin_password: '{{ ipa_pass }}'
+ zone_name: "{{ ip | ansible.utils.ipaddr('revdns') | regex_replace('^[^.]+\\.', '') }}"
+ record_name: '{{ ip.split(".") | last }}'
+ record_type: PTR
+ record_value: '{{ fqdn ~ "." }}'
+ state: absent
+ delegate_to: '{{ freeipa_master }}'
+
+ - name: delete CNAME records
+ ipadnsrecord:
+ ipaadmin_principal: '{{ ipa_user }}'
+ ipaadmin_password: '{{ ipa_pass }}'
+ zone_name: "{{ domain }}"
+ record_name: '{{ item.split(".") | first }}'
+ record_type: CNAME
+ record_value: '{{ fqdn ~ "." }}'
+ state: absent
+ delegate_to: '{{ freeipa_master }}'
+ loop: '{{ cnames }}'
+
+ - name: delete host object
+ ipahost:
+ ipaadmin_principal: '{{ ipa_user }}'
+ ipaadmin_password: '{{ ipa_pass }}'
+ name: '{{ fqdn }}'
+ state: absent
+ delegate_to: '{{ ipa_host }}'
+
+ - name: delete proxmox vm
+ proxmox_kvm:
+ node: '{{ proxmox_node }}'
+ api_host: localhost
+ api_user: '{{ proxmox_api_user }}'
+ api_password: '{{ proxmox_api_password }}'
+ name: '{{ inventory_hostname }}'
+ force: yes
+ state: absent
+ delegate_to: '{{ proxmox_api_host }}'
+ when: "'proxmox_instances' in group_names"