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:
> 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
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.
(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
*** This bug has been marked as a duplicate of bug 1416868 ***