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.
should be fixed in commit f4e92e04b4d69a409fdbce906d3577c3c74cbba6 Author: Dmitri Dolguikh <dmitri> Date: Fri Aug 12 12:17:17 2011 -0300
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.
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
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.
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".
No changes in this area since 0.1.65-1. And your Pulp and CP version, please?
> 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 ~]#
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.
Fixed in commit de542da45ba0eaaf56ab4691a22cca019c113f78 Author: Tomas Strachota <tstrachota> 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/