cloudstack-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sam Robertson <Sam.Robert...@citrix.com>
Subject Re: Json related exception when invoking ec2 command
Date Wed, 30 May 2012 23:27:11 GMT
Hi Jose,

This is the other major problem with CloudBridge and 3.0 CloudStack.  As you note the ID's
are now actually UUIDs.

On May 30, 2012, at 8:21 AM, Jose Rozanec wrote:

Hello,

Temporarily we overcome the error handling the response before delivered to
cloudbridge server and fixing the values. When that was done, we got the
following:

Server.InternalError: Property deployvirtualmachineresponse.virtualmachine
is resolved to null JSON element on object:
{"deployvirtualmachineresponse":{"errorcode":431,"errortext":"Unable to
execute API command deployvirtualmachine due to invalid value. Object
disk_offering(uuid: 2224444f-6a56-448e-b) does not exist."}}

Looking at the cloudbridge
/usr/share/cloud/bridge/conf/ec2-service.properties file, we saw all
properties were correctly set. Looking at cloudbridge database, at the
offering_bundle table, we saw the uuid string causing the problem.
At first we thought there was a user error when inserting the value, since
those values were inserted manually. (I'm not sure what the expected
behaviour is: the cloud-setup-bridge creates a properties file and sets up
amazon-cloudstack mappings, but values are being retrieved from the
cloudbridge database and not being inserted into it.
Did we miss something here?)

The way this works is the setup script creates the ec2-service.properties file.  When CloudBridge
launches, it checks the database and if the offering_bundle table is empty, it will populate
it with the entries in the ec2-service.properties.  I'm not sure what the original design
decision was, but I imagine it was handled this way to reduce the complexity of the setup-bridge
script.  Any updates to the file won't change the database unless the table is empty.  The
bigger problem, as you mentioned above is the column width for cloudstackoffering column being
only 20 in length.



We tried to update the value with the correct string, but we got the
following warning:
*************************** 1. row ***************************
 Level: Warning
  Code: 1265
Message: Data truncated for column 'CloudStackOffering' at row 1
1 row in set (0.00 sec)

As a temporary solution we tried recreating the table with same parameters
did not work. Recreating the offering_bundle table changing the varchar(20)
to varchar(100) at CloudStackOffering column solved the issue: the uuid was
no longer truncated:
CREATE TABLE `offering_bundle` (`ID` int(11) NOT NULL
AUTO_INCREMENT,`AmazonEC2Offering` varchar(100) NOT
NULL,`CloudStackOffering` varchar(100) NOT NULL,PRIMARY KEY (`ID`),UNIQUE
KEY `one_offering` (`AmazonEC2Offering`)) ENGINE=InnoDB AUTO_INCREMENT=2
DEFAULT CHARSET=utf8;
Did anyone had a similar problem?

I posted 1.1.1 last night which contains fixes for the ID properties, but this issue and your
run-instances issue aren't resolved in that build.  You are more than welcome to look at the
code and contribute any changes to cloudbridge, https://github.com/CloudStack/CloudBridge
if you would like to help make it better support 3.0.   Keep in mind the EC2 support being
integrated in the next version of CloudStack 3.0 is a fork of this project with many changes
(including the ones you've identified here) already made.

Thanks,

Jose.
\

Sam


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message