Fix software delete <release> command

During software delete <release> it raises an error trying to remove
some packages. This commit fix this issue by adding a condition to
only delete these packages in case of a patch release.

Test Plan:
PASS: Software delete of a major release before deploy start
PASS: Software delete of a major release after deploy delete
PASS: Software delete of a patch release before deploy start

Closes-bug: 2069656

Change-Id: Ifa318044058a20a5187b234bdb506022e2d9a625
Signed-off-by: Luis Eduardo Bonatti <LuizEduardo.Bonatti@windriver.com>
This commit is contained in:
Luis Eduardo Bonatti
2024-06-17 19:27:40 -03:00
parent 19210c6ae9
commit a58fa66f5b

View File

@@ -1630,11 +1630,12 @@ class PatchController(PatchService):
msg = "Failed to remove ostree tarball %s" % ostree_tar_filename
LOG.exception(msg)
raise OSTreeTarFail(msg)
package_repo_dir = "%s/rel-%s" % (constants.PACKAGE_FEED_DIR, release_sw_version)
packages = [pkg.split("_")[0] for pkg in release.packages]
if packages:
apt_utils.package_remove(package_repo_dir, release.sw_release, packages)
is_major_release = ReleaseState(release_ids=[release.id]).is_major_release_deployment()
if not is_major_release:
package_repo_dir = "%s/rel-%s" % (constants.PACKAGE_FEED_DIR, release_sw_version)
packages = [pkg.split("_")[0] for pkg in release.packages]
if packages:
apt_utils.package_remove(package_repo_dir, release.sw_release, packages)
# Delete upgrade iso file in folder
# TODO(heitormatsui): treat the prepatched iso scenario