预启动代理或cloudify异常导致代理仍在主机上运行,​​此时,安装应用程序将抛出未找到的文件异常

时间:2014-11-30 13:47:36

标签: cloudify

@Barak抱歉打扰你了。

预启动代理或cloudify异常导致代理仍在主机上运行,​​此时,在此主机上安装应用程序将抛出未找到的文件异常。

在应用程序部署的整个过程中,代理程序安装占用了一半的时间,因此,我想在所有虚拟机中预启动代理程序(使用命令)。启动所有代理后,可以在gs-webui的主机选项卡视图中看到它们,然后当我快速部署应用程序时,但在那时,发生了异常并且部署失败。 例外是:

执行条目失败:jetty_install.groovy;  引起: org.cloudifysource.usm.USMException:事件生命周期外部进程退出,状态代码异常:1 抓到:java.io.FileNotFoundException:/ home / vagrant / gigaspaces / work / processing-units / jettyTest_jetty_1_140282317 / ext / Xmx512m(/ home / vagrant / gigaspaces / work / processing-units / jettyTest_jetty_1_140282317 / ext / Xmx512m)

java.io.FileNotFoundException:/ home / vagrant / gigaspaces / work / processing-units / jettyTest_jetty_1_140282317 / ext / Xmx512m(/ home / vagrant / gigaspaces / work / processing-units / jettyTest_jetty_1_140282317 / ext / Xmx512m)

1 个答案:

答案 0 :(得分:0)

Cloudify只会使用或关闭已启动的代理。因此,启动代理并将其附加到管理器将无法正常工作。

您将需要一个自定义云驱动程序,可能会在现有的BYON云驱动程序上重新使用。此云驱动程序将从池中分配一台计算机,启动启动代理程序的进程,然后将计算实例传递回Cloudify。在云驱动程序返回的MachineDetails对象中,您应将“agentRunning”字段设置为true,Cloudify将使用此代理。

要使其正常工作,您需要生成所需的环境文件,以便将代理配置为使用群集。你可以在这里查看一个例子:

https://github.com/CloudifySource/cloudify/blob/master/esc/src/main/java/org/cloudifysource/esc/driver/provisioning/privateEc2/PrivateEC2CloudifyDriver.java

上面的示例使用CloudFormation启动节点,并将其传递给所需的设置。看看这是如何完成的:

https://github.com/CloudifySource/cloudify/blob/master/esc/src/main/java/org/cloudifysource/esc/driver/provisioning/privateEc2/PrivateEC2CloudifyDriver.java#L1158