Kolla-ansible openstack: Docker version failure

隆扬
2023-12-01

环境:ubuntu16.04

我在kolla-ansible部署q版oopenstack执行如下命令时报了错误

kolla-ansible -i ./all-in-one prechecks

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 %}"}

我查找资料发现它要求docker版本>=2.4.6,而我现在docker的版本是1.12.6。所以我先升级docker

关于docker升级可以参考这篇博客:https://blog.csdn.net/lyc0424/article/details/107774068

但是还是没有解决问题。

然后发现在ansible2.9版本中已经移除了 使用以前允许使用带有过滤器语法的测试。 它已在ansible 2.5中被弃用(带有警告),在ansible 2.9中被完全删除。

Using tests with the filter syntax used to be allowed. It has been deprecated in ansible 2.5 (with warnings) and totally removed in ansible 2.9.

最后我参考另一位大佬的意见安装了ansible2.5.6版本。

sudo -H pip install ansible==2.5.6

 由于之前安装了最新版的ansible,后面又安装了ansible2.5.6版本,之前的ansible没卸干净,可能汇报下面的错误

from ansible import context ImportError: cannot import name context

参考这篇博客https://blog.csdn.net/lyc0424/article/details/107774234解决就行了。

参考:https://stackoverflow.com/questions/59832284/kolla-ansible-openstack-docker-version-failure

 类似资料:

相关阅读

相关文章

相关问答