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
Change-Id: I347096a527c257075cefe7b81210622f6cd87daf
(cherry picked from commit 16e163053ca39886f11fdb8a3af10a28619fc105)
Reviewed: https:/ /review. opendev. org/673814 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=11fde850e61 63b68e006e74640 6e6c5e6ac980e0
Committed: https:/
Submitter: Zuul
Branch: stable/stein
commit 11fde850e6163b6 8e006e746406e6c 5e6ac980e0
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
Change-Id: I347096a527c257 075cefe7b812106 22f6cd87daf 6f11fdb8a3af10a 28619fc105)
(cherry picked from commit 16e163053ca3988