Alon Bar-Lev has uploaded a new change for review. Change subject: packaging: upgrade: rewrite rollbackAvailable ......................................................................
packaging: upgrade: rewrite rollbackAvailable So far the query of local cache was for any package of this name. Query the local for specific versions for each package that is marked as 'installed' in transaction. This will have more chance to avoid rollback errors. Change-Id: Ia9fff6270cd26f8ccbac1fcd07e38bb0b4397a09 Signed-off-by: Alon Bar-Lev <alo...@redhat.com> --- M packaging/fedora/setup/engine-upgrade.py 1 file changed, 7 insertions(+), 38 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/10/10310/1 diff --git a/packaging/fedora/setup/engine-upgrade.py b/packaging/fedora/setup/engine-upgrade.py index ed218c8..d93d49e 100755 --- a/packaging/fedora/setup/engine-upgrade.py +++ b/packaging/fedora/setup/engine-upgrade.py @@ -24,25 +24,6 @@ MAINTENANCE_TASKS_WAIT_PERIOD_MINUTES = MAINTENANCE_TASKS_WAIT_PERIOD / 60 MAINTENANCE_TASKS_CYCLES = 20 -#TODO: Work with a real list here -RPM_LIST = """ -ovirt-engine -ovirt-engine-backend -ovirt-engine-config -ovirt-engine-dbscripts -ovirt-engine-genericapi -ovirt-engine-notification-service -ovirt-engine-restapi -ovirt-engine-setup -ovirt-engine-tools-common -ovirt-engine-userportal -ovirt-engine-webadmin-portal -ovirt-image-uploader -ovirt-iso-uploader -ovirt-log-collector -vdsm-bootstrap -""" - RPM_BACKEND = "ovirt-engine-backend" RPM_DBSCRIPTS = "ovirt-engine-dbscripts" RPM_SETUP = "ovirt-engine-setup" @@ -334,26 +315,14 @@ def rollbackAvailable(self, packages): logging.debug("Yum rollback-avail started") - # Get All available packages in yum - rpms = RPM_LIST.split() - pkgs = [ - x['display_name'] for x in - self._miniyum.queryLocalCachePackages(patterns=rpms) - ] - logging.debug("%s Packages available in yum:"%(len(pkgs))) - logging.debug(pkgs) - # Verify all installed packages available in yum - # self.ipackages is populated in updateAvailable - name_packages = [p['name'] for p in packages] - for installed in [ - x['display_name'] for x in - self._miniyum.queryPackages(patterns=rpms) - if x['operation'] == 'installed' - ]: - if installed in name_packages and not installed not in pkgs: - logging.debug("%s not available in yum"%(installed)) - return False + for package in packages: + for query in self._miniyum.queryPackages(patterns=[package['name']]): + if query['operation'] == 'installed': + logging.debug("Checking package %s", query['display_name']) + if not self._miniyum.queryLocalCachePackages(patterns=[query['display_name']]): + logging.debug("package %s not available in cache" % query['display_name']) + return False logging.debug("Yum rollback-avail completed successfully") return True -- To view, visit http://gerrit.ovirt.org/10310 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia9fff6270cd26f8ccbac1fcd07e38bb0b4397a09 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches