Bug 786266

Summary: better error message for resource not found
Product: [Retired] CloudForms Cloud Engine Reporter: Dave Johnson <dajohnso>
Component: deltacloud-coreAssignee: Michal Fojtik <mfojtik>
Status: CLOSED ERRATA QA Contact: Ronelle Landy <rlandy>
Severity: low Docs Contact:
Priority: medium    
Version: 1.0.0CC: hbrock, rananda, whayutin
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-15 20:32:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
ss none

Description Dave Johnson 2012-01-31 21:08:54 UTC
Created attachment 558707 [details]
ss

Description of problem:
===============================
Check out the screen shot.  Encountered this error message "undefined method `<=>' for nil:NilClass" trying to launch a deployment to rhevm.  Turned out the export domain of the datacenter was inactive.  Stack trace shows 'Resource not found' which would be way better than the one currently showing up.

thin server (localhost:3002) [deltacloud-mock][29668]: RestClient::ResourceNotFound:404 Resource Not Found
/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/abstract_response.rb:48:in `return!'
/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:220:in `process_result'
/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:169:in `transmit'
/usr/lib/ruby/1.8/net/http.rb:543:in `start'
/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:166:in `transmit'
/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:60:in `execute'
/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/request.rb:31:in `execute'
/usr/lib/ruby/gems/1.8/gems/rest-client-1.6.1/lib/restclient/resource.rb:54:in `get'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_client.rb:61:in `vms'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_driver.rb:138:in `instances'
/usr/share/deltacloud-core/bin/../lib/deltacloud/base_driver/exceptions.rb:151:in `call'
/usr/share/deltacloud-core/bin/../lib/deltacloud/base_driver/exceptions.rb:151:in `safely'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/rhevm/rhevm_driver.rb:136:in `instances'
/usr/share/deltacloud-core/bin/../lib/deltacloud/base_driver/base_driver.rb:172:in `instance'
/usr/share/deltacloud-core/bin/../lib/deltacloud/helpers/application_helper.rb:93:in `send'
/usr/share/deltacloud-core/bin/../lib/deltacloud/helpers/application_helper.rb:93:in `show'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/share/deltacloud-core/bin/../lib/deltacloud/helpers/application_helper.rb:92:in `show'
/usr/share/deltacloud-core/bin/../lib/deltacloud/server.rb:468
/usr/share/deltacloud-core/bin/../lib/sinatra/rabbit.rb:125:in `instance_eval'
/usr/share/deltacloud-core/bin/../lib/sinatra/rabbit.rb:125:in `GET /api/instances/:id'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1151:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1151:in `compile!'



Version-Release number of selected component (if applicable):
==================================================================
deltacloud-core-0.5.0-4.rc1.el6.noarch
deltacloud-core-ec2-0.5.0-4.rc1.el6.noarch
deltacloud-core-rhevm-0.5.0-4.rc1.el6.noarch
deltacloud-core-vsphere-0.5.0-4.rc1.el6.noarch
rubygem-deltacloud-client-0.4.0-3.el6.noarch

Comment 1 Michal Fojtik 2012-02-01 10:08:57 UTC
Hi, can you just try to update the client library (rubygem-deltacloud-client) to 0.5.0? It should be now available in usual RHN channel.

If the update don't give you better error message (it should, then please ping me in IRC :-)

Comment 2 Michal Fojtik 2012-02-01 10:11:11 UTC
Package: rubygem-deltacloud-client-0.5.0-1.rc2.el6
Tag: ce-rhel-6-candidate
Status: complete
Built by: mfojtik
ID: 196992
Started: Wed, 01 Feb 2012 05:07:47 EST
Finished: Wed, 01 Feb 2012 05:10:08 EST
Changelog:
* Wed Feb 01 2012 Michal Fojtik <mfojtik> - 0.5.0-1.rc2
- Version bump to 0.5.0-rc2

* Thu Sep 29 2011 Richard Su <rwsu> - 0.4.0-3
- Added patch to ensure features and entrypoints are reset when driver is switched

* Mon Sep 19 2011 Michal Fojtik <mfojtik> - 0.4.0-1
- Version bump
- Added patch to fix incorrect hardware properties handling for architecture property



SRPMS:
 rubygem-deltacloud-client-0.5.0-1.rc2.el6.src.rpm

Closed tasks:
-------------

Task 3996962 on x86-008.build.bos.redhat.com
Task Type: buildArch (rubygem-deltacloud-client-0.5.0-1.rc2.el6.src.rpm, noarch)
logs:
 https://brewweb.devel.redhat.com//getfile?taskID=3996962&name=build.log
 https://brewweb.devel.redhat.com//getfile?taskID=3996962&name=mock_output.log
 https://brewweb.devel.redhat.com//getfile?taskID=3996962&name=root.log
 https://brewweb.devel.redhat.com//getfile?taskID=3996962&name=state.log
rpms:
http://download.devel.redhat.com/brewroot/packages/rubygem-deltacloud-client/0.5.0/1.rc2.el6/noarch/rubygem-deltacloud-client-0.5.0-1.rc2.el6.noarch.rpm
http://download.devel.redhat.com/brewroot/packages/rubygem-deltacloud-client/0.5.0/1.rc2.el6/noarch/rubygem-deltacloud-client-doc-0.5.0-1.rc2.el6.noarch.rpm

Task 3996970 on ia64-001.build.bos.redhat.com
Task Type: tagBuild (noarch)

Task 3996957 on hs20-bc2-5.build.redhat.com
Task Type: buildSRPMFromSCM (/rpms/rubygem-deltacloud-client:9b7479fc74b70ecb5d7491bb388211f757dfd46d)
logs:
 https://brewweb.devel.redhat.com//getfile?taskID=3996957&name=build.log
 https://brewweb.devel.redhat.com//getfile?taskID=3996957&name=checkout.log
 https://brewweb.devel.redhat.com//getfile?taskID=3996957&name=mock_output.log
 https://brewweb.devel.redhat.com//getfile?taskID=3996957&name=root.log
 https://brewweb.devel.redhat.com//getfile?taskID=3996957&name=state.log



Task Info: https://brewweb.devel.redhat.com//taskinfo?taskID=3996956
Build Info: https://brewweb.devel.redhat.com//buildinfo?buildID=196992

Comment 3 Ronelle Landy 2012-02-23 14:05:46 UTC
Verified that Deltacloud will now throw a 'Storage Domain cannot be accessed.' error when the data center is down. Below is the error message and trace from trying to launch an instance into the default data center ... which is down:

 curl -X POST -F "name=rlandyTest" -F "image_id=00000000-0000-0000-0000-000000000000" --user "uname:password" "http://hp-dl360g5-02.rhts.eng.bos.redhat.com:4001/api/instances?format=xml"

<error status='500' url='/api/instances?format=xml'>
  <kind>backend_error</kind>
  <backend driver='rhevm' provider='https://qeblade26.rhq.lab.eng.bos.redhat.com:8443/api;81bb5192-42f5-11e1-a061-5cf3fc1c861c'>
    <code>500</code>
  </backend>
  <message><![CDATA[Storage Domain cannot be accessed.]]></message>
  <backtrace>
    <![CDATA[/usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_client.rb:177:in `create_vm'
    /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:206:in `create_instance'
    /usr/share/deltacloud-core/lib/deltacloud/base_driver/exceptions.rb:151:in `call'
    /usr/share/deltacloud-core/lib/deltacloud/base_driver/exceptions.rb:151:in `safely'
    /usr/share/deltacloud-core/lib/deltacloud/drivers/rhevm/rhevm_driver.rb:197:in `create_instance'
    /usr/share/deltacloud-core/lib/deltacloud/server.rb:480
    /usr/share/deltacloud-core/lib/sinatra/rabbit.rb:125:in `instance_eval'
    /usr/share/deltacloud-core/lib/sinatra/rabbit.rb:125:in `POST /api/instances'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1151:in `call'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1151:in `compile!'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:724:in `instance_eval'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:724:in `route_eval'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:708:in `route!'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:758:in `process_route'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:755:in `catch'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:755:in `process_route'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:707:in `route!'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:706:in `each'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:706:in `route!'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:843:in `dispatch!'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:644:in `call!'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `instance_eval'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `invoke'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `catch'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:808:in `invoke'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:644:in `call!'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:629:in `call'
    /usr/share/deltacloud-core/lib/sinatra/rack_date.rb:31:in `call'
    /usr/share/deltacloud-core/lib/sinatra/rack_accept.rb:149:in `call'
    /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/head.rb:9:in `call'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/showexceptions.rb:21:in `call'
    /usr/share/deltacloud-core/lib/sinatra/rack_driver_select.rb:45:in `call'
    /usr/share/deltacloud-core/lib/sinatra/rack_matrix_params.rb:106:in `call'
    /usr/share/deltacloud-core/lib/sinatra/rack_runtime.rb:36:in `call'
    /usr/share/deltacloud-core/lib/sinatra/rack_etag.rb:41:in `call'
    /usr/lib/ruby/gems/1.8/gems/rack-accept-0.4.3/lib/rack/accept/context.rb:22:in `call'
    /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/head.rb:9:in `call'
    /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/commonlogger.rb:18:in `call'
    /usr/lib/ruby/gems/1.8/gems/rack-1.3.0/lib/rack/methodoverride.rb:24:in `call'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1272:in `call'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1303:in `synchronize'
    /usr/lib/ruby/gems/1.8/gems/sinatra-1.2.6/lib/sinatra/base.rb:1272:in `call'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:84:in `pre_process'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `catch'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:82:in `pre_process'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1060:in `call'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1060:in `spawn_threadpool'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1057:in `initialize'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1057:in `new'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1057:in `spawn_threadpool'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:1049:in `defer'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:54:in `process'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/connection.rb:42:in `receive_data'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
    /usr/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/backends/base.rb:61:in `start'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/server.rb:159:in `start'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/controllers/controller.rb:86:in `start'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `send'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:185:in `run_command'
    /usr/lib/ruby/gems/1.8/gems/thin-1.2.11/lib/thin/runner.rb:151:in `run!'
    /usr/share/deltacloud-core/bin/deltacloudd:235
    /usr/bin/deltacloudd:5:in `load'
    /usr/bin/deltacloudd:5]]>
  </backtrace>
  <request>
    <param name='image_id'>00000000-0000-0000-0000-000000000000</param>
    <param name='format'>xml</param>
    <param name='name'>rlandyTest</param>
  </request>
</error>
[rlandy@localhost /]$ 

[root@hp-dl360g5-02 ~]# rpm -qa |grep deltacloud
deltacloud-core-vsphere-0.5.0-5.el6.noarch
deltacloud-core-ec2-0.5.0-5.el6.noarch
deltacloud-core-rhevm-0.5.0-5.el6.noarch
deltacloud-core-0.5.0-5.el6.noarch
rubygem-deltacloud-client-0.5.0-2.el6.noarch

Comment 4 errata-xmlrpc 2012-05-15 20:32:50 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHEA-2012-0587.html