diff --git a/software/software/software_controller.py b/software/software/software_controller.py index 92992d0a..dc0e6c3d 100644 --- a/software/software/software_controller.py +++ b/software/software/software_controller.py @@ -2513,6 +2513,8 @@ class PatchController(PatchService): LOG.exception(msg) raise MetadataFail(msg) + self.release_data.metadata[release]["commit"] = self.latest_feed_commit + if not os.path.isfile(INITIAL_CONTROLLER_CONFIG_COMPLETE): self.release_data.metadata[release]["state"] = constants.DEPLOYING_START elif len(self.hosts) > 0: @@ -2642,6 +2644,8 @@ class PatchController(PatchService): self.interim_state[release] = list(self.hosts) if removed: + self.latest_feed_commit = ostree_utils.get_feed_latest_commit(SW_VERSION) + self.release_data.metadata[release]["commit"] = self.latest_feed_commit try: metadata_dir = DEPLOY_STATE_METADATA_DIR_DICT[deploystate] shutil.move("%s/%s-metadata.xml" % (metadata_dir, deployment), diff --git a/software/software/software_functions.py b/software/software/software_functions.py index 9aeda761..013c3993 100644 --- a/software/software/software_functions.py +++ b/software/software/software_functions.py @@ -335,6 +335,8 @@ class ReleaseData(object): self.metadata[release_id]["sw_version"] = "unknown" + # commit is derived from apt-ostree command run in software deploy start + for key in ["status", "unremovable", "sw_version", @@ -343,7 +345,8 @@ class ReleaseData(object): "install_instructions", "restart_script", "warnings", - "apply_active_release_only"]: + "apply_active_release_only", + "commit"]: value = root.findtext(key) if value is not None: self.metadata[release_id][key] = value