[ 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)