In Pike, we added a UUID field to services and during an upgrade from
Ocata => Pike, when instances are accessed joined with their associated
services, we generate a UUID for the services on-the-fly.
This causes a problem in the scenario where an operator upgrades their
cluster and has old, deleted services with hostnames matching existing
services associated with instances. When we go to generate the service
UUID for the old, deleted service, we hit a ServiceTooOld exception.
This addresses the problem by not bothering to generate a UUID for a
deleted service. One alternative would be to exclude deleted services
when we join the 'instances' and 'services' tables, but I'm not sure
whether that approach might cause unintended effects where service
information that used to be viewable for instances becomes hidden.
Reviewed: https:/ /review. opendev. org/673821 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=72f9aa720f9 137a35d55b9f96e 2220d2d0e5588d
Committed: https:/
Submitter: Zuul
Branch: stable/rocky
commit 72f9aa720f9137a 35d55b9f96e2220 d2d0e5588d
Author: melanie witt <email address hidden>
Date: Thu Jul 12 21:48:23 2018 +0000
Don't generate service UUID for deleted services
In Pike, we added a UUID field to services and during an upgrade from
Ocata => Pike, when instances are accessed joined with their associated
services, we generate a UUID for the services on-the-fly.
This causes a problem in the scenario where an operator upgrades their
cluster and has old, deleted services with hostnames matching existing
services associated with instances. When we go to generate the service
UUID for the old, deleted service, we hit a ServiceTooOld exception.
This addresses the problem by not bothering to generate a UUID for a
deleted service. One alternative would be to exclude deleted services
when we join the 'instances' and 'services' tables, but I'm not sure
whether that approach might cause unintended effects where service
information that used to be viewable for instances becomes hidden.
Closes-Bug: #1778305
Closes-Bug: #1764556
Conflicts:
nova/ tests/functiona l/regressions/ test_bug_ 1764556. py
NOTE(mriedem): The conflict is due to eadd78efe3 removing the
func_fixtures import.
Change-Id: I347096a527c257 075cefe7b812106 22f6cd87daf 6f11fdb8a3af10a 28619fc105) 434f1d3c563a0e6 5458c8c86a)
(cherry picked from commit 16e163053ca3988
(cherry picked from commit 8601ca75b1515e7