Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1104742

Summary: The Pulp RPM CLI doesn't tell users they can install RPMs by epoch, version, release, and architecture
Product: [Retired] Pulp Reporter: Preethi Thomas <pthomas>
Component: consumersAssignee: pulp-bugs
Status: CLOSED UPSTREAM QA Contact: pulp-qe-list
Severity: low Docs Contact:
Priority: low    
Version: MasterCC: bcourt, mhrivnak, rbarlow, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1004981 Environment:
Last Closed: 2015-02-28 22:09:53 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1004981    
Bug Blocks: 1004986    

Description Preethi Thomas 2014-06-04 15:06:18 UTC
Cloning this bug since these options can not be specified though the cli

+++ This bug was initially created as a clone of Bug #1004981 +++

Our API offers users the ability to request units to be installed on consumers using the full NEVRA information, but the agent handler for RPM content only considers the name when installing packages. This could be surprising to some of our users, who might have provided a specific version that wasn't the latest available version of a package to be installed on a consumer.

--- Additional comment from Barnaby Court on 2013-11-05 10:54:00 EST ---

PR: https://github.com/pulp/pulp_rpm/pull/374

--- Additional comment from Jeff Ortel on 2014-04-03 09:36:17 EDT ---

build: 2.4.0-0.7.beta

--- Additional comment from Preethi Thomas on 2014-06-04 11:04:36 EDT ---

verified
[root@hp-dl380pgen8-01 ~]# rpm -qa pulp-server
pulp-server-2.4.0-0.19.beta.fc20.noarch
[root@hp-dl380pgen8-01 ~]# 

The options are available in API

In [24]: pic.POST('/v2/consumers/kitkat/actions/content/install/',body={'units':[{'unit_key':{'name':'whale','version':'0.2'},'type_id':'rpm'}], 'options':{} })
Request Body
{
  "units": [
    {
      "unit_key": {
        "version": "0.2", 
        "name": "whale"
      }, 
      "type_id": "rpm"
    }
  ], 
  "options": {}
}
Response Body
{
  "spawned_tasks": [
    {
      "_href": "/pulp/api/v2/tasks/0357aa3b-e4cf-4dba-ac04-48ed3ebf114c/", 
      "task_id": "0357aa3b-e4cf-4dba-ac04-48ed3ebf114c"
    }
  ], 
  "result": null, 
  "error": null
}
Out[24]: 
(202,
 {u'error': None,
  u'result': None,
  u'spawned_tasks': [{u'_href': u'/pulp/api/v2/tasks/0357aa3b-e4cf-4dba-ac04-48ed3ebf114c/',
    u'task_id': u'0357aa3b-e4cf-4dba-ac04-48ed3ebf114c'}]})

In [25]: 



In [17]: pic.POST('/v2/consumers/kitkat/actions/content/install/',body={'units':[{'unit_key':{'name':'zebra','epoch':'0'},'type_id':'rpm'}], 'options':{} })
Request Body
{
  "units": [
    {
      "unit_key": {
        "epoch": "0", 
        "name": "zebra"
      }, 
      "type_id": "rpm"
    }
  ], 
  "options": {}
}
Response Body
{
  "spawned_tasks": [
    {
      "_href": "/pulp/api/v2/tasks/c2f3081e-89fb-4ca6-8ce1-cfc67834cbbc/", 
      "task_id": "c2f3081e-89fb-4ca6-8ce1-cfc67834cbbc"
    }
  ], 
  "result": null, 
  "error": null
}
Out[17]: 
(202,
 {u'error': None,
  u'result': None,
  u'spawned_tasks': [{u'_href': u'/pulp/api/v2/tasks/c2f3081e-89fb-4ca6-8ce1-cfc67834cbbc/',
    u'task_id': u'c2f3081e-89fb-4ca6-8ce1-cfc67834cbbc'}]})

Comment 1 Preethi Thomas 2014-06-04 15:10:24 UTC
[root@hp-dl380pgen8-01 ~]# pulp-admin rpm consumer  package install run --consumer-id kitkat 
Command: run
Description: triggers an immediate package install on a consumer

Available Arguments:

  --bg          - if specified, the client process will end immediately (the
                  task will continue to run on the server)
  --consumer-id - (required) unique identifier; only alphanumeric, ., -, and _
                  allowed
  --name, -n    - (required) package name; may repeat for multiple packages
  --no-commit   - test the transaction without committing it
  --reboot      - reboot after a successful transaction
  --import-keys - import GPG keys as needed
The following options are required but were not specified:
  --name
[root@hp-dl380pgen8-01 ~]#

Comment 2 Randy Barlow 2014-06-05 18:18:04 UTC
The CLI is not meant to have these features, but we could update the helptext on the --name flag to mention that users can put version, release, etc.

Comment 3 Brian Bouterse 2015-02-28 22:09:53 UTC
Moved to https://pulp.plan.io/issues/447