tripleo-quickstart-extras/roles/overcloud-scale/tasks/delete-original-node.yml

64 lines
2.0 KiB
YAML

---
# Delete the scaled node
- name: Check the overcloud heat stack-list state
shell: >
source {{ working_dir }}/stackrc;
heat stack-list
register: heat_stack_list_result
- name: Verify the overcloud is in a complete state
fail: msg='Overcloud heat stack is not in a complete state'
when: heat_stack_list_result.stdout.find('COMPLETE') == -1
- name: Register uuid of original {{ node_to_scale }} node
shell: >
source {{ working_dir }}/stackrc;
nova list | grep -m 1 {{ node_to_scale }} | sed -e 's/|//g' | awk '{print $1}'
register: node_id_to_delete
- name: Register the Name of the original {{ node_to_scale }} node
shell: >
source {{ working_dir }}/stackrc;
nova list | grep -m 1 {{ node_to_scale }} | sed -e 's/|//g' | awk '{print $2}'
register: node_name_to_delete
- name: Display node name to be deleted
debug: msg={{ node_name_to_delete.stdout }}
- name: Copy delete node script to undercloud
template:
src: delete-node.j2
dest: "{{ working_dir }}/delete-node.sh"
mode: 0755
- name: Delete node by id
shell: >
cat {{ working_dir }}/delete-node.sh;
{{ working_dir }}/delete-node.sh &> delete_node_scale_console.log;
# Verify the delete was successful
- name: Poll heat stack-list to determine when node delete is complete
shell: >
source {{ working_dir }}/stackrc;
heat stack-list
register: heat_stack_list_result
until: heat_stack_list_result.stdout.find("COMPLETE") != -1
retries: 20
delay: 90
- name: Determine the post scale node count
shell: >
source {{ working_dir }}/stackrc;
nova list | grep {{ node_to_scale }} | cut -f2- -d':' | wc -l
register: post_scale_node_count
- name: Remove deleted hosts from the host file
shell: >
sed -i '/{{ node_name_to_delete.stdout }}/d' {{ local_working_dir }}/hosts
delegate_to: localhost
- name: Check that post delete node count is correct
fail: msg=Overcloud nova list does not show expected number of {{ node_to_scale }} services
when: post_scale_node_count.stdout != {{ initial_scale_value }}