You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Donal Lafferty (JIRA)" <ji...@apache.org> on 2013/07/24 00:24:49 UTC

[jira] [Commented] (CLOUDSTACK-3714) 4.2 KVM agent sends wrong StartupRoutingCommand to 4.1 management server

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-3714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13717712#comment-13717712 ] 

Donal Lafferty commented on CLOUDSTACK-3714:
--------------------------------------------

This issue is due to JSON serialisation changes that were not made backwards compatible.  Look to http://markmail.org/message/5blyteot6nxnju3d for a brief explanation.

This issue also affects SystemVMs.  The default download URL is for system VMs built with v4.1 serialisation.  These are incompatible with the current managment server code.  The issue for this probelm is https://issues.apache.org/jira/browse/CLOUDSTACK-3377

                
> 4.2 KVM agent sends wrong StartupRoutingCommand to 4.1 management server
> ------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-3714
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-3714
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>          Components: KVM
>    Affects Versions: 4.2.0
>         Environment: 4.2 agent with 4.1 management server
>            Reporter: Wido den Hollander
>             Fix For: 4.2.0
>
>
> When the Agent starts it sends a StartupRoutingCommand to the management server, but this has changed it seems:
> In 4.1 the Agent sends this JSON:
> Sending Startup: Seq 4-0:  { Cmd , MgmtId: -1, via: 4, Ver: v1, Flags: 1, [{"StartupRoutingCommand":{
> In 4.2 however the JSON data starts with:
> Sending Startup: Seq 1-6:  { Cmd , MgmtId: -1, via: 1, Ver: v1, Flags: 1, [{"com.cloud.agent.api.StartupRoutingCommand":{
> So the Agent sends the full name of the class and this confuses the Management server, it throws an Exception:
> Caused by: com.cloud.utils.exception.CloudRuntimeException: can't find com.cloud.agent.api.com.cloud.agent.api.StartupRoutingCommand
> 	at com.cloud.agent.transport.ArrayTypeAdaptor.deserialize(ArrayTypeAdaptor.java:79)
> 	at com.cloud.agent.transport.ArrayTypeAdaptor.deserialize(ArrayTypeAdaptor.java:37)
> 	at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:51)
> 	... 15 more
> So it's searching for "com.cloud.agent.api.com.cloud.agent.api.StartupRoutingCommand" which obviously fails.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira