cevich.touchstone

触石

启用 Ansible Galaxy 的角色,可轻松将一组剧本、角色或任务设为幂等。这对于某些顺序声明至关重要。例如,如果一个角色负责分区,另一个角色负责格式化。将来重新应用该顺序很可能会破坏您的数据。

要求

与默认的 Ansible 2.3+ 相同

角色变量

touch_touchstone:

当为真时,标记由 stone_name 确定的最终状态或完成状态。

stone_name:

可选,识别字符串,用于在多个最终状态需要跟踪时。例如多个剧本。默认值为 .touchstone

touchstone_filepath:

可选,触石将被检查或写入的目录路径。必须是一个永久的可写目录,即不能是基于 tmpdir/tmp。无论触石是否被应用,都会在此目录中创建/检查锁文件。

stone_touched:

布尔值,在角色执行过程中设置,以反映当前触石状态。当为 True 时,表示该“石头”在过去至少被触碰过一次。

touchstone_template:

可选,用于生成触石文件内容的 jinja2 模板的完整路径。

依赖关系

具有唯一 /etc/machine-id 的基于 systemd 的机器。

示例剧本

- hosts: all
  roles:
     - role: cevich.touchstone

     - role: something
       when: not stone_touched

     - role: another_thing
       when: not stone_touched

     - role: final_thing
       when: not stone_touched

     - role: cevich.touchstone
       touch_touchstone: True

许可证

轻松将一组剧本、角色或任务设为幂等。版权所有 (C) 2017 Christopher C. Evich

本程序是自由软件:您可以根据自由软件基金会发布的 GNU 通用公共许可协议的条款重新分发和/或修改它,或在您选择的情况下,任何更高版本。

本程序以希望能有用的方式分发,但不提供任何担保;甚至不提供适销性或特定用途适用性的默示担保。有关详细信息,请参见 GNU 通用公共许可证。

您应该收到了一份 GNU 通用公共许可证的副本。如果没有,请访问 https://www.gnu.org/licenses/

作者信息

自 Windows 98 以来,在 Linux 上制造麻烦和挑起混乱

持续集成

Travis CI: 构建状态

安装
ansible-galaxy install cevich.touchstone
许可证
gpl-3.0
下载
537
拥有者
Hacking on Linux since Windows 98