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(JsonDeserializerExceptionWrapper.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