不能使用lineinfile模块不更新所有更改

用户5392958

我正在尝试在一个文件中进行2次不同的更改,但只有最后一个更改正在更新...看起来ansible将文件保存在内存中(第一次更改之后),并且从不将其转储回磁盘,因为它知道有/有更多更改(s)根据.yml文件制作。因此,当它在同一个文件中进行第二次更改时(但磁盘上是一个更改),并且在处理该文件时,内存中的旧文件将被新版本替换。因此,第一次更改已完成,但从未关闭/完成/转储回磁盘。

每次更改后,都应该有某种机制可以“关闭”文件,但在ansible文档中看不到该文件。有人知道吗?

我注意到可以进行相同类型的更改,但不能接受不同的2种不同类型的更改。

PS-通过使用不同的任务可以完成相同的操作,但是我不想使用(可能需要在文件中进行15-20次更改,所以不希望使用相同的编号,因为我试图在一个文件中进行2次不同的更改,但只能进行最后一次更改正在更新...看起来ansible将文件保存在内存中(第一次更改后),并且从不将其转储回磁盘,因为它知道每个.yml文件都需要进行更多更改。正在对同一文件(但在磁盘上)进行更改(第二次),并且在处理该文件时,内存中的文件将被更新的版本替换,因此第一次更改已完成,但从未关闭/完成/转储回磁盘。

每次更改后,都应该有某种机制可以“关闭”文件,但在ansible文档中看不到该文件。有人知道吗?首先更改-在文件中插入文本。第二次更改-替换同一文件中的文本。

PS-通过使用不同的任务可以完成相同的操作,但是我不想使用(可能需要在文件中进行15-20次更改,因此不需要相同数量的任务)的任务)

迈克·D

如果您在同一个文件上运行,则需要使用--forks=1方式运行该剧本-f 1

ansible-playbook -i hosts playbook.yml --forks=1

缺省值为5个fork(或在ansible.cfg中设置的任何值)。这些分支可以覆盖彼此的更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章