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

Posted

技术标签:

【中文标题】在 CloudStack 3 上的 Cloudify 版本 2.2 或更低版本上注册 VM:NumberFormatException【英文标题】:Registering VM on Cloudify version 2.2 or less on CloudStack 3: NumberFormatException 【发布时间】:2012-10-23 10:57:14 【问题描述】:

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

【问题讨论】:

问题中概述了答案,我希望这对遇到相同错误的其他人有所帮助 您可以自行回复帖子。请参阅this post 了解更多信息。 @NoelKing 你的回答解决了你的问题吗?如果可以,请您接受吗?谢谢 【参考方案1】:

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 上的解析问题为您在堆栈跟踪中看到。

【讨论】:

以上是关于在 CloudStack 3 上的 Cloudify 版本 2.2 或更低版本上注册 VM:NumberFormatException的主要内容,如果未能解决你的问题,请参考以下文章

cloudstack

一次cloudstack启动cloudstack-agent报错的处理过程

在Centos7上部署CloudStack4.10(文章测试)

我不是九爷 带你了解 CloudStack+XenServer详细部署方案:CloudStack管理节点的安装和配置

原创使用workstation安装Xenserver 6.5+cloudstack 4.10----本地存储模式

cloudstack