← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1759863] [NEW] placement functional tests can collide when synchronising the traits table

 

Public bug reported:

The placement functional tests make use of the traits table. At the
start of most requests to the objects in resource_provider.py some code
is run to make sure that traits in the os-traits library are
synchronised to the table.

A global flag is present which says "I've already synchronised".
Functional tests are responsible for making sure this is in the right
state.

It turns out that this management was not complete, and after a recent
move of db/test_resource_provider.py and
db/test_allocation_candidates.py within the placement hierarchy the
delicate balance of how tests are split among processes by stestr was
upset. This leads to test failures where no traits are in the traits
table.

The fix is to ensure that functional tests manage the related db flags
both during setup and teardown and not rely solely on one or the other
(as people can easily get it wrong).

** Affects: nova
     Importance: Medium
     Assignee: Chris Dent (cdent)
         Status: Triaged


** Tags: placement testing

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

Title:
  placement functional tests can collide when synchronising the traits
  table

Status in OpenStack Compute (nova):
  Triaged

Bug description:
  The placement functional tests make use of the traits table. At the
  start of most requests to the objects in resource_provider.py some
  code is run to make sure that traits in the os-traits library are
  synchronised to the table.

  A global flag is present which says "I've already synchronised".
  Functional tests are responsible for making sure this is in the right
  state.

  It turns out that this management was not complete, and after a recent
  move of db/test_resource_provider.py and
  db/test_allocation_candidates.py within the placement hierarchy the
  delicate balance of how tests are split among processes by stestr was
  upset. This leads to test failures where no traits are in the traits
  table.

  The fix is to ensure that functional tests manage the related db flags
  both during setup and teardown and not rely solely on one or the other
  (as people can easily get it wrong).

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


Follow ups