如何运行一个命令来重置ansible中的网络接口?

时间:2016-01-04 09:39:54

标签: ansible ansible-playbook

我想在远程计算机上运行命令。该命令将重置网络接口。如何在ansible playbook中运行它

- name: Execute config command
  sudo: yes
  shell: "mycommand"
  async: 0
  poll: 0
  ignore_errors: true

上述任务不能始终如一地运作。即使我尝试使用async: 300,也会发现同样的不一致。

1 个答案:

答案 0 :(得分:1)

您可能遇到类似于我所描述的in this question的情况。根据您运行的命令(mycommand),网络连接可能会很快丢失,导致Ansible认为连接意外丢失。发生这种情况时,会导致Ansible将其视为错误。

您可能希望在重置发生前修改mycommand以包含休眠几秒钟,然后继续使用async:0poll:0。这将使Ansible有足够的时间在后台启动mycommand并在服务器重置网络连接之前干净地断开与服务器的连接而不会出现错误。

根据您的下一个任务,您可能还希望包含通过wait_for运行的local_action任务,以确保Ansible在尝试任何其他任务之前等待此网络重置完成。