Ansible Azure创建VM备份策略报错 无法解析azure_rm_backvmuppolicy模块
报错原因
该报错本质是Ansible无法解析识别你调用的azure_rm_backvmuppolicy模块,触发原因有两个:
- 模块名存在拼写错误:你输入的模块名有误,Azure VM备份策略对应的正确模块名是
azure_rm_backuppolicy,你误将backup字段错写为backvmup,多插入了无意义的vm字符 - 缺少Azure官方Ansible集合依赖:即使修正拼写,如果本地环境未安装Azure对应的Ansible集合包,Ansible同样找不到对应模块
- 注:报错提示错误位置在tasks行是Ansible的常见定位偏移问题,模块解析失败时错误标记经常落到任务块起始位置,无需以该位置作为排查依据
排查解决步骤
- 修正playbook中的模块名拼写
将任务段中的错误模块名替换为正确名称,修正后的完整playbook参考如下:
- name: The play hosts: localhost tasks: - name: Create VM Backup Policy azure_rm_backuppolicy: name: 'BackupPolicytest' vault_name: 'testing236' resource_group: 'rg-automation' time: '18:00' weekdays: ['Monday', 'Thursday', 'Friday'] weeks: ['First', 'Fourth'] months: ['February', 'November'] count: 4 state: present
- 安装Azure官方Ansible集合
执行以下命令检查本地是否已安装对应集合:
ansible-galaxy collection list | grep azure.azcollection
如果无对应输出,执行安装命令:
ansible-galaxy collection install azure.azcollection
- 安装集合依赖的Python SDK包
集合安装完成后,需要安装配套的Azure Python依赖,否则运行时会出现SDK缺失报错:
pip install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.txt
- 校验配置并运行playbook
先执行语法校验确认模块可以正常识别:
ansible-playbook /home/azureuser/10.yml --syntax-check
校验通过后正常执行playbook即可完成备份策略创建。
内容的提问来源于stack exchange,提问作者Umair Hameed
相关产品推荐
相关产品推荐

