You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible Automation Platform 4.3中yum安装azure-cli失败排查

AAP 4.3中安装azure-cli失败的原因及解决

场景

把和Azure DevOps交互的Playbook从Ansible Tower迁移到Ansible Automation Platform 4.3,需要在RHEL目标节点(即控制器节点本身)安装azure-cli,但Playbook执行安装时一直失败。

试过的Playbook任务

- name: Install the application package (RedHat)
  # package:
  yum:
    name: "{{ azure_package_name }}"
    state: present

报错内容

fatal: [localhost]: FAILED! => {"changed": false, "msg": "Could not import the dnf python module using /usr/bin/python (3.9.13 (main, Nov  9 2022, 13:16:24) [GCC 8.5.0 20210514 (Red Hat 8.5.0-15)]). Please install python3-dnf or python2-dnf package or ensure you have specified the correct ansible_python_interpreter. (attempted ['/usr/libexec/platform-python', '/usr/bin/python3', '/usr/bin/python2', '/usr/bin/python'])"}

已知信息和已做尝试

  • AAP运行在Execution Environments(EE)里,用的是Automation Hub默认执行环境
  • 目标节点是RHEL系统,也就是控制器自身
  • 试过切换package和yum模块,无效
  • 直接在服务器上用yum安装azure-cli成功,但Playbook仍报相同错误
  • 不想修改EE,希望仅通过Playbook完成依赖安装或检测已安装状态

问题根源

默认EE中缺少python3-dnf依赖,且Playbook执行时使用的是EE内部的Python环境,而非目标节点(localhost)的系统Python。哪怕你已经在目标节点装好azure-cli,Ansible是通过EE环境调用yum模块的,EE里没有python3-dnf会导致模块加载失败,根本到不了检测安装状态的步骤,因此依旧报错。

解决方法

方法一:指定目标节点的Python解释器

在Playbook中给localhost指定RHEL系统默认的Python解释器/usr/libexec/platform-python,让yum模块使用目标节点的Python环境执行,绕开EE的环境限制:

- name: Install or verify azure-cli
  hosts: localhost
  vars:
    azure_package_name: azure-cli
  tasks:
    - name: Install azure-cli via yum
      yum:
        name: "{{ azure_package_name }}"
        state: present
      vars:
        ansible_python_interpreter: /usr/libexec/platform-python

方法二:直接检测已安装状态(若已手动安装)

如果已经在服务器上装好azure-cli,可以跳过yum模块,直接用命令检测安装状态:

- name: Verify azure-cli installation
  hosts: localhost
  tasks:
    - name: Check azure-cli version
      command: az --version
      register: az_version
      changed_when: false
      failed_when: az_version.rc != 0

    - name: Show azure-cli info
      debug:
        msg: "azure-cli已安装,版本:{{ az_version.stdout_lines[0] }}"

内容的提问来源于stack exchange,提问作者IsThisYourNacho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 22:57:39