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