ansible playbook 中的幂等性

Idempotency in ansible playbook

我正在使用 Ansible 剧本配置服务器。我的剧本在第一次执行时工作正常,但是当我再次 运行 相同的剧本时,它会在服务器的配置文件中创建重复行。 我正在使用 lineinfile 模块。每次我 运行 剧本时,以下任务示例都会添加该行。

- lineinfile: dest=/etc/pam_ldap.conf line="ssl off"

有没有办法避免这种情况,并保持幂等性。

理论上 lineinfile 应该可以如您所愿地工作。只有在文件中不存在的行才会被添加。

文件是symlink吗?我看不出 Ansible 不应该遵循 link 的原因,但也许这可能是它无法识别该行的原因。

您是否尝试添加 regexp 参数?无论如何,涵盖像 ssl on 这样的行已经存在的情况。

- lineinfile: dest=/etc/pam_ldap.conf
              line="ssl off"
              regexp="^ssl\s+"