3

我试图让 CloudStack 3.0 与 Cloudify 2.1 和 2.2 一起使用,但是我得到了下面概述的错误:

堆栈跟踪

第一个遇到的错误是:

java.lang.NumberFormatException: For input string: "11e2ccc4-43dd-4558-99ef-a687000g632f"
    at org.cloudifysource.esc.shell.installer.CloudGridAgentBootstrapper.boostrapCloudAndWait(CloudGridAgentBootstrapper.java:177)
    at org.cloudifysource.esc.shell.commands.BootstrapCloud.doExecute(BootstrapCloud.java:98)
    at org.cloudifysource.shell.commands.AbstractGSCommand.execute(AbstractGSCommand.java:79)
    at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
    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:221)
    at org.apache.karaf.shell.console.Main.run(Main.java:191)
    at org.apache.karaf.shell.console.Main.run(Main.java:89)
    at org.cloudifysource.shell.GigaShellMain.main(GigaShellMain.java:122)
Caused by: org.cloudifysource.esc.driver.provisioning.CloudProvisioningException: One or more managememnt machines failed. The first encountered error was: java.lang.NumberFormatException: For input string: "11e2ccc4-43dd-4558-99ef-a687000g632f"
    at org.cloudifysource.esc.driver.provisioning.jclouds.DefaultProvisioningDriver.handleProvisioningFailure(DefaultProvisioningDriver.java:564)
    at org.cloudifysource.esc.driver.provisioning.jclouds.DefaultProvisioningDriver.doStartManagementMachines(DefaultProvisioningDriver.java:431)
    at org.cloudifysource.esc.driver.provisioning.jclouds.DefaultProvisioningDriver.startManagementMachines(DefaultProvisioningDriver.java:365)
    at org.cloudifysource.esc.shell.installer.CloudGridAgentBootstrapper.boostrapCloudAndWait(CloudGridAgentBootstrapper.java:174)
    ... 13 more
Caused by: java.util.concurrent.ExecutionException: java.lang.NumberFormatException: For input string: "52c2cfb4-40eb-4928-99ef-a687000a632c"
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232)
    at java.util.concurrent.FutureTask.get(FutureTask.java:91)
    at org.cloudifysource.esc.driver.provisioning.jclouds.DefaultProvisioningDriver.doStartManagementMachines(DefaultProvisioningDriver.java:402)
    ... 15 more
Caused by: java.lang.NumberFormatException: For input string: "11e2ccc4-43dd-4558-99ef-a687000g632f"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222)
    at java.lang.Double.parseDouble(Double.java:510)
    at com.google.gson.stream.JsonReader.nextLong(JsonReader.java:561)
    at com.google.gson.internal.bind.TypeAdapters$8.read(TypeAdapters.java:250)
    at com.google.gson.internal.bind.TypeAdapters$8.read(TypeAdapters.java:242)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)
    at com.google.gson.Gson.fromJson(Gson.java:755)
    at org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:81)
    at org.jclouds.http.functions.ParseFirstJsonValueNamed.apply(ParseFirstJsonValueNamed.java:48)
    at com.google.common.util.concurrent.Futures$4.apply(Futures.java:503)
    at com.google.common.util.concurrent.Futures$4.apply(Futures.java:501)
    at com.google.common.util.concurrent.Futures$3.apply(Futures.java:279)
    at com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:729)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
4

1 回答 1

4

CloudStack 版本 3 及更高版本与 Cloudify 2.2 或更低版本或任何依赖于 jcloud 1.4 或更低版本的程序不兼容。简而言之,解决方案只是迁移到 Cloudify 2.3,我必须从源代码(https://github.com/CloudifySource/cloudify)构建它并让 Cloudify 和 CloudStack 正常工作

这个问题实际上是因为 CloudStack 从模板上的长类型 id 键移动到字符串键,以下类 org.jclouds.cloudstack.domain.Template 类将 id 设置为长,这会导致 JSON 上的解析问题,如您在堆栈跟踪。

于 2012-11-02T20:05:43.780 回答