diff options
author | Michal Minar <miminar@redhat.com> | 2014-04-28 13:28:02 +0200 |
---|---|---|
committer | Michal Minar <miminar@redhat.com> | 2014-04-28 14:24:21 +0200 |
commit | 43d28f12b6835ebf077e4fe5a922e70f194d5cb6 (patch) | |
tree | 85b1336827f63a26953a32a267d2097481f68122 /commands | |
parent | abbc629ee928abf48ae66fdfbbeefd6b03253950 (diff) | |
download | openlmi-scripts-43d28f12b6835ebf077e4fe5a922e70f194d5cb6.tar.gz openlmi-scripts-43d28f12b6835ebf077e4fe5a922e70f194d5cb6.tar.xz openlmi-scripts-43d28f12b6835ebf077e4fe5a922e70f194d5cb6.zip |
software: be more verbose with -v option
Improved output of verify command. With verbose option, produce output
also for passed packages.
Do not treat installation of already install package as an error.
Diffstat (limited to 'commands')
-rw-r--r-- | commands/software/lmi/scripts/software/__init__.py | 19 | ||||
-rw-r--r-- | commands/software/lmi/scripts/software/cmd.py | 21 |
2 files changed, 24 insertions, 16 deletions
diff --git a/commands/software/lmi/scripts/software/__init__.py b/commands/software/lmi/scripts/software/__init__.py index 7446d59..0330bc7 100644 --- a/commands/software/lmi/scripts/software/__init__.py +++ b/commands/software/lmi/scripts/software/__init__.py @@ -447,6 +447,11 @@ def set_repository_enabled(ns, repository, enable=True): if results.errorstr: msg += ': ' + results.errorstr raise LmiFailed(msg) + LOG().info('Repository "%s" %s.', repository.Name, + "enabled" if enable else "disabled") + else: + LOG().info('Repository "%s" is already %s.', repository.Name, + "enabled" if enable else "disabled") return repository.EnabledState def install_package(ns, package, force=False, update=False): @@ -497,14 +502,15 @@ def install_package(ns, package, force=False, update=False): except pywbem.CIMError: pass if getattr(package, 'InstallDate', None) is not None: - raise LmiFailed('Package "%s" is already installed!' % nevra) + LOG().info('Package "%s" is already installed.' % nevra) + return msg = 'Failed to %s package "%s".' % ( 'update' if update else 'install', nevra) if job.ErrorDescription: msg += ': ' + job.ErrorDescription raise LmiFailed(msg) else: - LOG().info('Installed package "%s" on remote host "%s".', + LOG().info('Installed package "%s".', nevra, ns.connection.uri) installed = job.associators( @@ -549,7 +555,7 @@ def install_from_uri(ns, uri, force=False, update=False): msg += ': ' + results.errorstr raise LmiFailed(msg) else: - LOG().info('Installed package from uri.') + LOG().info('Installed package from uri %s.', uri) def remove_package(ns, package): """ @@ -578,7 +584,9 @@ def remove_package(ns, package): get_package_nevra(package)) for assoc in installed_assocs: + nevra = get_package_nevra(assoc.InstalledSoftware) assoc.to_instance().delete() + LOG().info('Removed package %s.', nevra) def render_failed_flags(failed_flags): """ @@ -647,15 +655,12 @@ def verify_package(ns, package): if job.ErrorDescription: msg += ': ' + job.ErrorDescription raise LmiFailed(msg) - LOG().debug('Verified package "%s" on remote host "%s".', - nevra, ns.connection.uri) failed = job.associators( Role='AffectingElement', ResultRole='AffectedElement', AssocClass="LMI_AffectedSoftwareJobElement", ResultClass='LMI_SoftwareIdentityFileCheck') - LOG().debug('Verified package "%s" on remote host "%s" with %d failures.', - nevra, ns.connection.uri, len(failed)) + LOG().debug('Verified package "%s" with %d failures.', nevra, len(failed)) return failed diff --git a/commands/software/lmi/scripts/software/cmd.py b/commands/software/lmi/scripts/software/cmd.py index c3ec888..a3f4792 100644 --- a/commands/software/lmi/scripts/software/cmd.py +++ b/commands/software/lmi/scripts/software/cmd.py @@ -330,21 +330,24 @@ class Verify(command.LmiLister): COLUMNS = [] def execute(self, ns, package_array): - failed_identity_checks = [] + identity_checks = [] def _verify_identity(identity): failed_checks = list(software.verify_package(ns, identity)) + identity_checks.append((identity, failed_checks)) + + for_each_package_specs(ns, package_array, 'verify', _verify_identity) + for identity, failed_checks in identity_checks: if len(failed_checks): - failed_identity_checks.append((identity, failed_checks)) + yield fcmd.NewTableCommand(title=identity.ElementName) + for file_check in failed_checks: + yield ( software.render_failed_flags(file_check.FailedFlags) + , file_check.Name) + elif self.app.config.verbose: + yield fcmd.NewTableCommand(title=identity.ElementName) + yield ('', 'passed') else: LOG().debug('Package "%s" passed.', identity.ElementName) - for_each_package_specs(ns, package_array, 'verify', _verify_identity) - for identity, checks in failed_identity_checks: - yield fcmd.NewTableCommand(title=identity.ElementName) - for file_check in checks: - yield ( software.render_failed_flags(file_check.FailedFlags) - , file_check.Name) - class ChangeEnabledState(command.LmiCheckResult): """ Class for 'enable' and 'disable' commands. This particular class allows |