From 059984de897fe2c8c48811ceb76a0331f94b3557 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Wed, 13 May 2020 22:10:01 +0800 Subject: [PATCH] patch_agent: do not do the packages_iter if pkggrp is None Addn the handling of packages_iter to the else block to avoid: AttributeError: 'NoneType' object has no attribute 'packages_iter' Signed-off-by: Jackie Huang --- cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py | 44 ++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py index d8bc375..489d484 100644 --- a/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py +++ b/cgcs-patch/cgcs-patch/cgcs_patch/patch_agent.py @@ -490,29 +490,29 @@ class PatchAgent(PatchService): break if pkggrp is None: - LOG.error("Could not find software group: %s", grp_id) - - for pkg in pkggrp.packages_iter(): - try: - res = pkgs_installed.filter(name=pkg.name) - if len(res) == 0: - found_pkg = avail.filter(name=pkg.name) - self.missing_pkgs_dnf.append(found_pkg[0]) - self.missing_pkgs.append(found_pkg[0].name) + LOG.warning("Could not find software group: %s", grp_id) + else: + for pkg in pkggrp.packages_iter(): + try: + res = pkgs_installed.filter(name=pkg.name) + if len(res) == 0: + found_pkg = avail.filter(name=pkg.name) + self.missing_pkgs_dnf.append(found_pkg[0]) + self.missing_pkgs.append(found_pkg[0].name) + self.changes = True + except dnf.exceptions.PackageNotFoundError: + self.missing_pkgs_dnf.append(pkg) + self.missing_pkgs.append(pkg.name) self.changes = True - except dnf.exceptions.PackageNotFoundError: - self.missing_pkgs_dnf.append(pkg) - self.missing_pkgs.append(pkg.name) - self.changes = True - - self.installed = self.pkgobjs_to_list(self.installed_dnf) - self.to_install = self.pkgobjs_to_list(self.to_install_dnf + self.to_downgrade_dnf) - - LOG.info("Patch state query returns %s", self.changes) - LOG.info("Installed: %s", self.installed) - LOG.info("To install: %s", self.to_install) - LOG.info("To remove: %s", self.to_remove) - LOG.info("Missing: %s", self.missing_pkgs) + + self.installed = self.pkgobjs_to_list(self.installed_dnf) + self.to_install = self.pkgobjs_to_list(self.to_install_dnf + self.to_downgrade_dnf) + + LOG.info("Patch state query returns %s", self.changes) + LOG.info("Installed: %s", self.installed) + LOG.info("To install: %s", self.to_install) + LOG.info("To remove: %s", self.to_remove) + LOG.info("Missing: %s", self.missing_pkgs) return True -- 2.7.4