问题的根本在于在使用Ansible Arista接口模块时,即使配置正确,模块仍然将状态更改标记为已更改。不管何时你运行这个模块,即使实际上并没有任何更改,它也会返回"changed"状态。这可能会导致混淆并影响其他任务的状态检测。 要解决这个问题,可以通过修改模块代码来将状态标记为未更改。以下是一个示例:
在文件/usr/lib/python3.6/site-packages/ansible/modules/network/arista/eos_interface.py中,找到以下代码段: result = self.eos.apply_config(state) changed = True
将最后一行改为: result = self.eos.apply_config(state) changed = False
这将确保即使在没有实际更改的情况下,模块也将返回"未更改"状态。