Bug 1413145 - Hammer - Unable to remove repo content using repo name if more than one repository with same name exists
Summary: Hammer - Unable to remove repo content using repo name if more than one repos...
Keywords:
Status: CLOSED DUPLICATE of bug 1416868
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Repositories
Version: 6.3.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: Unspecified
Assignee: Swapnil Abnave
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-01-13 18:07 UTC by Stanislav Tkachenko
Modified: 2017-03-09 19:46 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-09 19:46:00 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 18572 0 Normal Duplicate Hammer - Unable to remove repo content using repo name if more than one repository with same name exists 2021-02-15 16:48:23 UTC

Description Stanislav Tkachenko 2017-01-13 18:07:27 UTC
Description of problem:
Unable to remove repo content using repo name if more than one repository with same name exists.
If more than one repo with the same name but in different products/organizations exists, it is not possible to remove its content using repo name via hammer.
Most of the `repository` subcommands allows to specify --product/--product-id and --organization/--organization-id but `remove-content` allows to provide only repo's --name or --id.

> hammer> repository remove-content --help  
> Usage:
>     repository remove-content [OPTIONS]
> Options:
>  --id ID                       repository ID
>  --ids IDS                     Array of content ids to remove
>                               Comma separated list of values.
> --name NAME                   Repository name to search by
> -h, --help                    print help
> hammer> 

> repository create --name a --product 1 --content-type yum --url http://inecas.fedorapeople.org/fakerepos/zoo3/ --organization-id 1
> repository create --name a --product 2 --content-type yum --url http://inecas.fedorapeople.org/fakerepos/zoo3/ --organization-id 1
> repository synchronize --name a --product 1 --organization-id 1
> repository synchronize --name a --product 2 --organization-id 1
> repository remove-content --name a --ids 4403  
> Could not remove content:
>  Error: found more than one repository
> repository remove-content --name a --ids 4403 --product 1 --organization-id=1
> Could not remove content:
>  Error: Unrecognised option '--product'



Version-Release number of selected component (if applicable):
Satellite 6.3.0 Snap 8.0 / Foreman 1.13.2.2
tfm-rubygem-hammer_cli_foreman-0.8.0-1

How reproducible:
Always

Steps to Reproduce:
1. Create 2 repos with the same name but in different products
2. Try to remove content providing only repo name
3. Try to remove content providing repo name and product or organization name/id

Actual results:
Error `found more than one repository` or
Error `Unrecognised option '--product`

Expected results:
It should be possible to specify organization/product like for other repository subcommands.


Additional info:

Comment 2 Swapnil Abnave 2017-02-17 07:08:16 UTC
> Actual results:
> Error `found more than one repository` or
This seems to work as expected. To avoid the ambiguity you need to provide '--id'(repository-id) to identify repository of which content is to be removed.

$ hl repository remove-content --name yum-repo --id 21 --ids 39

> Error `Unrecognised option '--product`
This probably is an RFE. Right now the API(/apidoc/v2/repositories/remove_content.html
) does not accept product/product-id as an option.

$ hl repository remove-content --help
Usage:
    hammer repository remove-content [OPTIONS]

Options:
 --id ID                       repository ID
 --ids IDS                     Array of content ids to remove
                               Comma separated list of values. Values containing comma should be double quoted
 --name NAME                   Repository name to search by
 -h, --help                    print help

Comment 3 Stanislav Tkachenko 2017-02-17 07:53:41 UTC
Yes, error when only repo name is specified is expected. However, lack of --product option seems to me as a bug rather than RFE. All repository  subcommands (create/update/delete/info etc) accept (and require) --product or --product-id when only repo name is specified. Without --product --name option absolutely useless.

Comment 4 Swapnil Abnave 2017-02-20 15:01:20 UTC
(In reply to Stanislav Tkachenko from comment #3)
> Yes, error when only repo name is specified is expected. However, lack of
> --product option seems to me as a bug rather than RFE. All repository 
> subcommands (create/update/delete/info etc) accept (and require) --product
> or --product-id when only repo name is specified. Without --product --name
> option absolutely useless.

Gotcha, makes sense. Created foreman issue http://projects.theforeman.org/issues/18572

Comment 5 Andrew Kofink 2017-03-09 19:46:00 UTC

*** This bug has been marked as a duplicate of bug 1416868 ***


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