Merge "Rook-ceph not creating OSDs on host offline when applying"

This commit is contained in:
Zuul 2024-11-28 20:37:12 +00:00 committed by Gerrit Code Review
commit fa3894d6c4

View File

@ -878,6 +878,17 @@ class RookCephAppLifecycleOperator(base.AppLifecycleOperator):
"the floating monitor is enabled, is not supported."
)
# CHECK AND FAIL: All hosts using ceph resources must be unlocked/enabled/{avaliable,degraded}
hosts_with_ceph = self.get_hosts(dbapi, {}, only_rook=True)
for host in hosts_with_ceph:
if (host.operational != constants.OPERATIONAL_ENABLED or not
(host.availability == constants.AVAILABILITY_AVAILABLE or
host.availability == constants.AVAILABILITY_DEGRADED)):
raise exception.LifecycleSemanticCheckException(
"Cannot apply application until all hosts using ceph resources are "
"unlocked/enabled/{avaliable,degraded}."
)
def pre_remove_semantic_checks(self, app_op):
LOG.info("Pre-remove semantic checks")
dbapi = app_op._dbapi