-1

设想

运行 tomcat 服务实例的 Cloudify 2.7 应用程序

目标

我想停止(关闭)并使用 OpenStack API 启动托管 tomcat 的 VM,而无需 Cloudify 重新安装 tomcat 配方。

我试图做的

我尝试按照指南使用维护模式:

将服务实例设置为维护模式将禁用该特定服务实例的主机故障检测。这意味着在指定的时间段内,服务实例主机的故障或重新启动不会导致提供新机器和服务实例。

所以,我执行了以下命令:

1. cloudify@default> connect VM_MNG_IP

2. cloudify@default> use-application <application_name>

3. cloudify@tommy> invoke <service_name> cloudify:start-maintenance-mode 300

4. Shut off the tomcat VM using OpenStack API

5. Start the tomcat VM using OpenStack API

之后,我在Cloudify的Orchestrator日志中看到的是tomcat服务的重新安装过程。换句话说,tomcat VM 现在托管两个 tomcat 处理单元。

ls -al /root/gigaspaces/work/processing-units

<application_name>_tomcat_1_1278947587 

<application_name>_tomcat_1_2029943570 

有人可以向我建议我应该怎么做才能达到我的目标吗?

4

1 回答 1

0

这是 Cloudify 2.7 提供的默认 tomcat 服务的正确行为 - 重新启动后,tomcat 文件会重新下载并部署到本地。

如果您想要不同的行为,您可能需要调整 tomcat 配方以将 tomcat 文件保存在不同的位置(默认安装将所有文件保存在每个实例的工作目录中,重新启动后将被替换)。您可以更改配方以查找现有安装并使用它(如果存在)。

查看以下文件:

https://github.com/CloudifySource/cloudify-recipes/blob/master/services/tomcat/tomcat_init.groovy https://github.com/CloudifySource/cloudify-recipes/blob/master/services/tomcat/tomcat_install.groovy

这些可能是您需要编辑以实现您要查找的文件。请注意 catalina_base 是如何设置为上下文属性的,并且 AntBuilder 用于下载 tomcat 安装并将其保存到共享位置。这些是您需要更改的文件。

请考虑 Cloudify 2.x 已经结束生命 - 您应该考虑迁移到 Cloudify 3:http ://getcloudify.org/guide/3.1/quickstart.html

于 2015-04-07T14:09:12.933 回答