Merge "Add ironic config files clean up tasks to overcloud deprovision"

This commit is contained in:
Zuul 2024-06-05 10:51:41 +00:00 committed by Gerrit Code Review
commit e266c8ab47
2 changed files with 44 additions and 0 deletions

View File

@ -50,6 +50,22 @@
Deprovision has not been confirmed. You must either type 'yes' when
prompted, or set ``confirm_deprovision=yes``.
- name: Get PXE MAC address
command: >
docker exec bifrost_deploy
bash -c '
export OS_CLOUD=bifrost &&
export OS_BAREMETAL_API_VERSION=1.34 &&
export BIFROST_INVENTORY_SOURCE=ironic &&
export BIFROST_NODE_NAMES="{{ inventory_hostname }}" &&
openstack baremetal port list --node {{ inventory_hostname }} --fields address -f value'
register: pxe_result
delegate_to: "{{ seed_host }}"
vars:
# NOTE: Without this, the seed's ansible_host variable will not be
# respected when using delegate_to.
ansible_host: "{{ hostvars[seed_host].ansible_host | default(seed_host) }}"
- name: Check the ironic node's initial provision state
command: >
docker exec bifrost_deploy
@ -160,3 +176,26 @@
- wait_available | bool
- initial_provision_state != 'available'
- final_provision_state != 'available'
- name: Delete host_vars file
become: yes
ansible.builtin.file:
path: /etc/kolla/bifrost/inventory/host_vars/{{ inventory_hostname }}
state: absent
delegate_to: "{{ seed_host }}"
vars:
# NOTE: Without this, the seed's ansible_host variable will not be
# respected when using delegate_to.
ansible_host: "{{ hostvars[seed_host].ansible_host | default(seed_host) }}"
- name: Delete ironic-mac-addr.conf
command: >
docker exec bifrost_deploy
bash -c '
rm -f /etc/dnsmasq.d/bifrost.dhcp-hosts.d/ironic-{{ item }}.conf'
loop: "{{ pxe_result.stdout_lines }}"
delegate_to: "{{ seed_host }}"
vars:
# NOTE: Without this, the seed's ansible_host variable will not be
# respected when using delegate_to.
ansible_host: "{{ hostvars[seed_host].ansible_host | default(seed_host) }}"

View File

@ -0,0 +1,5 @@
---
fixes:
- |
Fixes issue of ironic files being left behind after node deprovision which
prevents it from being enrolled and provisioned again.