integ/python/python-smartpm/files/commit_transaction_error_handling.patch
Scott Little bab9bb6b69 Internal restructuring of stx-integ
Create new directories:
   ceph
   config
   config-files
   filesystem
   kernel
   kernel/kernel-modules
   ldap
   logging
   strorage-drivers
   tools
   utilities
   virt

Retire directories:
   connectivity
   core
   devtools
   support
   extended

Delete two packages:
   tgt
   irqbalance

Relocated packages:
   base/
      dhcp
      initscripts
      libevent
      lighttpd
      linuxptp
      memcached
      net-snmp
      novnc
      ntp
      openssh
      pam
      procps
      sanlock
      shadow
      sudo
      systemd
      util-linux
      vim
      watchdog

   ceph/
      python-cephclient

   config/
      facter
      puppet-4.8.2
      puppet-modules

   filesystem/
      e2fsprogs
      nfs-utils
      nfscheck

   kernel/
      kernel-std
      kernel-rt

   kernel/kernel-modules/
      mlnx-ofa_kernel

   ldap/
      nss-pam-ldapd
      openldap

   logging/
      syslog-ng
      logrotate

   networking/
      lldpd
      iproute
      mellanox
      python-ryu
      mlx4-config

   python/
      python-2.7.5
      python-django
      python-gunicorn
      python-setuptools
      python-smartpm
      python-voluptuous

   security/
      shim-signed
      shim-unsigned
      tboot

   strorage-drivers/
      python-3parclient
      python-lefthandclient

   virt/
      cloud-init
      libvirt
      libvirt-python
      qemu

   tools/
      storage-topology
      vm-topology

   utilities/
      tis-extensions
      namespace-utils
      nova-utils
      update-motd

Change-Id: I37ade764d873c701b35eac5881eb40412ba64a86
Story: 2002801
Task: 22687
Signed-off-by: Scott Little <scott.little@windriver.com>
2018-08-01 10:06:31 -04:00

38 lines
1.2 KiB
Diff

---
smart/backends/rpm/pm.py | 10 ++++++++++
1 file changed, 10 insertions(+)
--- a/smart/backends/rpm/pm.py
+++ b/smart/backends/rpm/pm.py
@@ -283,6 +283,8 @@ class RPMPackageManager(PackageManager):
prog.setDone()
if probs and (not retry):
raise Error, "\n".join([x[0] for x in probs])
+ if cb.errors > 0:
+ raise Error, "One or more errors occurred during transaction"
prog.stop()
if retry and len(changeset):
self.commit(changeset, pkgpaths)
@@ -297,6 +299,7 @@ class RPMCallback:
self.rpmoutbuffer = ""
self.lasttopic = None
self.topic = None
+ self.errors = 0
def grabOutput(self, flag):
if flag:
@@ -415,6 +418,13 @@ class RPMCallback:
self.prog.setSubDone(subkey)
self.prog.show()
+ elif what == rpm.RPMCALLBACK_SCRIPT_ERROR:
+ self.errors += 1
+ elif what == rpm.RPMCALLBACK_UNPACK_ERROR:
+ self.errors += 1
+ elif what == rpm.RPMCALLBACK_CPIO_ERROR:
+ self.errors += 1
+
from smart.backends.rpm.base import rpm, getTS
# vim:ts=4:sw=4:et