我在部署openstack派克时遇到问题。运行precheck命令时出错。Kolla-ansible版本6.0.0.0rc2,Ubuntu Server 16 LTS[错误] [1]我发现所需的docker版本为> = 2.4.6。我当前是1.12.6
fatal: [localhost]: FAILED! => {"msg": "The conditional check 'result | failed or result.stdout | regex_replace('.*(\\\\d+\\\\.\\\\d+\\\\.\\\\d+).*', '\\\\1') | version_compare(docker_version_min, '<')' failed. The error was: template error while templating string: no filter named 'failed'. String: {% if result | failed or result.stdout | regex_replace('.*(\\\\d+\\\\.\\\\d+\\\\.\\\\d+).*', '\\\\1') | version_compare(docker_version_min, '<') %} True {% else %} False {% endif %}"}
因此,我尝试通过运行命令对其进行升级
sudo pip install -U docker==2.4.2
但是docker version
仍然说它是1.12.6并发生错误。我的问题是:我是否必须以其他方式升级docker,在可llana兼容的剧本中更改某项内容或其他内容?
PS,我知道派克,Ubuntu srv 16和6.0.0.0rc2有点过时了,但这仅适用于我的大学项目:)
[failed
不是过滤器,而是test。
使用以前允许使用过滤器语法的测试。已经是deprecated in ansible 2.5 (with warnings) and totally removed in ansible 2.9。
正确的语法是:
result is failed