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)
(cherry picked from commit 8601ca75b1515e7434f1d3c563a0e65458c8c86a)
(cherry picked from commit d9094e54fbb6a25c8cf189c4fd9fbb8d66cec145)
Reviewed: https:/ /review. opendev. org/673827 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=97e78f8cc19 4c60d06a37b11c9 c09405bf87b295
Committed: https:/
Submitter: Zuul
Branch: stable/queens
commit 97e78f8cc194c60 d06a37b11c9c094 05bf87b295
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) 434f1d3c563a0e6 5458c8c86a) c8cf189c4fd9fbb 8d66cec145)
(cherry picked from commit 16e163053ca3988
(cherry picked from commit 8601ca75b1515e7
(cherry picked from commit d9094e54fbb6a25