Details
-
Bug
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
None
-
Fedora 16
Rhel 6.2
Vsphere 5.x
Deltacloud commit version 48e3efca857b1b0584434e56640c210a2e9e41ed branch 'master' of https://git-wip-us.apache.org/repos/asf/deltacloud
Description
The Deltacloud Ruby client throws an 'Unhandled Exception' if the datastore passed to the client.create command is not available/does not exist:
- vsphere
elsif ENV['API_PROVIDER'] == 'vsphere'
it "should allow creation of new instances with user data" do
DeltaCloud.new( API_NAME, API_PASSWORD, API_URL ) do |client|
instance = client.create_instance( image_id,
:hardware_profile=>'default',
:realm=><NAME OF UNAVAILABLE DATASTORE>,
:name=>"rlandyUserData",
:user_data=>userdata)
./bin/deltacloudd:239
Deltacloud::ExceptionHandler::BackendError - Unhandled exception or status code (undefined method `_connection' for #<Array:0x7fb08c7d3a18>):
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb:167:in `buildUrl'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb:89:in `_exist?'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb:148:in `uploadFile'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/drivers/vsphere/vsphere_filemanager.rb:53:in `user_data!'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb:257:in `create_instance'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/base_driver/exceptions.rb:173:in `call'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/base_driver/exceptions.rb:173:in `safely'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/drivers/vsphere/vsphere_driver.rb:220:in `create_instance'
/home/hudson/workspace/deltacloud-client/server/lib/deltacloud/server.rb:482
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rabbit.rb:125:in `instance_eval'
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rabbit.rb:125:in `POST /api/instances'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:1211:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:1211:in `compile!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:785:in `[]'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:785:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:801:in `route_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:785:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:822:in `process_route'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:820:in `catch'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:820:in `process_route'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:784:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:783:in `each'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:783:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:886:in `dispatch!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:719:in `call!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:871:in `invoke'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:871:in `catch'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:871:in `invoke'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:719:in `call!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:705:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/commonlogger.rb:20:in `call'
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rack_date.rb:31:in `call'
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rack_accept.rb:152:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/nulllogger.rb:9:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/showexceptions.rb:21:in `call'
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rack_driver_select.rb:45:in `call'
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rack_matrix_params.rb:106:in `call'
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rack_runtime.rb:36:in `call'
/home/hudson/workspace/deltacloud-client/server/lib/sinatra/rack_etag.rb:41:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-accept-0.4.4/lib/rack/accept/context.rb:22:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/path_traversal.rb:16:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/json_csrf.rb:17:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/base.rb:47:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-protection-1.2.0/lib/rack/protection/xss_header.rb:22:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/logger.rb:15:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/head.rb:9:in `call'
/usr/lib/ruby/gems/1.8/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:1334:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:1416:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:1334:in `call'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/connection.rb:80:in `pre_process'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/connection.rb:78:in `catch'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/connection.rb:78: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.3.1/lib/thin/connection.rb:50:in `process'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/connection.rb:38: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.3.1/lib/thin/backends/base.rb:61:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/server.rb:159:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/controllers/controller.rb:86:in `start'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/runner.rb:185:in `send'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/runner.rb:185:in `run_command'
/usr/lib/ruby/gems/1.8/gems/thin-1.3.1/lib/thin/runner.rb:151:in `run!'
./bin/deltacloudd:239