azure.azure_modules
azure.azure_modules
此角色包括来自Ansible 仓库 devel
分支的最新更改和错误修复。如果您无法等待 Ansible 的下一个版本,安装此角色是一个不错的选择。
前提条件
使用此剧本角色假设您已经为 Azure 设置了 Ansible 环境。有关详细信息,请参阅 Ansible 教程 开始使用 Azure 或 安装和配置 Ansible。
安装
- 安装角色。
$ ansible-galaxy install azure.azure_modules
- 升级新 Azure 模块所需的 Azure Python SDK。
$ pip install -r ~/.ansible/roles/azure.azure_modules/files/requirements-azure.txt
或者
$ sudo pip install -r ~/.ansible/roles/azure.azure_modules/files/requirements-azure.txt
安装 Python SDK 的原因如下:
角色中添加了新模块,而该模块用于一个新的 Azure 资源,现有的 Ansible 版本中尚未包含。需要安装这个新资源对应的 SDK。
更新的 SDK 版本可能引入破坏性的 API 更改。这里需要安装一个特定的工作版本。
所需的 SDK 列在 ~/files/requirements-azure.txt 文件中。您可以在安装角色文件夹中找到 requirements-azure.txt
文件,该文件通常位于 ~/.ansible/roles/files
文件夹中。
安装位置有点棘手,必须与现有 Azure Python SDK 的安装位置相同。如果在执行以上命令时遇到错误,请仔细阅读下面的部分,仔细检查安装位置。
以 Ubuntu 为例,现有的 SDK 可能位于 /home/<your-user-name>/.local/lib/python2.7/site-packages
或 /usr/local/lib/python2.7/dist-packages
文件夹中。前者是用户文件夹,后者是系统文件夹,需要 sudo 权限。这取决于您如何安装 ansible
。简而言之,您应该以与安装 ansible
相同的方式安装 SDK,以便 SDK 位于同一个 site-packages
文件夹中。
在 macOS 上,现有的 SDK 可能位于 /Users/<your-user-name>/Library/Python/2.7/lib/python/site-packages
或 /Library/Python/2.7/site-packages
文件夹中。与 Ubuntu 类似,前者是用户文件夹,后者是系统文件夹。
找到正确的 site-packages
路径的一种方法是检查现有包的详细信息,例如 azure-mgmt-storage
,可以运行以下命令:
$ pip show azure-mgmt-storage
您可以获得如下输出。
your-user-name@ansible:~$ pip show azure-mgmt-storage
Name: azure-mgmt-storage
Version: 1.5.0
Summary: Microsoft Azure Storage Management Client Library for Python
Home-page: https://github.com/Azure/azure-sdk-for-python
Author: Microsoft Corporation
Author-email: [email protected]
License: MIT License
Location: /home/<your-user-name>/.local/lib/python2.7/site-packages
Requires: azure-common, azure-mgmt-nspkg, msrestazure
从上述信息中,您可以了解到 SDK 安装在 用户 site-packages
文件夹中,并使用 pip install
安装列出的包。如果 SDK 安装在 系统 路径中,则使用 sudo pip install
安装列出的包。
角色变量
没有。
依赖
没有其他角色的依赖。
示例剧本
- hosts: localhost
roles:
- { role: azure.azure_modules }
tasks:
- name: 创建存储帐户
azure_rm_storageaccount:
resource_group: resourcegroupname
name: storagename
account_type: Standard_LRS
许可证
MIT
latest Azure modules for provisioning Azure resources
ansible-galaxy install azure.azure_modules