← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1439223] [NEW] misleading power state logging in _sync_instance_power_state

 

Public bug reported:

Commit aa1792eb4c1d10e9a192142ce7e20d37871d916a added more verbose
logging of the various database and hypervisor states when
_sync_instance_power_state is called (which can be called from
handle_lifecycle_event - triggered by the libvirt driver, or from the
_sync_power_states periodic task).

The current instance power_state from the DB's POV and the power state
from the hypervisor's POV (via handle_lifecycle_event) can be different
and if they are different, the database is updated with the power_state
from the hypervisor and the local db_power_state variable is updated to
be the same as the vm_power_state (from the hypervisor).

Then later, the db_power_state value is used to log the different states
when we have conditions like the database says an instance is running /
active but the hypervisor says it's stopped, so we call
compute_api.stop().

We should be logging the original database power state and the
power_state from the hypervisor to more accurately debug when we're out
of sync.

This is already fixed on master:
https://review.openstack.org/#/c/159263/

I'm reporting the bug so it this can be backported to stable/juno.

** Affects: nova
     Importance: Medium
     Assignee: Matt Riedemann (mriedem)
         Status: Fix Committed


** Tags: compute juno-backport-potential logging serviceability

** Tags added: juno-backport-potential

** Changed in: nova
     Assignee: (unassigned) => Matt Riedemann (mriedem)

** Changed in: nova
       Status: New => Fix Committed

** Changed in: nova
   Importance: Undecided => Medium

-- 
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/1439223

Title:
  misleading power state logging in _sync_instance_power_state

Status in OpenStack Compute (Nova):
  Fix Committed

Bug description:
  Commit aa1792eb4c1d10e9a192142ce7e20d37871d916a added more verbose
  logging of the various database and hypervisor states when
  _sync_instance_power_state is called (which can be called from
  handle_lifecycle_event - triggered by the libvirt driver, or from the
  _sync_power_states periodic task).

  The current instance power_state from the DB's POV and the power state
  from the hypervisor's POV (via handle_lifecycle_event) can be
  different and if they are different, the database is updated with the
  power_state from the hypervisor and the local db_power_state variable
  is updated to be the same as the vm_power_state (from the hypervisor).

  Then later, the db_power_state value is used to log the different
  states when we have conditions like the database says an instance is
  running / active but the hypervisor says it's stopped, so we call
  compute_api.stop().

  We should be logging the original database power state and the
  power_state from the hypervisor to more accurately debug when we're
  out of sync.

  This is already fixed on master:
  https://review.openstack.org/#/c/159263/

  I'm reporting the bug so it this can be backported to stable/juno.

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


Follow ups

References