Bug 730358 - Product create with --url fails
Summary: Product create with --url fails
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite 6
Classification: Red Hat
Component: katello-agent
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified vote
Target Milestone: Unspecified
Assignee: Tomas Strachota
QA Contact: Garik Khachikyan
URL:
Whiteboard:
Depends On:
Blocks: katello-blockers
TreeView+ depends on / blocked
 
Reported: 2011-08-12 15:18 UTC by Tomas Strachota
Modified: 2015-01-04 21:58 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-22 17:52:08 UTC


Attachments (Terms of Use)

Description Tomas Strachota 2011-08-12 15:18:58 UTC
Description of problem:

Command 'product create' with --url given fails with error:
"error: select_repos() takes exactly 2 arguments (3 given) (more in the log file)"

Log record:

2011-08-12 16:57:34,673 [ERROR][MainThread] error() @ base.py:169 - Traceback (most recent call last):
  File "/home/tom/Work/katello/cli/src/katello/client/cli/base.py", line 209, in main
    return command.main(command_args)
  File "/home/tom/Work/katello/cli/src/katello/client/core/base.py", line 137, in main
    return action.main(args[1:])
  File "/home/tom/Work/katello/cli/src/katello/client/core/base.py", line 334, in main
    return self.run()
  File "/home/tom/Work/katello/cli/src/katello/client/core/product.py", line 183, in run
    return self.create_product_with_repos(provName, orgName, name, description, url, assumeyes)
  File "/home/tom/Work/katello/cli/src/katello/client/core/product.py", line 193, in create_product_with_repos
    selectedurls = self.select_repos(repourls, assumeyes)
TypeError: select_repos() takes exactly 2 arguments (3 given)


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


How reproducible:
always

Steps to Reproduce:
1. create org, env and provider
2. try to create new product with url
3.
  
Actual results:
Fails after repo discovery.

Expected results:
Should discover repositories and create new product.

Additional info:
It seems to be a typo in parameter definition introduced in 19c55497.

Comment 1 Tomas Strachota 2011-08-12 15:25:33 UTC
should be fixed in

commit f4e92e04b4d69a409fdbce906d3577c3c74cbba6
Author: Dmitri Dolguikh <dmitri@redhat.com>
Date:   Fri Aug 12 12:17:17 2011 -0300

Comment 2 Sachin Ghai 2011-08-19 11:42:36 UTC
I tried to verify this in following build:

root@dhcp201-207 katello]# rpm -qa | grep katello
katello-cli-0.1.4-1.git.63.54683c2.fc15.noarch
katello-0.1.64-1.git.0.0b431ff.fc15.noarch


I tried to create a new product with --url and found following error:


[root@dhcp201-207 katello]# katello -u admin -p admin product create --org=ACME_Corporation --prov=test_provider --name=fedora15 --url=http://download.eng.pnq.redhat.com/pub/fedora/linux/releases/15/Fedora/x86_64/os
Successfully created product [ fedora15 ]
Discovering repository urls, this could take some time...
error: operation failed: RestClient::ResourceNotFound: 404 Resource Not Found


if I create product with --url then its created successfully
[root@dhcp201-207 katello]# katello -u admin -p admin product create --org=ACME_Corporation --prov=test_provider --name=fedora15
Successfully created product [ fedora15 ]
[root@dhcp201-207 katello]# 

Tomas, could you please have a look as its still failing for me on the new build.

Comment 3 Sachin Ghai 2011-08-19 11:47:37 UTC
Typo in comment2, Please read the following statement 

> if I create product with --url then its created successfully

as

> if I create product without --url then its created successfully

Comment 4 Tomas Strachota 2011-08-19 12:23:28 UTC
I tested this on 3bd6e1 (build 0.1.66-1):

katello -u admin -p admin product create --org=ACME_Corporation --prov=test_provider --name=fedora15 --url=http://download.eng.pnq.redhat.com/pub/fedora/linux/releases/15/Fedora/x86_64/

Repo discovery starts and finds one repo. After I select it, the new product and repo are created. Didn't find any issues.

Is katello ping returning ok status for you on that machine? 


Note: You have to pass the url without the "os/". It's an issue in the latest pulp release. It's been reported and should be fixed in a recent test version.

Comment 5 Sachin Ghai 2011-08-19 12:35:02 UTC
Thanks Tomas for your quick response..


> Is katello ping returning ok status for you on that machine? 

[root@dhcp201-207 katello]# katello -u admin -p admin ping
-------------------------------------------------------------------------------------------------------------------------------------------------------------
                                                                       Katello Status
-------------------------------------------------------------------------------------------------------------------------------------------------------------

Status:   ok


Service:  candlepin
Result:   ok
Duration: 22ms


Service:  pulp_auth
Result:   ok
Duration: 35ms


Service:  pulp
Result:   ok
Duration: 94ms


Service:  candlepin_auth
Result:   ok
Duration: 10ms

> Note: You have to pass the url without the "os/". It's an issue in the latest
> pulp release. It's been reported and should be fixed in a recent test version.

Yes, I was trying with "os/". But even without "os/" I'm getting same message.

[root@dhcp201-207 katello]# katello -u admin -p admin product create --org=ACME_Corporation --prov=test_provider --name=fedora15 --url=http://download.eng.pnq.redhat.com/pub/fedora/linux/releases/15/Fedora/x86_64/
Successfully created product [ fedora15 ]
Discovering repository urls, this could take some time...
error: operation failed: RestClient::ResourceNotFound: 404 Resource Not Found

Not sure if I need to test this with latest build "0.1.65-1.git.0.9c951aa.fc15".

Comment 6 Tomas Strachota 2011-08-19 12:45:09 UTC
No changes in this area since 0.1.65-1.
And your Pulp and CP version, please?

Comment 7 Sachin Ghai 2011-08-19 17:12:23 UTC
> And your Pulp and CP version, please?

[root@dhcp201-207 ~]# rpm -qa | grep pulp
pulp-0.0.225-1.fc15.noarch
pulp-common-0.0.225-1.fc15.noarch
pulp-consumer-0.0.225-1.fc15.noarch
pulp-client-lib-0.0.225-1.fc15.noarch
pulp-admin-0.0.225-1.fc15.noarch

[root@dhcp201-207 ~]# rpm -qa | grep candlepin
candlepin-0.4.10-1.fc15.noarch
candlepin-tomcat6-0.4.10-1.fc15.noarch

[root@dhcp201-207 ~]# rpm -qa | grep katello
katello-cli-0.1.4-1.git.63.54683c2.fc15.noarch
katello-0.1.64-1.git.0.0b431ff.fc15.noarch
[root@dhcp201-207 ~]#

Comment 8 Tomas Strachota 2011-09-01 15:18:38 UTC
There's problem in retrieving status of the repo discovery from pulp. Route for getting the status has been removed and they now use unified api /task/ for checking statuses (pulp commit 3cf4a69b).

I'm working on a fix. We should also use our asynchronous tasks and not call pulp directly for getting statuses. I'll change that too.

Comment 9 Tomas Strachota 2011-09-02 19:17:19 UTC
Fixed in

commit de542da45ba0eaaf56ab4691a22cca019c113f78
Author: Tomas Strachota <tstrachota@redhat.com>
Date:   Fri Sep 2 21:00:14 2011 +0200

    730358 - repo discovery now uses asynchronous tasks
    - the route has been changed to /organizations/ID/repositories/discovery/


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