我有一个从Ansible剧本启动服务的问题,这是的任务
- name: Start Jira Service
shell: /etc/init.d/jira start
become_user: jira
或
- name: Start Jira Service
systemd:
name: jira
state: started
用于故障排除:
- 我试着如下运行特别命令
ansible -i hosts mig3 -m shell -a "systemctl start jira" --become-user=jira
- 使用相同的用户在服务器上以
/etc/init.d/jira start
命令的形式运行Jira服务-它可以毫无问题地运行 - 服务成功停止使用
ansible -i hosts mig3 -m shell -a "/etc/init.d/jira stop" --become-user=jira
- 我注意到
{{ jira_app_folder }}/work/
上的文件catalina.pid
已在服务器上成功创建,但Jira服务不可用 - 没有日志写入
{{ jira_app_folder }}/logs/catalina.out
- 我将Jira用户添加为sudoer用户并运行
ansible -i hosts mig3 -m shell -a "/etc/init.d/jira start" --become-user=jira -K
- 群集中其他Jira节点上存在相同问题
Jira启动-VVV输出
我们通过/etc/init.d
管理Jira服务。
你知道根本原因是什么吗?
(注意,不是答案。(
让我们退一步,重新解决一些可以帮助您(以及StackOverflow社区(更好地帮助您解决问题的事情。
您首先列出了两个Ansible任务("shell:"one_answers"systemd:"调用(,但您既没有提到运行Ansible的机器的操作系统类型或版本,也没有提到您试图在其上配置Jira的目标系统,也没有提及"shell"的版本和包名(rpm/deb/etc(;Jira";可执行文件。屏幕截图显示了Ansible 2.10.9,这将有助于解决问题。我建议您添加这些详细信息,还包括Ansible的版本和您环境中的其他信息。
你提到你可以运行它"作为使用相同用户的服务器上的CCD_ 9命令;所以这应该会给你一个线索,也许这是最好的开始你的剧本的方式,而不考虑其他。
提供的屏幕截图显示剧本成功地执行了命令——我假设输出来自";外壳:";命令但事实上,Ansible的执行显示了";CHANGED";黄色表示Ansible认为命令运行成功(它退出时带有一个非错误代码(,但如果您使用";外壳:";任何时候都是一样的结果。
在这一点上,我不认为这是一个可以回答的问题——它看起来像是";外壳:";命令显示/etc/init.d/jira start
执行的成功输出,所以在您期望的地方没有显示Jira日志,这更多地指向Jira配置问题,而不是Ansible问题。
不要消极,只是试着给你一些关于如何排除故障的提示,并给社区其他人提供可操作的细节。