ansible tower_project模块,始终出现”ansible-tower-cli required for this module”错误

49次阅读
没有评论

问题描述

在使用ansible的tower_project模块时,始终出现”ansible-tower-cli required for this module”错误。用户的控制主机上已经安装了ansible和tower-cli,并且tower-cli可以连接到远程的Ansible Tower实例。但是当用户尝试使用tower_*模块时,始终出现上述错误。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

这个问题的原因是ansible和tower-cli安装在不同的Python环境中。为了解决这个问题,需要确保ansible和tower-cli安装在相同的Python环境中。
以下是解决方案的步骤:
1. 检查tower-cli和ansible的版本以及它们的安装路径。可以使用以下命令:

tower-cli --version
ansible --version
which tower-cli
which ansible
  1. 如果tower-cli和ansible安装在不同的Python环境中,需要将它们安装在相同的Python环境中。
  2. 如果无法通过上述命令查看tower-cli的Python版本,可以使用以下命令:
head -n1 `which tower-cli`

这个命令将显示tower-cli所使用的Python版本。
4. 确保使用相同的安装方式来安装ansible和tower-cli,以确保它们安装在相同的Python环境中。
– 对于Centos/RHEL系统,可以使用以下命令安装ansible和tower-cli:

yum install ansible ansible-tower-cli
  • 对于Python环境,可以使用以下命令安装ansible和tower-cli:
pip install ansible
pip install ansible-tower-cli

方案2

另一种解决方法是使用虚拟环境来管理ansible和tower-cli的安装。虚拟环境可以创建一个独立的Python环境,以避免不同模块之间的冲突。
以下是使用虚拟环境的步骤:
1. 安装虚拟环境工具,如virtualenv或conda。
2. 创建一个新的虚拟环境,并激活它。
3. 在虚拟环境中安装ansible和tower-cli。
4. 在虚拟环境中运行ansible playbook,以确保ansible和tower-cli在相同的Python环境中运行。
请注意,使用虚拟环境需要一些额外的配置和管理工作,但可以有效地解决不同模块之间的冲突问题。
以上是解决这个问题的两种方案,根据具体情况选择适合的方法来解决问题。

正文完