Bug 743718 - vsphere deployables fail to start.. RbVmomi::Fault:InvalidRequest: Error formatting number
Summary: vsphere deployables fail to start.. RbVmomi::Fault:InvalidRequest: Error form...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: CloudForms Cloud Engine
Classification: Retired
Component: deltacloud-core
Version: 1.0.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
Assignee: Michal Fojtik
QA Contact: Aziza Karol
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-10-05 19:50 UTC by wes hayutin
Modified: 2012-05-15 20:28 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-15 20:28:08 UTC


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2012:0587 0 normal SHIPPED_LIVE new packages: deltacloud-core 2012-05-15 22:31:31 UTC

Description wes hayutin 2011-10-05 19:50:41 UTC
Description of problem:
Completed in 0.000000 | 0.000000 | 200 | application/xml | http://localhost:3002/api
/usr/bin/deltacloudd[28156]: 
Processing /api (for 127.0.0.1 at Wed Oct 05 15:47:17 -0400 2011) [GET] [VSphere]
/usr/bin/deltacloudd[28156]: Parameters: {}
/usr/bin/deltacloudd[28156]: Authentication: Basic
/usr/bin/deltacloudd[28156]: Server: thin 1.2.11 codename Bat-Shit Crazy
/usr/bin/deltacloudd[28156]: Accept: application/xml
/usr/bin/deltacloudd[28156]: 
Completed in 0.000000 | 0.000000 | 200 | application/xml | http://localhost:3002/api
/usr/bin/deltacloudd[28156]: 
Processing /api/instances (for 127.0.0.1 at Wed Oct 05 15:47:17 -0400 2011) [POST] [VSphere]
/usr/bin/deltacloudd[28156]: Parameters: {"realm_id"=>"datastore1", "name"=>"dctest01-testVsphere", "hwp_memory"=>"512", "image_id"=>"factory-image-1ad2930a-74e0-4556-b0bd-caafd5d76cf4", "keyname"=>"", "hwp_id"=>"default", "hwp_cpu"=>"1.0", "hwp_storage"=>""}
/usr/bin/deltacloudd[28156]: Provider: 10.16.120.136
/usr/bin/deltacloudd[28156]: Authentication: Basic
/usr/bin/deltacloudd[28156]: Server: thin 1.2.11 codename Bat-Shit Crazy
/usr/bin/deltacloudd[28156]: Accept: application/xml
/usr/bin/deltacloudd[28156]: RbVmomi::Fault:InvalidRequest: Error formatting number
/usr/lib/ruby/gems/1.8/gems/rbvmomi-1.2.3/lib/rbvmomi/connection.rb:47:in `parse_response'
/usr/lib/ruby/gems/1.8/gems/rbvmomi-1.2.3/lib/rbvmomi/connection.rb:71:in `call'
/usr/lib/ruby/gems/1.8/gems/rbvmomi-1.2.3/lib/rbvmomi/basic_types.rb:182:in `_call'
/usr/lib/ruby/gems/1.8/gems/rbvmomi-1.2.3/lib/rbvmomi/basic_types.rb:70:in `CloneVM_Task'
/usr/share/deltacloud-core/bin/../lib/deltacloud/drivers/vsphere/vsphere_driver.rb:285:in `create_instance'
/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/vsphere/vsphere_driver.rb:207:in `create_instance'
/usr/share/deltacloud-core/bin/../server.rb:450
/usr/share/deltacloud-core/bin/../lib/sinatra/rabbit.rb:125:in `instance_eval'
/usr/share/deltacloud-core/bin/../lib/sinatra/rabbit.rb:125:in `POST /api/instances'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:1057:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:1057:in `compile!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:643:in `instance_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:643:in `route_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:627:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:675:in `process_route'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:672:in `catch'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:672:in `process_route'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:626:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:625:in `each'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:625:in `route!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:760:in `dispatch!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:553:in `call!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:725:in `instance_eval'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:725:in `invoke'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:725:in `catch'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:725:in `invoke'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:553:in `call!'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:538:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_syslog.rb:48:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_date.rb:31:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_accept.rb:149:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_driver_select.rb:45:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_matrix_params.rb:102:in `call'
/usr/share/deltacloud-core/bin/../lib/sinatra/rack_runtime.rb:36:in `call'
/usr/share/deltacloud-core/bin/../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/methodoverride.rb:24:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:1167:in `call'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:1193:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/sinatra-1.1.2/lib/sinatra/base.rb:1167: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:223
/usr/bin/deltacloudd:5:in `load'
/usr/bin/deltacloudd:5
/usr/bin/deltacloudd[28156]: 
Completed in 0.000000 | 0.000000 | 502 | application/xml | http://localhost:3002/api/instances
/usr/bin/deltacloudd[28156]: 127.0.0.1 - - [05/Oct/2011 15:47:20] "POST /api/instances HTTP/1.1" 502 216 2.5964



[root@unused ~]# rpm -qa | grep deltacloud
rubygem-deltacloud-client-0.4.0-3.fc15.noarch
deltacloud-core-ec2-0.5.0-0.1.1317167702git.noarch
deltacloud-core-0.5.0-0.1.1317167702git.noarch
deltacloud-core-vsphere-0.5.0-0.1.1317167702git.noarch
deltacloud-core-rhevm-0.5.0-0.1.1317167702git.noarch
[root@unused ~]# rpm -qa | grep aeolus
aeolus-configure-2.0.2-4.20111004160858gitaf7e59a.fc15.noarch
rubygem-aeolus-image-0.1.0-3.20111003170706git8f23238.fc15.noarch
aeolus-conductor-0.4.0-0.20111004192348git2cf5ee6.fc15.noarch
aeolus-conductor-doc-0.4.0-0.20111004192348git2cf5ee6.fc15.noarch
aeolus-all-0.4.0-0.20111004192348git2cf5ee6.fc15.noarch
rubygem-aeolus-cli-0.1.0-3.20111003133323git9451323.fc15.noarch
aeolus-conductor-daemons-0.4.0-0.20111004192348git2cf5ee6.fc15.noarch

Comment 1 wes hayutin 2011-10-05 19:53:19 UTC
For Vsphere I'm not able to add a entry for storage and have the hwp match.. so I'm kind of stuck

Comment 2 David Lutterkort 2011-10-05 21:10:50 UTC
The issue is that conductor passes in '1.0' for hwp_cpu where RbVmomi wants an integer, i.e. '1'

Comment 3 David Lutterkort 2011-10-05 21:18:11 UTC
Filed https://issues.apache.org/jira/browse/DTACLOUD-86 against DC to make sure we do better validation of hwp_cpu in DC and produce a better error message

Comment 4 Matt Wagner 2011-10-05 22:12:43 UTC
I've spent a bit trying to reproduce this bug or find where it's happening on the Conductor side to no avail. If you hit a reproducer, can you let me (or one of my compatriots) know and set us up with access?

Comment 5 Jan Provaznik 2011-10-06 12:06:33 UTC
The problem is on conductor side:
if backend hw profile property is of type 'range', let's say 1-4 and frontend end hw profile property is matched in this range, but is of type float ('1.0'), this float value is not converted to integer but is passed as float to dc api

Comment 6 Michal Fojtik 2011-10-06 13:08:34 UTC
About the 'hwp_storage': This parameter could be safely ignored since DC is not processing it. In VSphere you can't define custom storage size. Storage is 'inherited' from the template you're using for clone. Anyway my 50cents for removing this parameter completely (it's better to *not* send it when it's blank).

Comment 7 Michal Fojtik 2011-10-06 13:09:47 UTC
(In reply to comment #3)
> Filed https://issues.apache.org/jira/browse/DTACLOUD-86 against DC to make sure
> we do better validation of hwp_cpu in DC and produce a better error message

http://mail-archives.apache.org/mod_mbox/incubator-deltacloud-dev/201110.mbox/%3C1317900479-98208-1-git-send-email-mfojtik@redhat.com%3E

Comment 8 Matt Wagner 2011-10-06 15:41:40 UTC
For Conductor, I've posted https://fedorahosted.org/pipermail/aeolus-devel/2011-October/005446.html which should keep us from sending these values in the first place. (At least in this specific case.)

Comment 9 Matt Wagner 2011-10-14 13:39:45 UTC
Whoops, I failed to update this. Fixed with this commit:

commit 1f3f5f1e81d5964d1251bba51d42b639b692a1ae
Author: Matt Wagner <matt.wagner>
Date:   Thu Oct 6 11:23:29 2011 -0400

    generate_override_property_value returns integers for ranged values
    
    Resolves https://bugzilla.redhat.com/show_bug.cgi?id=743718

Comment 10 Aziza Karol 2011-11-02 09:20:56 UTC
Vsphere deployables started successfully even if the  hwp_cpu value is float.

I changed the hwp_cpu value to 1.0 and deployment was successful without any error.
This float value is converted to integer and is passed to dc api.

[root@dell-pe1950-01 ~]# deltacloudd -i mock -p 3002  -V
Processing /api/instances (for 127.0.0.1 at Wed Nov 02 05:03:00 -0400 2011) [POST] [VSphere]
Parameters: {"name"=>"vmware4-vmware", "image_id"=>"factory-image-d7acd937-a3ec-4abd-9178-10341ae2c945", "realm_id"=>"datastore1", "hwp_memory"=>"512", "keyname"=>"", "hwp_id"=>"default", "hwp_cpu"=>"1", "hwp_storage"=>"", "user_data"=>""}
Provider: 10.16.120.136
Authentication: Basic
Server: thin 1.2.11 codename Bat-Shit Crazy
Accept: application/xml


verified on:
[root@dell-pe1950-01 ~]# rpm -qa | grep aeolus
aeolus-conductor-0.6.0-0.20111029030732git7410602.el6.noarch
rubygem-ZenTest-4.3.3-2.aeolus.el6.noarch
aeolus-all-0.6.0-0.20111029030732git7410602.el6.noarch
rubygem-aeolus-cli-0.1.0-3.20111028152758git7063136.el6.noarch
rubygem-aeolus-image-0.1.0-4.20111024205454git6b2b696.el6.noarch
aeolus-conductor-daemons-0.6.0-0.20111029030732git7410602.el6.noarch
aeolus-configure-2.3.0-0.20111028220920gitf01b051.el6.noarch
rubygem-rack-mount-0.7.1-3.aeolus.el6.noarch
aeolus-conductor-doc-0.6.0-0.20111029030732git7410602.el6.noarch
rubygem-arel-2.0.10-0.aeolus.el6.noarch

Comment 11 Michal Fojtik 2011-11-02 16:03:02 UTC
Please don't use Float as CPU property. In newer version of Deltacloud API (starting from 0.4.1) we're doing a more strict validation of parameters and using Float for 'hwp_cpu' will lead to validation error (DC will return code '400').

Comment 12 Matt Wagner 2011-11-04 14:59:47 UTC
Hi Michal,

Indeed, the use of a float was a bug. My patch fixed it up to use an integer.

(Although it's already in 'verified' state, I'm re-assigning this bug to be public for posterity since there's no reason it should be private.)

Comment 15 errata-xmlrpc 2012-05-15 20:28:08 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


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