使用' salt.module.tomcat'用于部署war文件

时间:2016-04-02 06:37:38

标签: salt-stack devops

我正在尝试使用salt模块tomcat.deploy_war部署war文件但是会出现以下错误...' KeyError'似乎它没有认识到tomcat.deploy_war

enter image description here

谈到sls文件,模块file.managed工作正常

enter image description here

似乎我需要升级我的salt master和版本。 尝试做同样的事情,得到了它已经升级的回应。

不确定是什么问题?

enter image description here

1 个答案:

答案 0 :(得分:3)

tomcat.deploy_war执行模块,而非状态模块。通常,像tomcat.deploy_war这样的执行模块总是以命令方式命名(“deploy!”“delete!”“install!”)。您不能直接在状态中使用执行模块;相反,它们旨在用于ad-hoc Salt命令,例如使用命令行语句快速部署WAR文件:

salt 'tomcatminion' tomcat.deploy_war salt://path/to/app.war

另一方面,状态模块旨在用于状态并以声明方式命名(通过所需的结束状态)。在许多情况下,执行模块具有相应的状态模块 - 在您的情况下为tomcat.deploy_wartomcat.war_deployed(或pkg.installpkg.installed等等:

sample.war:
  tomcat.war_deployed:
    - war: salt://path/to/app.war

请参阅salt.modules.tomcat execution modulesalt.states.tomcat state module的相应文档。