I'm currently testing Fuse Fabric 7.1-047 with cloudstack provider. I'm able to connect to the cloudstack infrastructure using the following commands (imageList, hardwareList, ...)
but when I try to create a new fabric container in the cloud, I get the following exception from jclouds :
FuseFabric:karaf@root> fabric:container-create-cloud --api cloudstack --identity EqYwkeuZnxxdkx-HnFOkCN5KkfCWyypfX5KVcX37116twCOXBau0QUWYB4pjHd8RyHn7kDP_rZnwGkpQWD4Qxg --credential 3EKSwOBYI3NdV-98L6FR0-a8w7t9XZP6liqp4_eniSum9dT7e6oKO7fGE5_IE6KLaqEJY9vNDZHo0IBXgz_O2g --name cloudstack-fabric --hardwareId ee9d812e-dd25-4e8f-83ed-1d0d22f39b5b --imageId 5c0b75a8-6927-11e2-a8a4-5c260a0287e9 fabric-cloud
Looking up for compute service.
Creating 1 nodes in the cloud. Using image id: 5c0b75a8-6927-11e2-a8a4-5c260a0287e9. It may take a while ...
[id] [container] [public addresses] [status]
[] error running 1 node group(fabric) location(320d876d-741c-4e71-9a1c-5a9e7838dd50) image(5c0b75a8-6927-11e2-a8a4-5c260a0287e9) size(ee9d812e-dd25-4e8f-83ed-1d0d22f39b5b) options({taskName=bootstrap, scriptPresent=true})
Execution failures:
1) ExecutionException on fabric-ae0:
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 168
at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:294)
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:281)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
at org.jclouds.concurrent.FutureIterables$1.run(FutureIterables.java:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 168
at com.google.gson.stream.JsonReader.expect(JsonReader.java:339)
at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:322)
at org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory$DeserializeWithParameterizedConstructorSerializeWithDelegate.read(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:173)
at org.jclouds.json.internal.IgnoreNullMapTypeAdapterFactory$1.read(IgnoreNullMapTypeAdapterFactory.java:74)
at org.jclouds.json.internal.IgnoreNullMapTypeAdapterFactory$1.read(IgnoreNullMapTypeAdapterFactory.java:58)
at com.google.gson.TypeAdapter$1.read(TypeAdapter.java:199)
at com.google.gson.Gson.fromJson(Gson.java:791)
at com.google.gson.Gson.fromJson(Gson.java:757)
at com.google.gson.Gson.fromJson(Gson.java:706)
at org.jclouds.json.internal.GsonWrapper.fromJson(GsonWrapper.java:47)
at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:86)
at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:80)
at org.jclouds.http.functions.ParseJson.apply(ParseJson.java:66)
at org.jclouds.http.functions.UnwrapOnlyJsonValue.apply(UnwrapOnlyJsonValue.java:46)
at org.jclouds.http.functions.UnwrapOnlyJsonValue.apply(UnwrapOnlyJsonValue.java:34)
at com.google.common.util.concurrent.Futures$3.apply(Futures.java:376)
at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:518)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.createNodeInGroupWithNameAndTemplate(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:170)
at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:125)
at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:215)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
at $Proxy137.createNodesInGroup(Unknown Source)
at org.fusesource.fabric.service.jclouds.JcloudsContainerProvider.create(JcloudsContainerProvider.java:212)
at org.fusesource.fabric.service.jclouds.JcloudsContainerProvider.create(JcloudsContainerProvider.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
at $Proxy35.create(Unknown Source)
at org.fusesource.fabric.service.FabricServiceImpl.createContainers(FabricServiceImpl.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
at $Proxy34.createContainers(Unknown Source)
at org.fusesource.fabric.service.jclouds.commands.ContainerCreateCloud.doExecute(ContainerCreateCloud.java:133)
at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)
at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
at org.apache.karaf.shell.console.jline.Console.run(Console.java:171)
at org.apache.karaf.shell.console.jline.DelayedStarted.run(DelayedStarted.java:61)
at org.jclouds.concurrent.config.DescribingExecutorService.submit(DescribingExecutorService.java:89)
at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.createNodeInGroupWithNameAndTemplate(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:170)
at org.jclouds.compute.strategy.impl.CreateNodesWithGroupEncodedIntoNameThenAddToSet.execute(CreateNodesWithGroupEncodedIntoNameThenAddToSet.java:125)
at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:215)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
at $Proxy137.createNodesInGroup(Unknown Source)
at org.fusesource.fabric.service.jclouds.JcloudsContainerProvider.create(JcloudsContainerProvider.java:212)
at org.fusesource.fabric.service.jclouds.JcloudsContainerProvider.create(JcloudsContainerProvider.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
at $Proxy35.create(Unknown Source)
at org.fusesource.fabric.service.FabricServiceImpl.createContainers(FabricServiceImpl.java:291)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
at $Proxy34.createContainers(Unknown Source)
at org.fusesource.fabric.service.jclouds.commands.ContainerCreateCloud.doExecute(ContainerCreateCloud.java:133)
at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)
at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)
at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)
at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
at org.apache.karaf.shell.console.jline.Console.run(Console.java:171)
at org.apache.karaf.shell.console.jline.DelayedStarted.run(DelayedStarted.java:61)
This is more a jclouds/cloudstack error but How can we figure out this JSON parsing issue ?