Add check for disable_upgrade_deployment flag in roles_data
Check that the disable_upgrade_deployment flag is set in any operator provided roles_data.yaml file (the --roles-file parameter). This is an alternative proposal to I9327f42bfbebf050f79224ee1c1ff41e49b9c2fd and the advantage here is that we can use the existing validation_warnings_fatal to raise the exception or stay at logging a warning. The validation_warnings_fatal defaults to False. Related-Bug: 1699792 Change-Id: I606a3010e7ecd83f34b852a35ed298c30f65adeb
This commit is contained in:
parent
3d4e2d20e8
commit
fe280a2fae
releasenotes/notes
tripleoclient/v1
8
releasenotes/notes/add-check-for-disable-upgrade-deployment-flag-f074554e47e85b27.yaml
Normal file
8
releasenotes/notes/add-check-for-disable-upgrade-deployment-flag-f074554e47e85b27.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- If the operator specifies a roles_data.yaml for the deployment or upgrade
|
||||||
|
this adds a check that the disable_upgrade_deployment flag is set at least
|
||||||
|
once in that file and otherwise logs a warning. If the
|
||||||
|
validation-warnings-fatal parameter is set to True (default is False) then
|
||||||
|
this check will also raise an InvalidConfiguration exception.
|
||||||
|
|
@ -567,6 +567,25 @@ class DeployOvercloud(command.Command):
|
|||||||
"Error: The following files were not found: {0}".format(
|
"Error: The following files were not found: {0}".format(
|
||||||
", ".join(nonexisting_envs)))
|
", ".join(nonexisting_envs)))
|
||||||
|
|
||||||
|
# Check if disable_upgrade_deployment is set once
|
||||||
|
self.log.debug("Checking that the disable_upgrade_deployment flag "
|
||||||
|
"is set at least once in the roles file")
|
||||||
|
if parsed_args.roles_file:
|
||||||
|
roles_data = yaml.safe_load(open(parsed_args.roles_file).read())
|
||||||
|
disable_upgrade_deployment_set = False
|
||||||
|
for r in roles_data:
|
||||||
|
if r.get("disable_upgrade_deployment"):
|
||||||
|
disable_upgrade_deployment_set = True
|
||||||
|
break
|
||||||
|
if not disable_upgrade_deployment_set:
|
||||||
|
self.log.warning(
|
||||||
|
"The disable_upgrade_deployment flag is not set in the "
|
||||||
|
"roles file. This flag is expected when you have a "
|
||||||
|
"nova-compute or swift-storage role. Please check the "
|
||||||
|
"contents of the roles file: %s" % roles_data)
|
||||||
|
if parsed_args.validation_warnings_fatal:
|
||||||
|
raise exceptions.InvalidConfiguration()
|
||||||
|
|
||||||
def _get_default_role_counts(self, parsed_args):
|
def _get_default_role_counts(self, parsed_args):
|
||||||
|
|
||||||
if parsed_args.roles_file:
|
if parsed_args.roles_file:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user