Scale down fails in split-stack

Bug #1858459 reported by Emilien Macchi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Emilien Macchi

Bug Description

In Train, we added support to execute Ansible tasks just before node(s) are deleted during a scale-down. e.g. RHSM unregister, Nova Compute service teardown, etc.

The issue is that these Ansible tasks only run on the nodes that are given as Nova UUID argument in "openstack overcloud node delete" command and later converted to Ironic hostnames so Ansible knows how to limit the playbooks to a certain group of hosts which are removed.

The lookup obviously fails in split stack since the nodes aren't in Ironic:
msg='IronicAction.node.get_by_instance_uuid failed: Not Found (HTTP HTTPStatus.NOT_FOUND)'

The problem is a bit more than that, and also affects the new nova-less deployment which also doesn't use Nova UUID anymore.

A first step is to skip Ansible if Split-Stack or Nova-less is used in the deployment.
A second step will be to fix the lookup to return a correct hostname so Ansible can run on these nodes before the actual node removal.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-common (master)

Fix proposed to branch: master
Review: https://review.opendev.org/701255

Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-common (stable/train)

Fix proposed to branch: stable/train
Review: https://review.opendev.org/701280

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-common (master)

Reviewed: https://review.opendev.org/701255
Committed: https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=e366245ecdb0075e044f18d5477e22d17fc78e85
Submitter: Zuul
Branch: master

commit e366245ecdb0075e044f18d5477e22d17fc78e85
Author: Emilien Macchi <email address hidden>
Date: Mon Jan 6 12:00:53 2020 -0500

    workbooks/deployment: ignore uuid to hostname errors with splitstack & nova-less

    The lookup that converts a Nova server UUID into a node hostname from
    Ironic doesn't work if the baremetal is managed in split-stack &
    nova-less.

    For the time being we address these 2 use cases, let's just skip Ansible
    scale down tasks for these deployments.

    A proper lookup will be provided in the future and backported down to
    stable/train.

    Change-Id: I90f7f5a8966a6942e5dcfeb753996df420665be7
    Closes-Bug: #1858459

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-common (stable/train)

Reviewed: https://review.opendev.org/701280
Committed: https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=a1088e862b228089e2fcc508ed06ac6684fbc52c
Submitter: Zuul
Branch: stable/train

commit a1088e862b228089e2fcc508ed06ac6684fbc52c
Author: Emilien Macchi <email address hidden>
Date: Mon Jan 6 12:00:53 2020 -0500

    workbooks/deployment: ignore uuid to hostname errors with splitstack & nova-less

    The lookup that converts a Nova server UUID into a node hostname from
    Ironic doesn't work if the baremetal is managed in split-stack &
    nova-less.

    For the time being we address these 2 use cases, let's just skip Ansible
    scale down tasks for these deployments.

    A proper lookup will be provided in the future and backported down to
    stable/train.

    Change-Id: I90f7f5a8966a6942e5dcfeb753996df420665be7
    Closes-Bug: #1858459
    (cherry picked from commit e366245ecdb0075e044f18d5477e22d17fc78e85)

tags: added: in-stable-train
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-common 12.1.0

This issue was fixed in the openstack/tripleo-common 12.1.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.