cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wido den Hollander <w...@widodh.nl>
Subject Re: 4.2 KVM agent can't communicate with 4.1 management server
Date Tue, 23 Jul 2013 07:31:49 GMT


On 07/22/2013 11:29 PM, Toshiaki Hatano wrote:
> I got a question from this issue.
> Should cloudstack allow version mismatch between management and agent?
>

I already discussed this on IRC yesterday and I wanted to start a new 
[DISCUSS] thread around this, didn't get to do that yet.

Wido

> I think it's very good to have for ops.
> But it looks very difficult for dev, since every little change could
> break the interoperability. (We have to test it?)
>
> --
> Toshiaki
>
> -----Original Message-----
> From: Wido den Hollander [mailto:wido@widodh.nl]
> Sent: Monday, July 22, 2013 07:53
> To: dev@cloudstack.apache.org
> Subject: 4.2 KVM agent can't communicate with 4.1 management server
>
> Hi,
>
> While reviewing 12775 I upgraded my Agents from 4.1 to 4.2, but kept my
> management server at 4.1
>
> 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(JsonDeseria
> lizerExceptionWrapper.java:51)
> 	... 15 more
>
> So it's searching for
> "com.cloud.agent.api.com.cloud.agent.api.StartupRoutingCommand" which
> obviously fails.
>
> I'm not sure how to fix this, since StartupRoutingCommand simply calls
> "RouterPrivateIpStrategy.class.getCanonicalName()"
>
> I created this issue for it:
> https://issues.apache.org/jira/browse/CLOUDSTACK-3714
>
> Any suggestions on how to fix this?
>
> Wido
>
>
>
> This email message is intended for the use of the person to whom it has been sent, and
may contain information that is confidential or legally protected. If you are not the intended
recipient or have received this message in error, you are not authorized to copy, distribute,
or otherwise use this message or its attachments. Please notify the sender immediately by
return e-mail and permanently delete this message and any attachments. Verio Inc. makes no
warranty that this email is error or virus free.  Thank you.
>

Mime
View raw message