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