Reviewed:  https://review.opendev.org/694165
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=f2608c91175411ec7c2604035adb39306d7e607e
Submitter: Zuul
Branch:    master

commit f2608c91175411ec7c2604035adb39306d7e607e
Author: Matt Riedemann <mriedem...@gmail.com>
Date:   Wed Nov 13 15:03:27 2019 -0500

    Create instance action when burying in cell0
    
    Change I8742071b55f018f864f5a382de20075a5b444a79 in Ocata
    moved the creation of the instance record from the API to
    conductor. As a result, the "create" instance action was
    only being created in conductor when the instance is created
    in a non-cell0 database. This is a regression because before
    that change when a server create would fail during scheduling
    you could still list instance actions for the server and see
    the "create" action but that was lost once we started burying
    those instances in cell0.
    
    This fixes the bug by creating the "create" action in the cell0
    database when burying an instance there. It goes a step further
    and also creates and finishes an event so the overall action
    message shows up as "Error" with the details about where the
    failure occurred in the event traceback.
    
    A short release note is added since a new action event is
    added here (conductor_schedule_and_build_instances) rather than
    re-use some kind of event that we could generate from the
    compute service, e.g. compute__do_build_and_run_instance.
    
    Change-Id: I1e9431e739adfbcfc1ca34b87e826a516a4b18e2
    Closes-Bug: #1852458


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1852458

Title:
  "create" instance action not created when instance is buried in cell0

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) ocata series:
  Triaged
Status in OpenStack Compute (nova) pike series:
  Triaged
Status in OpenStack Compute (nova) queens series:
  Triaged
Status in OpenStack Compute (nova) rocky series:
  Triaged
Status in OpenStack Compute (nova) stein series:
  Triaged
Status in OpenStack Compute (nova) train series:
  Triaged

Bug description:
  Before cell0 was introduced the API would create the "create" instance
  action for each instance in the nova cell database before casting off
  to conductor to do scheduling:

  https://github.com/openstack/nova/blob/mitaka-
  eol/nova/compute/api.py#L1180

  Note that conductor failed to "complete" the action with a failure
  event:

  https://github.com/openstack/nova/blob/mitaka-
  eol/nova/conductor/manager.py#L374

  But at least the action was created.

  Since then, with cell0, if scheduling fails the instance is buried in
  the cell0 database but no instance action is created. To illustrate, I
  disabled the single nova-compute service on my devstack host and
  created a server which failed with NoValidHost:

  $ openstack server show build-fail1 -f value -c fault
  {u'message': u'No valid host was found. ', u'code': 500, u'created': 
u'2019-11-13T15:57:13Z'}

  When listing instance actions I expected to see a "create" action but
  there were none:

  $ nova instance-action-list 008a7d52-dd83-4f52-a720-b3cfcc498259
  +--------+------------+---------+------------+------------+
  | Action | Request_ID | Message | Start_Time | Updated_At |
  +--------+------------+---------+------------+------------+
  +--------+------------+---------+------------+------------+

  This is because the "create" action is only created when the instance
  is scheduled to a specific cell:

  https://github.com/openstack/nova/blob/20.0.0/nova/conductor/manager.py#L1460

  Solution:

  The ComputeTaskManager._bury_in_cell0 method should also create a
  "create" action in cell0 like it does for the instance BDMs and tags.

  This goes back to Ocata: https://review.opendev.org/#/c/319379/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1852458/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to