Merge "Output an informative message after running out-of-sync operations"

This commit is contained in:
Zuul 2024-03-08 20:19:48 +00:00 committed by Gerrit Code Review
commit 622b38f552
2 changed files with 19 additions and 1 deletions

View File

@ -57,6 +57,7 @@ class Subcloud(Resource):
"prestage-status": "prestage_status",
"prestage-versions": "prestage_versions",
"region-name": "region_name",
"info_message": "info_message"
}
def __init__(
@ -89,6 +90,7 @@ class Subcloud(Resource):
region_name=None,
prestage_status=None,
prestage_versions=None,
info_message=None
):
if endpoint_sync_status is None:
endpoint_sync_status = {}
@ -122,6 +124,7 @@ class Subcloud(Resource):
self.region_name = region_name
self.prestage_status = prestage_status
self.prestage_versions = prestage_versions
self.info_message = info_message
@classmethod
def from_payload(cls, manager, payload):

View File

@ -24,7 +24,10 @@ from dcmanagerclient import exceptions
from dcmanagerclient import utils
from dcmanagerclient.commands.v1 import base
SET_FIELD_VALUE_DICT = {"region_name": None}
SET_FIELD_VALUE_DICT = {
"region_name": None,
"info_message": None
}
def basic_format(subcloud=None):
@ -543,6 +546,17 @@ class ManageSubcloud(base.DCManagerShowOne):
class UpdateSubcloud(base.DCManagerShowOne):
"""Update attributes of a subcloud."""
_info_message = None
def produce_output(self, parsed_args, column_names, data):
"""Overrides method from cliff.Lister/cliff.ShowOne."""
# Print out a note or informational message above the formatted
# response.
if self._info_message:
self.app.stdout.write(self._info_message)
return super().produce_output(parsed_args, column_names, data)
def _get_format_function(self):
return detail_format
@ -724,6 +738,7 @@ class UpdateSubcloud(base.DCManagerShowOne):
result = subcloud_manager.update_subcloud(
subcloud_ref, files=files, data=data
)
self._info_message = getattr(result[0], 'info_message')
update_fields_values(result)
return result
except Exception as exc: