nova/nova/tests/unit/servicegroup
Chris Friesen b9bae02af2 fix "down" nova-compute service spuriously marked as "up"
Currently we use the auto-updated "updated_at" field to determine
whether a service is "up".  An end-user can cause the "updated_at"
field to be updated by disabling or enabling the service, thus
potentially causing a service that is unavailable to be detected
as "up".  This could result in the scheduler trying to assign
instances to an unavailable compute node, or in the system
mistakenly preventing evacuation of an instance.

The fix is to add a new field to explicitly track the timestamp of
the last time the service sent in a status report and use that if
available when testing whether the service is up.

DocImpact
This commit will cause a behaviour change for the DB servicegroup
driver.  It will mean that enabling/disabling the service will
cause the "updated_at" field to change (as before) but that will
no longer be tied to the "up/down" status of the service. So
"nova service-list" could show the service as "down" even if it
shows a recent "updated_at".  (But this could happen for the other
servicegroup drivers already.)

Closes-Bug: #1420848
Change-Id: Ied7d47363d0489bca3cf2c711217e1a3b7d24a03
2015-06-10 13:18:06 -06:00
..
__init__.py move all tests to nova/tests/unit 2014-11-12 15:31:08 -05:00
test_db_servicegroup.py fix "down" nova-compute service spuriously marked as "up" 2015-06-10 13:18:06 -06:00
test_mc_servicegroup.py servicegroup: remove get_all method never used as public 2015-05-07 03:50:05 -04:00
test_zk_driver.py Fix up join() and leave() methods of servicegroup 2015-03-11 23:22:11 +00:00