Bug 876725 - RFE - consumer/agent - support option to perform 'best effort' install of content
Summary: RFE - consumer/agent - support option to perform 'best effort' install of con...
Alias: None
Product: Pulp
Classification: Retired
Component: consumers
Version: Master
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
: 2.1.0
Assignee: Sayli Karmarkar
QA Contact: Preethi Thomas
Depends On:
Blocks: katello-v2-pulp
TreeView+ depends on / blocked
Reported: 2012-11-14 19:38 UTC by Brad Buckingham
Modified: 2015-03-23 01:11 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2013-04-08 16:03:03 UTC

Attachments (Terms of Use)

Description Brad Buckingham 2012-11-14 19:38:42 UTC
Description of problem:

There is an inconsistency in behavior between a client-initiated yum install and server-initiated install of packages when one or more of the packages doesn't exist.

For example, (assuming unknownpkg doesn't exist)

action: client-initiated "yum install unknownpkg xterm"
result: xterm is installed

action: server (e.g. katello) initiated install of unknownpkg xterm
result: No package(s) available to install

From a user-perspective, I'd expect the behavior to be the same.  Based on discussion with Jeff, perhaps this could be allowed by introducing a new option on the server-initiated interface to support a 'best effort' install.  

Alternatively, if it cannot be supported the error message should be updated to be more accurate, since in this case xterm is available, but unknownpkg is not.

Version-Release number of selected component (if applicable):

How reproducible:

Additional info:

The following is the complete result from pulp when attempting the server initiated install:

{"trace"=>"Traceback (most recent call last):\n\n  File \"/usr/lib/python2.7/site-packages/pulp/agent/lib/dispatcher.py\", line 75, in install\n    r = handler.install(conduit, units, dict(options))\n\n  File \"/usr/lib/pulp/agent/handlers/rpm.py\", line 99, in install\n    details = pkg.install(names)\n\n  File \"/usr/lib/python2.7/site-packages/pulp_rpm/handler/rpmtools.py\", line 124, in install\n    yb.install(pattern=info)\n\n  File \"/usr/lib/python2.7/site-packages/yum/__init__.py\", line 4157, in install\n    raise Errors.InstallError, _('No package(s) available to install')\n\nInstallError: No package(s) available to install\n", "message"=>"No package(s) available to install"}

Comment 1 Sayli Karmarkar 2013-01-23 10:12:45 UTC

$ pulp-admin rpm consumer package install run --consumer-id test-consumer -n pulp-test-package -n pulp-dot-2.0-test -n fail-pkg1 -n fail-pkg2
Install task created with id [106f4674-b3f6-44f4-b4be-0d1ef33cccfb]

This command may be exited via ctrl+c without affecting the install.

Refresh Repository Metadata [ OK ]
Downloading Packages [ OK ]
Check Package Signatures [ OK ]
Running Test Transaction [ OK ]
Running Transaction [ OK ]
Install Completed


Name: pulp-test-package
Version: 0.3.1
Arch: x86_64
Repoid: test-repo

Name: pulp-dot-2.0-test
Version: 0.1.2
Arch: x86_64
Repoid: test-repo

Failed to install following packages:

fail-pkg2 : No package(s) available to install

fail-pkg1 : No package(s) available to install

Comment 2 Sayli Karmarkar 2013-01-29 19:15:03 UTC
Merged changes. 

commit a69225421bc19d21022199e958ca70ccbea12143
Merge: f1f8558 59c9103
Author: skarmark <skarmark@redhat.com>
Date:   Tue Jan 29 11:13:08 2013 -0800

    Merge pull request #98 from pulp/skarmark-876725
    876725 - adding support for best effort install of content and unit tests

Moving to modified.

Comment 3 Jeff Ortel 2013-02-05 20:57:10 UTC
build: 2.1.0-0.3.alpha

Comment 4 Preethi Thomas 2013-03-19 13:42:02 UTC

[root@cloud-qe-8 ~]# rpm -q pulp-server
[root@cloud-qe-8 ~]#

Comment 5 Preethi Thomas 2013-04-08 16:03:03 UTC
Pulp 2.1 released 


Note You need to log in before you can comment on or make changes to this bug.