Bug 1108905

Summary: some hammer repo commands dont take product id or information
Product: Red Hat Satellite Reporter: Partha Aji <paji>
Component: Content ManagementAssignee: Adam Price <adprice>
Status: CLOSED CURRENTRELEASE QA Contact: sthirugn <sthirugn>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0.3CC: bbuckingham, bkearney, cwelton, daviddavis, jmontleo, sthirugn
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/6203
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-11 12:20:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Partha Aji 2014-06-12 19:31:47 UTC
The following commands do not take product id or name
hammer repository info
hammer repository synchronize
hammer repository update
hammer repository delete

Just using the repo name and org id is not enough for repositories since they are unique only inside a product scope. 
i.e. katello allows for repo "foo" under both Product A & B . 
So if you ask for
hammer repository info --name="foo" --organization-id=1, it wouldn't know which "foo" we are referring to. Basically renders the --name option worthless.

Comment 1 Partha Aji 2014-06-12 19:31:48 UTC
Created from redmine issue http://projects.theforeman.org/issues/6203

Comment 2 Partha Aji 2014-06-12 19:31:53 UTC
Upstream bug assigned to adprice

Comment 4 Adam Price 2014-06-13 19:27:15 UTC
repo
  info
  sync
  update
  delete

should require a product (name or id) when given a repo-name.

Comment 5 David Davis 2014-06-17 15:21:44 UTC
Also, there are a few add/remove repository commands that need it as well like "content-view add-repository".

Comment 7 Bryan Kearney 2014-06-26 20:04:37 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/6203 has been closed

Comment 11 sthirugn@redhat.com 2014-07-28 21:53:09 UTC
Verified. (Also see new bug https://bugzilla.redhat.com/show_bug.cgi?id=1124061)

repo info:
hammer> repository info --name='testrepo' --organization-id=3
Error: At least one of options --product, --product-id is required

See: ' repository info --help'

hammer> repository info --name='testrepo' --organization-id=3 --product-id=95
ID:                 23
Name:               testrepo
...

hammer> repository info --name='testrepo' --organization-id=3 --product='prod1'
ID:                 23
Name:               testrepo
...

repo sync:
hammer> repository synchronize --name='testrepo' --organization-id=3
Could not synchronize the repository:
  Error: At least one of options --product, --product-id is required

hammer> repository synchronize --name='testrepo34' --organization-id=3 --product-id=95
[........................................................................] 100%]
Task f0a7b3d9-a642-4e54-9c4f-ef4abddbaf51: success



hammer> repository synchronize --name='testrepo34' --organization-id=3 --product=newproduct23
[........................................................................] 100%]
Task 9c938d44-17a8-4306-9964-9b55b2039ddf: success
No new packages


repo update:
hammer> repository update --name='testrepo34' --organization-id=3
Could not update the repository:
  Error: At least one of options --product, --product-id is required
  
  See: ' repository update --help'

hammer> repository update --name='testrepo34' --organization-id=3 --new-name='testrepo35' --product-id=95
Repository updated

hammer> repository update --name='testrepo35' --organization-id=3 --new-name='testrepo34' --product=newproduct23
Repository updated


repo delete:
hammer> repository delete --name='testrepo' --organization-id=3
Could not delete the Repository:
  Error: At least one of options --product, --product-id is required
  
  See: ' repository delete --help'

hammer> repository delete --name='testrepo' --organization-id=3 --product-id=95
Repository deleted

hammer> repository delete --name='testrepo' --organization-id=3 --product=newproduct23
Repository deleted



As per Comment 5 - the following command fail which is logged as a new issue https://bugzilla.redhat.com/show_bug.cgi?id=1124061
hammer> content-view add-repository --name=cv1 --organization-id=3 --repository='testrepo34'
Could not add repository:
  Error: Missing options to search product
hammer> content-view add-repository --name=cv1 --organization-id=3 --repository='testrepo34' --product='newproduct23'
Could not add repository:
  Error: Unrecognised option '--product'
  
  See: ' content-view add-repository --help'
hammer> content-view add-repository --name=cv1 --organization-id=3 --repository='testrepo34' --product-id=95
Could not add repository:
  Error: Unrecognised option '--product-id'
  
hammer> content-view add-repository --help
Usage:
     content-view add-repository [OPTIONS]

Options:
    --id ID                       content view numeric identifier
    --name NAME                   Content view name to search by
    --organization ORGANIZATION_NAME Organization name to search by
    --organization-id ORGANIZATION_ID  
    --organization-label ORGANIZATION_LABEL Organization label to search by
    --repository REPOSITORY_NAME  Repository name to search by
    --repository-id REPOSITORY_ID repository ID
    -h, --help                    print help

  See: ' content-view add-repository --help'

Version Tested:
Satellite-6.0.4-RHEL-6-20140723.0

* apr-util-ldap-1.3.9-3.el6_0.1.x86_64
* candlepin-0.9.19-1.el6_5.noarch
* candlepin-scl-1-5.el6_4.noarch
* candlepin-scl-quartz-2.1.5-5.el6_4.noarch
* candlepin-scl-rhino-1.7R3-1.el6_4.noarch
* candlepin-scl-runtime-1-5.el6_4.noarch
* candlepin-selinux-0.9.19-1.el6_5.noarch
* candlepin-tomcat6-0.9.19-1.el6_5.noarch
* elasticsearch-0.90.10-4.el6sat.noarch
* foreman-1.6.0.29-1.el6sat.noarch
* foreman-compute-1.6.0.29-1.el6sat.noarch
* foreman-gce-1.6.0.29-1.el6sat.noarch
* foreman-libvirt-1.6.0.29-1.el6sat.noarch
* foreman-ovirt-1.6.0.29-1.el6sat.noarch
* foreman-postgresql-1.6.0.29-1.el6sat.noarch
* foreman-proxy-1.6.0.21-1.el6sat.noarch
* foreman-selinux-1.6.0-8.el6sat.noarch
* foreman-vmware-1.6.0.29-1.el6sat.noarch
* katello-1.5.0-27.el6sat.noarch
* katello-ca-1.0-1.noarch
* katello-certs-tools-1.5.6-1.el6sat.noarch
* katello-installer-0.0.56-1.el6sat.noarch
* openldap-2.4.23-32.el6_4.1.x86_64
* pulp-katello-0.3-3.el6sat.noarch
* pulp-nodes-common-2.4.0-0.23.beta.el6sat.noarch
* pulp-nodes-parent-2.4.0-0.23.beta.el6sat.noarch
* pulp-puppet-plugins-2.4.0-0.23.beta.el6sat.noarch
* pulp-puppet-tools-2.4.0-0.23.beta.el6sat.noarch
* pulp-rpm-plugins-2.4.0-0.23.beta.el6sat.noarch
* pulp-selinux-2.4.0-0.23.beta.el6sat.noarch
* pulp-server-2.4.0-0.23.beta.el6sat.noarch
* python-ldap-2.3.10-1.el6.x86_64
* ruby193-rubygem-net-ldap-0.3.1-3.el6sat.noarch
* ruby193-rubygem-runcible-1.1.0-2.el6sat.noarch

Comment 13 Bryan Kearney 2014-09-11 12:20:16 UTC
This was delivered with Satellite 6.0 which was released on 10 September 2014.