Skip to content

Commit

Permalink
Improve ImageStage results and logging, more...
Browse files Browse the repository at this point in the history
1. Sort todo and done sets when logging them so that serial_numbers/ip_addresses line up within the log.

2. Improve ImageStage diff to include the same info as other diffs (ip, serial, logical name, action).

3. TODO: need the same diff mods for ImageValidate...next commit...

4. Remove failed_result propery from ImageUpgradeCommon since we're using ImageUpgradeTaskResult() for that now.
  • Loading branch information
allenrobel committed Jan 12, 2024
1 parent 677bf19 commit aeb7878
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 24 deletions.
14 changes: 12 additions & 2 deletions plugins/module_utils/image_mgmt/image_stage.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,16 @@ def commit(self):
self.properties["response_data"] = self.response.get("DATA", "No Stage DATA")
self._wait_for_image_stage_to_complete()

for serial_number in self.serial_numbers_done:
self.issu_detail.filter = serial_number
self.issu_detail.refresh()
diff = {}
diff["serial_number"] = serial_number
diff["action"] = "stage"
diff["logical_name"] = self.issu_detail.device_name
diff["ip_address"] = self.issu_detail.ip_address
self.diff = copy.deepcopy(diff)

def _wait_for_current_actions_to_complete(self):
"""
The controller will not stage an image if there are any actions in
Expand Down Expand Up @@ -298,9 +308,9 @@ def _wait_for_image_stage_to_complete(self):

msg = f"seconds remaining {timeout}"
self.log.debug(msg)
msg = f"serial_numbers_todo: {serial_numbers_todo}"
msg = f"serial_numbers_todo: {sorted(serial_numbers_todo)}"
self.log.debug(msg)
msg = f"serial_numbers_done: {self.serial_numbers_done}"
msg = f"serial_numbers_done: {sorted(self.serial_numbers_done)}"
self.log.debug(msg)

if self.serial_numbers_done != serial_numbers_todo:
Expand Down
4 changes: 2 additions & 2 deletions plugins/module_utils/image_mgmt/image_upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -574,9 +574,9 @@ def _wait_for_image_upgrade_to_complete(self):
self.ipv4_done.add(ipv4)
msg = f"seconds remaining {timeout}"
self.log.debug(msg)
msg = f"ipv4_done: {self.ipv4_done}"
msg = f"ipv4_done: {sorted(self.ipv4_done)}"
self.log.debug(msg)
msg = f"ipv4_todo: {self.ipv4_todo}"
msg = f"ipv4_todo: {sorted(self.ipv4_todo)}"
self.log.debug(msg)

if self.ipv4_done != self.ipv4_todo:
Expand Down
19 changes: 1 addition & 18 deletions plugins/module_utils/image_mgmt/image_upgrade_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

import inspect
import logging

# Using only for its failed_result property
from ansible_collections.cisco.dcnm.plugins.module_utils.image_mgmt.image_upgrade_task_result import \
ImageUpgradeTaskResult as Result
Expand Down Expand Up @@ -163,24 +164,6 @@ def failed_result(self):
result = Result(self.module)
return result.failed_result

# @property
# def failed_result(self):
# """
# return a result for a failed task with no changes
# """
# result = {}
# result["changed"] = False
# result["diff"] = {
# "deleted": [],
# "merged": [],
# "overridden": [],
# "query": [],
# "replaced": [],
# }
# result["failed"] = True
# result["response"] = []
# return result

@property
def changed(self):
"""
Expand Down
4 changes: 2 additions & 2 deletions plugins/module_utils/image_mgmt/image_validate.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,9 +269,9 @@ def _wait_for_image_validate_to_complete(self) -> None:
self.serial_numbers_done.add(serial_number)
msg = f"seconds remaining {timeout}"
self.log.debug(msg)
msg = f"serial_numbers_todo: {serial_numbers_todo}"
msg = f"serial_numbers_todo: {sorted(serial_numbers_todo)}"
self.log.debug(msg)
msg = f"serial_numbers_done: {self.serial_numbers_done}"
msg = f"serial_numbers_done: {sorted(self.serial_numbers_done)}"
self.log.debug(msg)

if self.serial_numbers_done != serial_numbers_todo:
Expand Down

0 comments on commit aeb7878

Please sign in to comment.