jclouds - 在 CloudStack 3 : NumberFormatException 上的 Cloudify 版本 2.2 或更低版本上注册 VM

标签 jclouds cloudify

我试图让 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)

最佳答案

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

这个问题实际上是因为 CloudStack 从模板上的 long 类型 id 键移动到 String 键,下面的类 org.jclouds.cloudstack.domain.Template 类将 id 设置为 long,这导致 JSON 上的解析问题为你在堆栈跟踪中看到。

关于jclouds - 在 CloudStack 3 : NumberFormatException 上的 Cloudify 版本 2.2 或更低版本上注册 VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13201064/

相关文章:

chef-infra - 如何使用动态创建的 Chef 节点(不使用 knife)的角色引导运行列表?

mongodb - 从 cloudify 安装 MongoDB 时收到 ZipException

java - 将 jClouds 或 openstack4j 与 OpenStack 结合使用

java - 使用 jclouds API 仅更新 SoftLayer 中对象的元数据

ssh - 在 openstack 中使用 jclouds 传递 ssh key

java - OpenStack JClouds 如何使用现有 token 构建 ContextBuilder 或其他东西

打开堆栈迅速 : The server has waited too long for the request to be sent by the client

使用 AD 进行 LDAP 身份验证