14、Ansible开发与调试:assert模块与角色应用全解析

Ansible开发与调试:assert模块与角色应用全解析

1. assert模块的使用

assert模块用于在指定条件不满足时使任务失败。例如,若要在没有 enp0s3 接口时使剧本失败,可以这样写:

- name: Assert that the enp0s3 ethernet interface exists
  assert:
    that: ansible_enp0s3 is defined

在调试剧本时,插入断言有助于在假设条件被违反时立即触发失败。需要注意的是, assert 语句中的代码是Jinja2,而非Python。比如,若要断言列表的长度,不能使用Python的 len 函数:

# Invalid Jinja2, this won't work!
assert:
  that: "len(ports) == 2"

而应使用Jinja2的 length 过滤器:

assert:
  that: "ports|length == 2"

若要检查主机文件系统上文件的状态,可以先调用 stat 模块,再根据其返回值进行断言:

- nam
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值