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

ASF GitHub Bot commented on CLOUDSTACK-9081:
--------------------------------------------

Github user bhaisaab commented on the pull request:

    https://github.com/apache/cloudstack/pull/1118#issuecomment-159555769
  
    LGTM


> Unable to convert to json in Storage XenMotion
> ----------------------------------------------
>
>                 Key: CLOUDSTACK-9081
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9081
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>            Reporter: Rajani Karuturi
>
> Storage motion of vm across clusters/xenserver-pools fails
> in a clustered management server setup. In xen storage motion we have to send 
> a migrate_receive command to the destination host, followed by migrate_send 
> command to the source host. The sr and network detials of the destination 
> host have to be passed in migrate_send command on the source. While migrating 
> across clusters the source and destination resources are seperate objects. To 
> pass this information across resources we have to send seperate migrate with 
> storage receive and send commands to the resource. In a clustered ms setup 
> these commands may have to be forwarded to another ms as the resource may be 
> owned by it. The serilization of the command and answer objects fails in such 
> case as it doesn't understand the xapi sr and network objects.
> The following JSON conversion error was recorded in management-server2.log.
> {noformat}
> 2015-06-19 10:36:48,507 ERROR [c.c.a.t.Request] (AgentManager-Handler-7:null) 
> (logid:) Unable to convert to json: 
> [{"com.cloud.agent.api.MigrateWithStorageReceiveAnswer":{"volumeToSr":[{"t":{"id":51828,"name":"Data4","path":"abce3250-8c25-4634-89e3-cef7af6e16b8","size":5368709120,"type":"DATADISK","storagePoolType":"IscsiLUN","storagePoolUuid":"3ae7d68f-8981-34ac-95f0-c67ef3354748","deviceId":4},"u":{"ref":"OpaqueRef:63e4185a-835a-c7e2-4dc3-fbcb95e97872"}},{"t":{"id":51729,"name":"ROOT-61290","path":"19a7495d-fb3b-45ef-92e6-e86c017ed1f2","size":53687091200,"type":"ROOT","storagePoolType":"IscsiLUN","storagePoolUuid":"cb398aad-77cc-3916-9e3f-3debec31ff71","deviceId":0},"u":{"ref":"OpaqueRef:63e4185a-835a-c7e2-4dc3-fbcb95e97872"}},{"t":{"id":51826,"name":"Data2","path":"13982b0d-e427-45df-9c7f-b258406bdcd7","size":5368709120,"type":"DATADISK","storagePoolType":"IscsiLUN","storagePoolUuid":"3ae7d68f-8981-34ac-95f0-c67ef3354748","deviceId":2},"u":{"ref":"OpaqueRef:63e4185a-835a-c7e2-4dc3-fbcb95e97872"}},{"t":{"id":51825,"name":"Data1","path":"064685fc-1abf-4086-8f81-98dfea2090ce","size":5368709120,"type":"DATADISK","storagePoolType":"IscsiLUN","storagePoolUuid":"3ae7d68f-8981-34ac-95f0-c67ef3354748","deviceId":1},"u":{"ref":"OpaqueRef:63e4185a-835a-c7e2-4dc3-fbcb95e97872"}},{"t":{"id":51829,"name":"Data5","path":"85d8ab52-7c79-4338-9433-11a50cb0bbc1","size":5368709120,"type":"DATADISK","storagePoolType":"IscsiLUN","storagePoolUuid":"3ae7d68f-8981-34ac-95f0-c67ef3354748","deviceId":5},"u":{"ref":"OpaqueRef:63e4185a-835a-c7e2-4dc3-fbcb95e97872"}},{"t":{"id":51827,"name":"Data3","path":"7fc80df1-5065-4286-a1c8-87574e798251","size":5368709120,"type":"DATADISK","storagePoolType":"IscsiLUN","storagePoolUuid":"3ae7d68f-8981-34ac-95f0-c67ef3354748","deviceId":12},"u":{"ref":"OpaqueRef:63e4185a-835a-c7e2-4dc3-fbcb95e97872"}}],"nicToNetwork":[{"t":{"deviceId":0,"networkRateMbps":2000,"defaultNic":true,"pxeDisable":false,"nicUuid":"45cd68fb-fe60-454c-9a08-f73fd902cef0","uuid":"38a40e2d-0f12-4015-9753-8c08d76d52dc","ip":"172.27.0.113","netmask":"255.255.0.0","gateway":"172.27.0.1","mac":"02:00:59:6b:00:08","dns1":"8.8.8.8","dns2":"8.8.4.4","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://1109","isolationUri":"vlan://1109","isSecurityGroupEnabled":false,"name":"cloud-public"},"u":{"ref":"OpaqueRef:c9087c77-81f9-03eb-9cf8-df7868354563"}},{"t":{"deviceId":1,"networkRateMbps":-1,"defaultNic":false,"pxeDisable":false,"nicUuid":"1504aed4-4871-48d5-abed-581889cea7c7","uuid":"28f3a4f4-dd3d-42d2-b4a4-5243a50232c8","ip":"10.10.10.2","netmask":"255.255.255.0","gateway":"10.10.10.1","mac":"06:a8:b8:00:10:83","dns1":"8.8.8.8","dns2":"8.8.4.4","broadcastType":"Vlan","type":"Guest","broadcastUri":"vlan://3339","isolationUri":"vlan://3339","isSecurityGroupEnabled":false,"name":"cloud-public"},"u":{"ref":"OpaqueRef:0110ebab-607d-f02f-134a-383e77324677"}}],"token":{"session_id":"OpaqueRef:c5929d08-fc30-939b-fd01-0921799fb98a","host":"OpaqueRef:0d842514-468d-4dd9-5dfe-015ce3898a66","SM":"http://10.32.1.4/services/SM?session_id\u003dOpaqueRef:c5929d08-fc30-939b-fd01-0921799fb98a","master":"http://10.13.4.1/","xenops":"http://10.32.1.4/services/xenops?session_id\u003dOpaqueRef:c5929d08-fc30-939b-fd01-0921799fb98a"},"result":true,"contextMap":{},"wait":0}}]
> 2015-06-19 10:36:48,507 WARN  [c.c.u.n.Task] (AgentManager-Handler-7:null) 
> (logid:) Caught the following exception but pushing on
> com.google.gson.JsonParseException: Type information is unavailable, and the 
> target object is not a primitive: 
> {"ref":"OpaqueRef:63e4185a-835a-c7e2-4dc3-fbcb95e97872"}
>       at 
> com.google.gson.JsonObjectDeserializationVisitor.visitPrimitive(JsonObjectDeserializationVisitor.java:130)
>       at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:116)
>       at 
> com.google.gson.JsonDeserializationVisitor.visitChild(JsonDeserializationVisitor.java:110)
>       at 
> com.google.gson.JsonDeserializationVisitor.visitChildAsObject(JsonDeserializationVisitor.java:99)
>       at 
> com.google.gson.JsonObjectDeserializationVisitor.visitObjectField(JsonObjectDeserializationVisitor.java:63)
>       at 
> com.google.gson.ReflectingFieldNavigator.visitFieldsReflectively(ReflectingFieldNavigator.java:69)
>       at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:120)
>       at 
> com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:76)
>       at 
> com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:54)
>       at 
> com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:663)
>       at 
> com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:624)
>       at 
> com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:51)
>       at 
> com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:92)
>       at 
> com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(JsonObjectDeserializationVisitor.java:117)
>       at 
> com.google.gson.ReflectingFieldNavigator.visitFieldsReflectively(ReflectingFieldNavigator.java:63)
>       at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:120)
>       at 
> com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:76)
>       at 
> com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:54)
>       at com.google.gson.Gson.fromJson(Gson.java:551)
>       at com.google.gson.Gson.fromJson(Gson.java:521)
>       at 
> com.cloud.agent.transport.ArrayTypeAdaptor.deserialize(ArrayTypeAdaptor.java:80)
>       at 
> com.cloud.agent.transport.ArrayTypeAdaptor.deserialize(ArrayTypeAdaptor.java:40)
>       at 
> com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:51)
>       at 
> com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:92)
>       at 
> com.google.gson.JsonDeserializationVisitor.visitUsingCustomHandler(JsonDeserializationVisitor.java:80)
>       at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:101)
>       at 
> com.google.gson.JsonDeserializationContextDefault.fromJsonArray(JsonDeserializationContextDefault.java:67)
>       at 
> com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:52)
>       at com.google.gson.Gson.fromJson(Gson.java:551)
>       at com.google.gson.Gson.fromJson(Gson.java:498)
>       at com.google.gson.Gson.fromJson(Gson.java:467)
>       at com.google.gson.Gson.fromJson(Gson.java:417)
>       at com.google.gson.Gson.fromJson(Gson.java:389)
>       at com.cloud.agent.transport.Request.log(Request.java:398)
>       at com.cloud.agent.transport.Request.logD(Request.java:367)
>       at 
> com.cloud.agent.manager.AgentAttache.processAnswers(AgentAttache.java:272)
>       at 
> com.cloud.agent.manager.ClusteredAgentManagerImpl$ClusteredAgentHandler.doTask(ClusteredAgentManagerImpl.java:696)
>       at com.cloud.utils.nio.Task.run(Task.java:84)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to