我正在尝试使用具有ipmitools的ansible shell模块启动服务器,然后在服务器启动后对其进行配置更改。
安装了ansible的服务器也具有ipmitools。
在具有ansible的服务器上,我需要执行ipmitools以启动目标服务器,然后在其上执行剧本。
有没有一种方法可以在运行ansible的服务器上执行本地ipmi命令,以通过ansible启动目标服务器,然后在目标服务器上通过ssh执行所有剧本。
您可以通过提供delegate_to
参数在本地运行任何命令。
- shell: ipmitools ...
delegate_to: localhost
如果ansible抱怨要localhost
通过ssh连接,则需要在清单中添加一个条目,如下所示:
localhost ansible_connection=local
或在host_vars/localhost
:
ansible_connection: local
请参阅行为参数。
接下来,您将需要等到服务器启动并通过ssh进行访问。这是Ansible的一篇文章,涉及此主题,这是他们列出的任务:
- name: Wait for Server to Restart
local_action:
wait_for
host={{ inventory_hostname }}
port=22
delay=15
timeout=300
sudo: false
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句