是否可以使用Ansible模块升级Ansible?

时间:2018-04-18 09:13:41

标签: ansible

我遇到了代码;

- pip: name=ansible version=<ansible_version> extra_args='--ignore-installed'

在我的测试中,我确认了Ansible版本的升级 我还尝试使用raw模块;

- raw: pip install ansible==<ansible_version>

但是在播放手册执行期间,此后的任务失败。有各种类型的错误:

  

ImportError:无法导入名称AnsiblePlugin

     

TypeError:mkdtemp()最多需要4个参数(给定5个)

     

...

或者剧本执行甚至会挂在下一个任务上。

我想知道通过使用ansible-playbook执行本身来升级Ansible的版本是否真的可行。在Ansible版本升级之后以某种方式重新加载Ansible核心模块是否可能?

1 个答案:

答案 0 :(得分:0)

Ansible可以通过pip本身Ansible模块进行升级,但升级后任何后续任务都可能失败,这是一种自然行为。

这里唯一的例外是远程主机。如果Ansible的安装或升级是由在远程主机上执行的Ansible任务执行的,则它将继续运行而不会导致失败。因为在这种情况下,Ansible的实际安装是在远程主机上完成的,而不更新localhost上Ansible的任何配置。