no-assert
在生产环境的 Ansible Python 代码中不要使用 assert
。当使用优化选项运行 Python 时,Python 会移除 assert
语句,这可能导致 Ansible 代码库中出现意外行为。
不要使用 assert
,而是应该使用简单的 if
语句,并引发异常。有一个新的异常叫做 AnsibleAssertionError
,它继承自 AnsibleError
和 AssertionError
。如果可能,请使用比 AnsibleAssertionError
更具体的异常。
模块无法访问 AnsibleAssertionError
,而应该引发 AssertionError
、更具体的异常,或者在失败点直接使用 module.fail_json
。