From 382792e76b35cefebf30de92885811a3a5fb453a Mon Sep 17 00:00:00 2001 From: Rajeshwari Dharwadkar Date: Tue, 11 Jun 2019 13:08:22 -0700 Subject: [PATCH] Fix the ssh issue from compute nodes to deployer during remove compute node. Issue: QE hit this issue in remove compute. when compute host is trying to ssh to deployer. Error: compute node trying to ssh to deployer "msg": "Failed to connect to the host via ssh: --- doc/source/operations.rst | 2 ++ playbooks/generic-clean_airship.yml | 13 +++++++++---- playbooks/remove_compute.yml | 2 +- .../openstack-remove-compute/tasks/main.yml | 19 ++++++------------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/doc/source/operations.rst b/doc/source/operations.rst index 117bf0063..340999b7d 100644 --- a/doc/source/operations.rst +++ b/doc/source/operations.rst @@ -106,6 +106,8 @@ directory: .. note:: + NODE_HOSTNAME must be same as host name in ansible inventory. + Compute nodes must be removed individually. When the node has been successfully removed, the host details must be manually removed from "airship-openstack-compute-workers" group in the inventory. diff --git a/playbooks/generic-clean_airship.yml b/playbooks/generic-clean_airship.yml index 36b285570..11bde8e48 100644 --- a/playbooks/generic-clean_airship.yml +++ b/playbooks/generic-clean_airship.yml @@ -13,12 +13,17 @@ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. -# -- hosts: airship-openstack-compute-workers + +- hosts: soc-deployer gather_facts: no any_errors_fatal: true - roles: - - { role: openstack-remove-compute, compute_node_name: "{{ inventory_hostname }}" } + tasks: + - name: Remove compute nodes. + include_role: + name: openstack-remove-compute + loop: "{{ groups['airship-openstack-compute-workers'] }}" + loop_control: + loop_var: compute_node_name - hosts: soc-deployer gather_facts: no diff --git a/playbooks/remove_compute.yml b/playbooks/remove_compute.yml index 456378152..c65af3b33 100644 --- a/playbooks/remove_compute.yml +++ b/playbooks/remove_compute.yml @@ -1,5 +1,5 @@ --- -- hosts: airship-openstack-compute-workers +- hosts: soc-deployer gather_facts: yes any_errors_fatal: true roles: diff --git a/playbooks/roles/openstack-remove-compute/tasks/main.yml b/playbooks/roles/openstack-remove-compute/tasks/main.yml index 065d2cdd6..03309593e 100644 --- a/playbooks/roles/openstack-remove-compute/tasks/main.yml +++ b/playbooks/roles/openstack-remove-compute/tasks/main.yml @@ -6,47 +6,42 @@ environment: OS_CLOUD: openstack register: compute_id - delegate_to: "{{ groups['soc-deployer'][0] }}" failed_when: false changed_when: false - name: Validate compute node id. debug: msg: "Compute node {{ compute_node_name }} does not exists in openstack." - when: compute_id.stdout | length | int == 0 + when: compute_id is defined and compute_id.stdout | length | int == 0 - name: Get VM list from compute node. command: "openstack server list --host {{ compute_node_name }}" environment: OS_CLOUD: openstack register: vm_exist - delegate_to: "{{ groups['soc-deployer'][0] }}" failed_when: false changed_when: false - name: Validate VM(s) exists on compute node. fail: msg: "VM(s) exists on compute node {{ compute_node_name }}." - when: vm_exist.stdout | length | int != 0 + when: vm_exist is defined and vm_exist.stdout | length | int != 0 - name: Check for control-plane label. shell: | set -o pipefail kubectl get node {{ compute_node_name }} --show-labels | grep openstack-control-plane=enabled register: node_label_result - delegate_to: "{{ groups['soc-deployer'][0] }}" failed_when: false changed_when: false - name: Remove openstack-compute-node label from compute node command: "kubectl label node {{ compute_node_name }} openstack-compute-node-" - delegate_to: "{{ groups['soc-deployer'][0] }}" changed_when: false - name: Remove openvswitch label from compute node. command: "kubectl label node {{ compute_node_name }} openvswitch-" - delegate_to: "{{ groups['soc-deployer'][0] }}" - when: node_label_result.stdout | length | int == 0 + when: node_label_result is defined and node_label_result.stdout | length | int == 0 - name: Wait for compute pods to terminate shell: | @@ -56,7 +51,6 @@ until: nova_pod_name.stdout | length | int == 0 retries: 30 delay: 10 - delegate_to: "{{ groups['soc-deployer'][0] }}" failed_when: false changed_when: false @@ -64,8 +58,7 @@ command: "openstack compute service delete {{ compute_id.stdout }}" environment: OS_CLOUD: openstack - delegate_to: "{{ groups['soc-deployer'][0] }}" - when: compute_id.stdout | length | int != 0 + when: compute_id is defined and compute_id.stdout | length | int != 0 failed_when: false - name: Delete subvolumes from compute node. @@ -73,7 +66,7 @@ name: airship-configure-worker tasks_from: subvolumes-setup.yml delegate_to: '{{ compute_node_name }}' + when: compute_node_name in groups['airship-openstack-compute-workers'] vars: clean_compute: "delete_subvolume" - clean_control_node: '{{ node_label_result.stdout }}' - + clean_control_node: '{{ node_label_result.stdout | default("") }}'