
This is a multi-part message in MIME format. --------------040404020400090105050908 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 11/02/2012 04:01 AM, Sheldon wrote:
On 11/01/2012 09:52 PM, Keith Robertson wrote:
On 11/01/2012 05:23 AM, Sheldon wrote:
On 10/31/2012 09:37 PM, Keith Robertson wrote:
On 10/31/2012 01:40 AM, Sheldon wrote:
I make a domain name "ISO", Domain type is ISO, Storage Type is NFS, Format is V1
$ sudo engine-iso-uploader -v --iso-domain=ISO upload Fedora-17-x86_64-DVD.iso [sudo] password for ovirt: Please provide the REST API username for oVirt Engine (CTRL+D to abort): admin@internal Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort): ERROR: Problem connecting to the REST API. Is the service available and does the CA certificate exist? ERROR: 'NoneType' object is not iterable INFO: Use the -h option to see usage.
Just to be clear the error in [1] is simply a symptom. It isn't the root cause. The root cause is quite possibly the CA certificate.
I have created a patch in [2] that I'd appreciate if you could test as it will provide more debugging information about why the API creation is failing. Simply follow the steps in [3]
Cheers, Keith
[1] ERROR: 'NoneType' object is not iterable [2] http://gerrit.ovirt.org/8954 [3] Step 1: git clone http://gerrit.ovirt.org/p/ovirt-iso-uploader.git Step 2: Cherry pick the patch... git fetch git://gerrit.ovirt.org/ovirt-iso-uploader refs/changes/54/8954/2 && git cherry-pick FETCH_HEAD Step 3: export APP_VERSION=3.0.0; export APP_RELEASE=1 Step 4: cd ovirt-iso-uploader Step 5: make Step 6: Notice the ovirt-iso-uploader*.rpm location in the STDOUT Step 7: yum install /path/to/ovirt-iso-uploader*.rpm
still error. but different debug info. Yes. The patch adds additional debug info.
$ sudo engine-iso-uploader -v --iso-domain=ISO upload RHEL6.3-20120531.0-Server-x86_64-DVD1.iso Please provide the REST API username for oVirt Engine (CTRL+D to abort): admin@internal Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort): DEBUG: url(https://localhost:443/api) DEBUG: user(admin@internal) DEBUG: ca(/etc/pki/ovirt-engine/ca.pem) DEBUG: insecure(False) ERROR: Problem connecting to the REST API. Is the service available and does the CA certificate exist? Error: [ERROR]::oVirt API connection failure, Now we're getting to the good stuff as you can see that you are getting a connection refused. Questions for you:
1) Are you *certain* that 'https://localhost:443/api' is accessible from the local system, that it is the address of your oVirt engine, and is not being blocked by a FW? Easy test on the local box point your browser at that url. I have edited the tls port, it is not 443. It is 4301. OK, here *here* is the problem. The ISO Uploader has been configured to use 'localhost:443' while you have customized it to 'localhost:4301'. You need to edit /etc/ovirt-engine/logcollector.conf and set the variable that tells the uploader which host/port combination to use.
Note: The other 2 tools will have similar issues (ie. Log Collector and Image Uploader) and, they each have conf files in /etc/ovirt-engine.
I can access https://localhost:4301/api'
2) Are you certain that the CA is valid? To verify this you will need to issue a 'curl' statement and supply the CA. Example: curl -v -k -u $USER:$PASS --cacert /etc/pki/ovirt-engine/ca.pem -X GET -H 'Accept: application/xml' 'https://localhost:443/api/api/vms
also: $ curl -v -k -u admin@internal:letmein! --cacert /etc/pki/ovirt-engine/ca.pem -X GET -H 'Accept: application/xml' 'https://localhost:4301/api/vms' is ok
and I designate the tls port, now it can work. $ sudo engine-iso-uploader -rlocalhost:4301 -v --iso-domain=ISO upload Fedora-17-x86_64-DVD.iso
Thank you.
[Errno 111] Connection refused DEBUG: Unable to get host and path information from API.
-- Sheldon Feng(冯少合)<shaohef@linux.vnet.ibm.com> IBM Linux Technology Center
-- Sheldon Feng(冯少合)<shaohef@linux.vnet.ibm.com> IBM Linux Technology Center
--------------040404020400090105050908 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> </head> <body bgcolor="#FFFFFF" text="#000000"> <div class="moz-cite-prefix">On 11/02/2012 04:01 AM, Sheldon wrote:<br> </div> <blockquote cite="mid:50937DBC.3040109@linux.vnet.ibm.com" type="cite"> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <div class="moz-cite-prefix">On 11/01/2012 09:52 PM, Keith Robertson wrote:<br> </div> <blockquote cite="mid:50927E93.7060307@redhat.com" type="cite"> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <div class="moz-cite-prefix">On 11/01/2012 05:23 AM, Sheldon wrote:<br> </div> <blockquote cite="mid:50923FA5.3080903@linux.vnet.ibm.com" type="cite"> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <div class="moz-cite-prefix">On 10/31/2012 09:37 PM, Keith Robertson wrote:<br> </div> <blockquote cite="mid:50912982.5000606@redhat.com" type="cite"> <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"> <div class="moz-cite-prefix">On 10/31/2012 01:40 AM, Sheldon wrote:<br> </div> <blockquote cite="mid:5090B9D7.8050302@linux.vnet.ibm.com" type="cite">I make a domain name "ISO", Domain type is ISO, Storage Type is NFS, Format is V1 <br> <br> $ sudo engine-iso-uploader -v --iso-domain=ISO upload Fedora-17-x86_64-DVD.iso <br> [sudo] password for ovirt: <br> Please provide the REST API username for oVirt Engine (CTRL+D to abort): admin@internal <br> Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort): <br> ERROR: Problem connecting to the REST API. Is the service available and does the CA certificate exist? <br> ERROR: 'NoneType' object is not iterable <br> INFO: Use the -h option to see usage. </blockquote> <br> Just to be clear the error in [1] is simply a symptom. It isn't the root cause. The root cause is quite possibly the CA certificate.<br> <br> I have created a patch in [2] that I'd appreciate if you could test as it will provide more debugging information about why the API creation is failing. Simply follow the steps in [3]<br> <br> Cheers,<br> Keith<br> <br> [1] ERROR: 'NoneType' object is not iterable<br> [2] <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://gerrit.ovirt.org/8954">http://gerrit.ovirt.org/8954</a><br> [3] <br> Step 1: git clone <a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://gerrit.ovirt.org/p/ovirt-iso-uploader.git">http://gerrit.ovirt.org/p/ovirt-iso-uploader.git</a> <br> Step 2: Cherry pick the patch...<br> <span class="GJEA35ODNS"><embed moz-do-not-send="true" wmode="transparent" type="application/x-shockwave-flash" src="http://gerrit.ovirt.org/gerrit/gwtexpui_clippy1.cache.swf" flashvars="text=git+fetch+git%3A%2F%2Fgerrit.ovirt.org%2Fovirt-iso-uploader+refs%2Fchanges%2F54%2F8954%2F2+%26%26+git+cherry-pick+FETCH_HEAD" height="14" width="110"></span>git fetch git://gerrit.ovirt.org/ovirt-iso-uploader refs/changes/54/8954/2 && git cherry-pick FETCH_HEAD<br> Step 3: export APP_VERSION=3.0.0; export APP_RELEASE=1 <br> Step 4: cd ovirt-iso-uploader <br> Step 5: make <br> Step 6: Notice the ovirt-iso-uploader*.rpm location in the STDOUT <br> Step 7: yum install /path/to/ovirt-iso-uploader*.rpm <br> </blockquote> <br> still error. but different debug info.<br> </blockquote> Yes. The patch adds additional debug info. <br> <blockquote cite="mid:50923FA5.3080903@linux.vnet.ibm.com" type="cite"> <br> $ sudo engine-iso-uploader -v --iso-domain=ISO upload RHEL6.3-20120531.0-Server-x86_64-DVD1.iso <br> Please provide the REST API username for oVirt Engine (CTRL+D to abort): admin@internal<br> Please provide the REST API password for the admin@internal oVirt Engine user (CTRL+D to abort): <br> DEBUG: url(<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://localhost:443/api">https://localhost:443/api</a>)<br> DEBUG: user(admin@internal)<br> DEBUG: ca(/etc/pki/ovirt-engine/ca.pem)<br> DEBUG: insecure(False)<br> ERROR: Problem connecting to the REST API. Is the service available and does the CA certificate exist? Error: [ERROR]::oVirt API connection failure, </blockquote> Now we're getting to the good stuff as you can see that you are getting a connection refused. Questions for you:<br> <br> 1) Are you *certain* that '<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://localhost:443/api">https://localhost:443/api</a>' is accessible from the local system, that it is the address of your oVirt engine, and is not being blocked by a FW? Easy test on the local box point your browser at that url.<br> </blockquote> I have edited the tls port, it is not 443. It is 4301.<br> </blockquote> OK, here *here* is the problem. The ISO Uploader has been configured to use 'localhost:443' while you have customized it to 'localhost:4301'. You need to edit /etc/ovirt-engine/logcollector.conf and set the variable that tells the uploader which host/port combination to use.<br> <br> Note: The other 2 tools will have similar issues (ie. Log Collector and Image Uploader) and, they each have conf files in /etc/ovirt-engine.<br> <br> <blockquote cite="mid:50937DBC.3040109@linux.vnet.ibm.com" type="cite"> I can access <a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://localhost:443/api">https://localhost:4301/api</a>' <blockquote cite="mid:50927E93.7060307@redhat.com" type="cite"> <br> 2) Are you certain that the CA is valid? To verify this you will need to issue a 'curl' statement and supply the CA. Example: <br> curl -v -k -u $USER:$PASS --cacert /etc/pki/ovirt-engine/ca.pem -X GET -H 'Accept: application/xml' '<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://localhost:443/api">https://localhost:443/api</a>/api/vms<br> </blockquote> also:<br> $ curl -v -k -u admin@internal:letmein! --cacert /etc/pki/ovirt-engine/ca.pem -X GET -H 'Accept: application/xml' '<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://localhost:4301/api/vms">https://localhost:4301/api/vms</a>'<br> is ok<br> <br> and I designate the tls port, now it can work.<br> $ sudo engine-iso-uploader -r<font color="#000099"> localhost:4301</font> -v --iso-domain=ISO upload Fedora-17-x86_64-DVD.iso<br> <br> Thank you.<br> <blockquote cite="mid:50927E93.7060307@redhat.com" type="cite"> <blockquote cite="mid:50923FA5.3080903@linux.vnet.ibm.com" type="cite">[Errno 111] Connection refused<br> DEBUG: Unable to get host and path information from API.<br> <br> <br> <pre class="moz-signature" cols="72">-- Sheldon Feng(冯少合)<a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:shaohef@linux.vnet.ibm.com"><shaohef@linux.vnet.ibm.com></a> IBM Linux Technology Center</pre> </blockquote> <br> </blockquote> <br> <br> <pre class="moz-signature" cols="72">-- Sheldon Feng(冯少合)<a moz-do-not-send="true" class="moz-txt-link-rfc2396E" href="mailto:shaohef@linux.vnet.ibm.com"><shaohef@linux.vnet.ibm.com></a> IBM Linux Technology Center</pre> </blockquote> <br> </body> </html> --------------040404020400090105050908--