incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugo Trippaers <HTrippa...@schubergphilis.com>
Subject Re: Problem with createNetworkOffering API call
Date Wed, 23 Jan 2013 21:01:25 GMT
Nice!

Cheers,

Hugo

Verstuurd vanaf mijn iPad

Op 23 jan. 2013 om 19:59 heeft "Rohit Yadav" <bhaisaab@apache.org> het volgende geschreven:

> On Wed, Jan 23, 2013 at 10:13 AM, Min Chen <min.chen@citrix.com> wrote:
>> Hi Rohit/Hugo,
>> 
>>        If I am not mistaken the issue, an easy fix for this is to change the
>> following parameter annotation
> 
> Yes you're right! I was lost in some other piece of code (apparently
> switching between branches messes your brain), this was just an
> incorrect annotation and not a problem in service layer or dao layer.
> Fixed in dba413a3d4b1ea8320821c8ab15f193f98f01304 on master.
> 
> Regards.
> 
> 
>> 
>>    @Parameter(name=ApiConstants.SERVICE_OFFERING_ID,
>> type=CommandType.UUID, entityType=DiskOfferingResponse.class,
>>            description="the service offering ID used by virtual router
>> provider")
>>    private Long serviceOfferingId;
>> 
>> 
>> To
>> 
>>    @Parameter(name=ApiConstants.SERVICE_OFFERING_ID,
>> type=CommandType.UUID, entityType=ServiceOfferingResponse.class,
>> description="the service offering ID used by virtual router provider")
>> private Long serviceOfferingId;
>> 
>> Since this parameter is actually referring to service offerings, not disk
>> offering.
>> 
>>        Thanks
>>        -min
>> 
>> 
>> On 1/23/13 9:17 AM, "Rohit Yadav" <bhaisaab@apache.org> wrote:
>> 
>>> 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.
>>> 
>>> Regards.
>>> 
>>> On Wed, Jan 23, 2013 at 6:28 AM, Hugo Trippaers
>>> <HTrippaers@schubergphilis.com> 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===  127.0.0.1 -- GET
>>>> command=createNetworkOffering&response=json&sessionkey=43rxXRv2MDoaxA83zI
>>>> xgKwtNWCQ%3D&name=test&displayText=test&guestIpType=Isolated&useVpc=on&se
>>>> rviceOfferingId=29bf1bb4-9e0a-4908-9de9-0065ca6cc20c&servicecapabilitylis
>>>> t%5B0%5D.service=SourceNat&servicecapabilitylist%5B0%5D.capabilitytype=Su
>>>> pportedSourceNatTypes&servicecapabilitylist5B05D.capabilityvalue=peraccou
>>>> nt&servicecapabilitylist%5B1%5D.service=lb&servicecapabilitylist%5B1%5D.c
>>>> apabilitytype=SupportedLbIsolation&servicecapabilitylist%5B1%5D.capabilit
>>>> yvalue=dedicated&availability=Optional&state=Creating&status=Creating&all
>>>> ocationstate=Creating&supportedServices=Dhcp%2CDns%2CFirewall%2CLb%2CUser
>>>> Data%2CSourceNat%2CStaticNat%2CPortForwarding%2CConnectivity&specifyVlan=
>>>> false&specifyIpRanges=false&conservemode=false&serviceProviderList%5B0%5D
>>>> .service=Dhcp&serviceProviderList%5B0%5D.provider=VpcVirtualRouter&servic
>>>> eProviderList%5B1%5D.service=Dns&serviceProviderList%5B1%5D.provider=VpcV
>>>> irtualRouter&serviceProviderList%5B2%5D.service=Firewall&serviceProviderL
>>>> ist%5B2%5D.provider=VirtualRouter&serviceProviderList%5B3%5D.service=Lb&s
>>>> erviceProviderList%5B3%5D.provider=VpcVirtualRouter&serviceProviderList%5
>>>> B4%5D.service=UserData&serviceProviderList%5B4%5D.provider=VpcVirtualRout
>>>> er&serviceProviderList%5B5%5D.service=SourceNat&serviceProviderList%5B5%5
>>>> D.provider=VpcVirtualRouter&serviceProviderList%5B6%5D.service=StaticNat&
>>>> serviceProviderList%5B6%5D.provider=VpcVirtualRouter&serviceProviderList%
>>>> 5B7%5D.service=PortForwarding&serviceProviderList%5B7%5D.provider=VpcVirt
>>>> ualRouter&serviceProviderList%5B8%5D.service=Connectivity&serviceProvider
>>>> List%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.
>> 

Mime
View raw message