cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <>
Subject Re: Problem with createNetworkOffering API call
Date Wed, 23 Jan 2013 17:17:20 GMT
Hi Hugo,

I'll see this today. I'm not sure about the impact of fixing it in
disk offering dao impl as well.
Both disk and service offering dao and tables are tightly coupled.
Must be something I missed.
Will keep you posted.


On Wed, Jan 23, 2013 at 6:28 AM, Hugo Trippaers
<> wrote:
> Hey guys,
> I was working on some stuff when I needed to create a new network service offering using
the lastest build from master (and a clean database). The call failed with the following message
"Unable to execute API command createnetworkoffering due to invalid value. Invalid parameter
value=29bf1bb4-9e0a-4908-9de9-0065ca6cc20c due to incorrect long value, entity not found,
or an annotation bug." I needed a systemvm offering in the network offering from the list,
the uuid mentioned in the error is the uuid of the system offering. However the system offering
is in the database, it is one of the default system offerings.
> mysql> select id, unique_name,name from disk_offering where uuid = '29bf1bb4-9e0a-4908-9de9-0065ca6cc20c';
> +----+--------------------------+-------------------------------------+
> | id | unique_name              | name                                |
> +----+--------------------------+-------------------------------------+
> |  9 | Cloud.Com-SoftwareRouter | System Offering For Software Router |
> +----+--------------------------+-------------------------------------+
> It took some digging, but I found the problem. The api framework issues a findByUuid
for any uuid's received with the command. So in this case the api dispatcher issued the findByUuid
call on the DiskOfferingDao. This call is part of the GenericDaoBase (line 918) and eventually
becomes a call to searchIncludingRemoved with a single clause stating the uuid must match.
However this call is overridden in DiskOfferingDaoImpl (line 85) and the new function adds
a clause stating that the type must be 'Disk'. The service offering we are looking for has
type 'Service' so the query yields no results and the call fails.
> The easy way out would be to remove the check for type equals Disk, which fixes the obvious
problem, but I have no idea what else this might cause. Could someone with more clue than
me have a look at this?
> Below the lines from the log for those interested.
> Cheers,
> Hugo
> 2013-01-23 14:52:16,367 DEBUG [cloud.api.ApiServlet] (649447027@qtp-2088502955-10:null)
===START=== -- GET  command=createNetworkOffering&response=json&sessionkey=43rxXRv2MDoaxA83zIxgKwtNWCQ%3D&name=test&displayText=test&guestIpType=Isolated&useVpc=on&serviceOfferingId=29bf1bb4-9e0a-4908-9de9-0065ca6cc20c&servicecapabilitylist%5B0%5D.service=SourceNat&servicecapabilitylist%5B0%5D.capabilitytype=SupportedSourceNatTypes&servicecapabilitylist5B05D.capabilityvalue=peraccount&servicecapabilitylist%5B1%5D.service=lb&servicecapabilitylist%5B1%5D.capabilitytype=SupportedLbIsolation&servicecapabilitylist%5B1%5D.capabilityvalue=dedicated&availability=Optional&state=Creating&status=Creating&allocationstate=Creating&supportedServices=Dhcp%2CDns%2CFirewall%2CLb%2CUserData%2CSourceNat%2CStaticNat%2CPortForwarding%2CConnectivity&specifyVlan=false&specifyIpRanges=false&conservemode=false&serviceProviderList%5B0%5D.service=Dhcp&serviceProviderList%5B0%5D.provider=VpcVirtualRouter&serviceProviderList%5B1%5D.service=Dns&serviceProviderList%5B1%5D.provider=VpcVirtualRouter&serviceProviderList%5B2%5D.service=Firewall&serviceProviderList%5B2%5D.provider=VirtualRouter&serviceProviderList%5B3%5D.service=Lb&serviceProviderList%5B3%5D.provider=VpcVirtualRouter&serviceProviderList%5B4%5D.service=UserData&serviceProviderList%5B4%5D.provider=VpcVirtualRouter&serviceProviderList%5B5%5D.service=SourceNat&serviceProviderList%5B5%5D.provider=VpcVirtualRouter&serviceProviderList%5B6%5D.service=StaticNat&serviceProviderList%5B6%5D.provider=VpcVirtualRouter&serviceProviderList%5B7%5D.service=PortForwarding&serviceProviderList%5B7%5D.provider=VpcVirtualRouter&serviceProviderList%5B8%5D.service=Connectivity&serviceProviderList%5B8%5D.provider=NiciraNvp&traffictype=GUEST&_=1358949136255
> 2013-01-23 14:56:45,974 DEBUG [cloud.api.ApiDispatcher] (649447027@qtp-2088502955-10:null)
Object entity with uuid=29bf1bb4-9e0a-4908-9de9-0065ca6cc20c does not exist in the database.
> 2013-01-23 14:56:45,975 INFO  [cloud.api.ApiServer] (649447027@qtp-2088502955-10:null)
Unable to execute API command createnetworkoffering due to invalid value. Invalid parameter
value=29bf1bb4-9e0a-4908-9de9-0065ca6cc20c due to incorrect long value, entity not found,
or an annotation bug.

View raw message