来自OpenStack的“禁止硬化”角色正在抛出此错误:
错误!在导入路径中计算变量时出错:{{ stig_version }stig/main.yml。在使用静态导入时,确保在vars/vars_files或从命令行传入的额外vars中定义了它们名称中使用的任何变量。静态导入不能使用来自事实或库存源(如组或主机vars )的变量。
以前起作用了。我不能说我做了什么来打破这个角色。我正在Ubuntu18.10(客户端)上运行Anble2.6.5。这个角色是今天根据我以前在OpenStack上使用的https://docs.openstack.org/ansible-hardening/latest/getting-started.html#installing-the-ansible-hardening-role指令检出的最新版本--过去起作用的版本也被破坏了,显示了同样的错误。
发布于 2019-08-20 21:03:18
该错误似乎适用于ansible 2.6.5。在ansible 2.8.2中没有发生这种情况。
此错误似乎与文件{{ stig_version }}不可用的ansible变量https://github.com/openstack/ansible-hardening/blame/979805c9043793ab644dddd02091d4dce5ab267c/tasks/main.yml#L55有关。
变量在ansible-hardening/defaults/main.yml中设置,但根据错误消息,在运行模块import_tasks时不包含此路径。非责任数据显示,模块include_tasks被import_tasks有意替换。
我在Task/main.yml中测试了向include_tasks的反向测试,这修复了错误。
在没有更改角色ansible-hardening代码中的任何内容的情况下,一个快速的解决方法是在您的剧本的vars:部分中设置stig_version:
vars:
stig_version: rhel7虽然我能够修复错误并继续前进,但我仍然不明白为什么它会停止工作,因为不到两个月前。
我在这里发布这篇文章是为了防止它对其他人有帮助,因为GitHub回购没有激活project选项卡--我找不到任何与项目相关的地方来提交帖子。
https://serverfault.com/questions/980056
复制相似问题