我写了一个简单的ansible playbook来停止并启动一个jboss服务,当我手动启动服务时需要密码的服务器问题,但是当我运行playbook时它会抛出错误,即使提供了密码。
这是剧本。
这是我运行时遇到的错误
PLAY [dev] *********************************************************************
TASK [setup] *******************************************************************
ok: [10.33.122.122]
TASK [Stop jboss server] *******************************************************
fatal: [10.33.122.122]: FAILED! => {"changed": false, "failed": true, "msg": "standard in must be a tty\n"}
NO MORE HOSTS LEFT *************************************************************
[WARNING]: Could not create retry file 'main.retry'. [Errno 2] No such file or directory: ''
PLAY RECAP *********************************************************************
10.33.122.122 : ok=1 changed=0 unreachable=0 failed=1
答案 0 :(得分:1)
您可以在CLI中使用
jboss
用户停止jbosssvc
服务吗?是的,但它需要一个密码,我根据需要输入然后停止,我怎么在剧本上做同样的事情呢?
这意味着jbosssvc
不允许停止服务(这在某种程度上是预期的情况),因此您不能使用become_user: jbosssvc
指令。
您必须成为root
才能执行此操作(这需要连接用户才能运行具有提升权限的命令)。