Nova API downtime during Ocata upgrade

Bug #1749037 reported by Jimmy McCrory
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
High
Jesse Pretorius

Bug Description

Partially related to https://bugs.launchpad.net/openstack-ansible/+bug/1682169

Because of the transition to using cells during an N->O upgrade, instance data will be unavailable until the nova_manage tasks to 'discover hosts' and 'map instances' in https://github.com/openstack/openstack-ansible-os_nova/blob/master/tasks/nova_db_post_setup.yml are run.

These tasks are not run until the very end of the os-nova-install playbook and are run as delegated tasks from each compute host to a random conductor host.

They should be able to be run much earlier, directly by a conductor host, after cell1 is created.

It also seems inefficient to run the commands for every compute host, since only one run is actually necessary to handle discovery and mapping of any outstanding hosts or instances.

In environments where the deployment of the control plane is handled separately from the compute hosts, either by time or deployment process, these commands are currently required to be run manually following an upgrade from N->O for nova to become aware of already existing instances.

Changed in openstack-ansible:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible-os_nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/547072

Changed in openstack-ansible:
assignee: nobody → Jimmy McCrory (jimmy-mccrory)
status: Confirmed → In Progress
Changed in openstack-ansible:
assignee: Jimmy McCrory (jimmy-mccrory) → Jesse Pretorius (jesse-pretorius)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible-os_nova (master)

Reviewed: https://review.openstack.org/547072
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible-os_nova/commit/?id=6321cf90304023c20dc6abb87e2fa20107b7051d
Submitter: Zuul
Branch: master

commit 6321cf90304023c20dc6abb87e2fa20107b7051d
Author: Jimmy McCrory <email address hidden>
Date: Thu Feb 22 08:55:06 2018 -0800

    Rearrange cell mapping tasks

    Existing instances can be mapped to a newly created cell immediately
    after the cell is created and by the same conductor host that created
    the cell.

    After a new compute host is built, it will need to mapped to a cell
    through the 'discover_hosts' command of nova-manage. This command will
    still need to be run against a host that has direct database access, but
    the command is able to handle mapping of all compute hosts that do not
    currently belong to the cell so it only needs to be run once per play.

    There can be a short delay in the time between a compute service
    starting and becoming available to be discovered and mapped but, for
    most deployments, compute host discovery will be handled automatically
    as a periodic task.

    Change-Id: I4f7328e1aff79eb94f278999b97fbad8f44c6a3e
    Closes-Bug: 1749037
    Related-Bug: 1729661
    Related-Bug: 1752540

Changed in openstack-ansible:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible-os_nova (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/552898

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible-os_nova (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/552899

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-ansible-os_nova (stable/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/552900

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible-os_nova (stable/pike)

Reviewed: https://review.openstack.org/552899
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible-os_nova/commit/?id=c581c2af7b2bfdf60fb4467d7d5b17bed32fc85f
Submitter: Zuul
Branch: stable/pike

commit c581c2af7b2bfdf60fb4467d7d5b17bed32fc85f
Author: Jimmy McCrory <email address hidden>
Date: Thu Feb 22 08:55:06 2018 -0800

    Rearrange cell mapping tasks

    Existing instances can be mapped to a newly created cell immediately
    after the cell is created and by the same conductor host that created
    the cell.

    After a new compute host is built, it will need to mapped to a cell
    through the 'discover_hosts' command of nova-manage. This command will
    still need to be run against a host that has direct database access, but
    the command is able to handle mapping of all compute hosts that do not
    currently belong to the cell so it only needs to be run once per play.

    There can be a short delay in the time between a compute service
    starting and becoming available to be discovered and mapped but, for
    most deployments, compute host discovery will be handled automatically
    as a periodic task.

    Conflicts:
    >------tasks/main.yml

    Change-Id: I4f7328e1aff79eb94f278999b97fbad8f44c6a3e
    Closes-Bug: 1749037
    Related-Bug: 1729661
    Related-Bug: 1752540
    (cherry picked from commit 6321cf90304023c20dc6abb87e2fa20107b7051d)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible-os_nova (stable/ocata)

Reviewed: https://review.openstack.org/552900
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible-os_nova/commit/?id=707398789403293aaedc1d78ddc4a164611366c7
Submitter: Zuul
Branch: stable/ocata

commit 707398789403293aaedc1d78ddc4a164611366c7
Author: Jimmy McCrory <email address hidden>
Date: Thu Feb 22 08:55:06 2018 -0800

    Rearrange cell mapping tasks

    Existing instances can be mapped to a newly created cell immediately
    after the cell is created and by the same conductor host that created
    the cell.

    After a new compute host is built, it will need to mapped to a cell
    through the 'discover_hosts' command of nova-manage. This command will
    still need to be run against a host that has direct database access, but
    the command is able to handle mapping of all compute hosts that do not
    currently belong to the cell so it only needs to be run once per play.

    There can be a short delay in the time between a compute service
    starting and becoming available to be discovered and mapped but, for
    most deployments, compute host discovery will be handled automatically
    as a periodic task.

    Conflicts:
    >------tasks/main.yml

    Change-Id: I4f7328e1aff79eb94f278999b97fbad8f44c6a3e
    Closes-Bug: 1749037
    Related-Bug: 1729661
    Related-Bug: 1752540
    (cherry picked from commit 6321cf90304023c20dc6abb87e2fa20107b7051d)

tags: added: in-stable-ocata
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-ansible-os_nova (stable/queens)

Reviewed: https://review.openstack.org/552898
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible-os_nova/commit/?id=d451edc2b83128e182e8885adf01f925ea2f98b6
Submitter: Zuul
Branch: stable/queens

commit d451edc2b83128e182e8885adf01f925ea2f98b6
Author: Jimmy McCrory <email address hidden>
Date: Thu Feb 22 08:55:06 2018 -0800

    Rearrange cell mapping tasks

    Existing instances can be mapped to a newly created cell immediately
    after the cell is created and by the same conductor host that created
    the cell.

    After a new compute host is built, it will need to mapped to a cell
    through the 'discover_hosts' command of nova-manage. This command will
    still need to be run against a host that has direct database access, but
    the command is able to handle mapping of all compute hosts that do not
    currently belong to the cell so it only needs to be run once per play.

    There can be a short delay in the time between a compute service
    starting and becoming available to be discovered and mapped but, for
    most deployments, compute host discovery will be handled automatically
    as a periodic task.

    Conflicts:
    >------tasks/main.yml

    Change-Id: I4f7328e1aff79eb94f278999b97fbad8f44c6a3e
    Closes-Bug: 1749037
    Related-Bug: 1729661
    Related-Bug: 1752540
    (cherry picked from commit 6321cf90304023c20dc6abb87e2fa20107b7051d)

tags: added: in-stable-queens
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to openstack-ansible (stable/pike)

Reviewed: https://review.openstack.org/554675
Committed: https://git.openstack.org/cgit/openstack/openstack-ansible/commit/?id=5ca262641f5a8182d0f87c413f919c47b43b27ac
Submitter: Zuul
Branch: stable/pike

commit 5ca262641f5a8182d0f87c413f919c47b43b27ac
Author: d34dh0r53 <email address hidden>
Date: Tue Mar 20 14:44:51 2018 -0500

    Update os_nova SHA

    This updates the os_nova SHA to pull in the Nova API downtime fixes for
    bug 1749037.

    Related-Bug: 1749037
    Related-Bug: 1729661
    Related-Bug: 1752540

    Depends-On: https://review.openstack.org/552899

    Change-Id: I3e21a4b741c88a72294175786bf66df8ab19e390

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-ansible-os_nova 16.0.10

This issue was fixed in the openstack/openstack-ansible-os_nova 16.0.10 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-ansible-os_nova 17.0.2

This issue was fixed in the openstack/openstack-ansible-os_nova 17.0.2 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-ansible-os_nova 15.1.19

This issue was fixed in the openstack/openstack-ansible-os_nova 15.1.19 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-ansible-os_nova 18.0.0.0b1

This issue was fixed in the openstack/openstack-ansible-os_nova 18.0.0.0b1 development milestone.

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.