netapp.ontap.na_ontap_license 模块 – NetApp ONTAP 协议和功能许可包

注意

此模块是 netapp.ontap 集合(版本 22.13.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install netapp.ontap。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定: netapp.ontap.na_ontap_license

netapp.ontap 2.6.0 中的新增功能

概要

  • 在 NetApp ONTAP 上添加或删除许可包。

  • 请注意,该模块是不对称的。

  • 它需要许可证代码来添加包,并且包名称不可见。

  • 它需要包名称和序列号来删除包。

要求

执行此模块的主机需要满足以下要求。

  • Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。

  • Python3 - 建议使用 3.9 或更高版本。

  • 当使用 ZAPI 时,netapp-lib 2018.11.13 或更高版本(使用“pip install netapp-lib”安装),强烈建议使用 netapp-lib 2020.3.12,因为它为连接问题提供了更好的错误报告。

  • 物理或虚拟集群 Data ONTAP 系统,该模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。

参数

参数

注释

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端证书文件 (.pem) 的路径。

不支持 Python 2.6。

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

这可用于启用实验性功能或禁用破坏向后兼容性的新功能。

支持的键和值可能会更改,恕不另行通知。 未知的键将被忽略。

force_ontap_version

字符串

在 netapp.ontap 21.23.0 中添加

使用 REST 时覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则该行为是未定义的。

当由于权限问题而无法读取集群版本时,这作为一种解决方法提供。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

这应采用 9.10 或 9.10.1 的形式,其中每个元素都是一个整数。

use_rest 设置为 auto 时,这可能会强制根据版本和平台功能切换到基于 ZAPI。

在使用 ZAPI 时忽略。

hostname

字符串 / 必填

ONTAP 实例的主机名或 IP 地址。

http_port

整数

使用此端口覆盖默认端口(80 或 443)

https

布尔值

启用和禁用 https。

当使用 REST 时忽略,因为仅支持 https。

当使用 SSL 证书身份验证时忽略,因为它需要 SSL。

选择

  • false ← (默认)

  • true

key_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端密钥文件的路径。

license_codes

列表 / elements=string

要安装的许可证代码列表。

license_names

列表 / elements=string

要删除的许可证包名称列表。

base

字符串

集群基本许可证

cdmi

字符串

CDMI 许可证

cifs

字符串

CIFS 许可证

fcp

字符串

FCP 许可证

flexclone

字符串

FlexClone 许可证

iscsi

字符串

iSCSI 许可证

nfs

字符串

NFS 许可证

snaplock

字符串

SnapLock 许可证

snapmanagersuite

字符串

SnapManagerSuite 许可证

snapmirror

字符串

SnapMirror 许可证

snapprotectapps

字符串

SnapProtectApp 许可证

snaprestore

字符串

SnapRestore 许可证

snapvault

字符串

SnapVault 许可证

v_storageattach

字符串

虚拟附加存储许可证

ontapi

整数

要使用的 ONTAP API 版本

password

别名: pass

字符串

指定用户的密码。

remove_expired

布尔值

删除集群中已过期的许可证包。

不支持 REST。

选择

  • false

  • true

remove_unused

布尔值

删除集群中没有控制器关联的许可证包。

不支持 REST。

选择

  • false

  • true

serial_number

字符串

与许可证包关联的节点或集群的序列号。

删除许可证包时,此参数是必需的。

对于 REST,“*”被接受,并匹配任何序列号。

state

字符串

指定许可证包是应安装还是删除。

选择

  • "present" ← (默认)

  • "absent"

use_rest

字符串

是否使用 REST 或 ZAPI。

always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。

never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。

auto – 如果模块支持 REST 且模块选项受支持,则会尝试使用 REST API。否则,恢复为 ZAPI。

默认值: "auto"

username

别名:user

字符串

这可以是集群范围或 SVM 范围的帐户,具体取决于需要集群级别还是 SVM 级别的 API。

有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法

  1. 基本身份验证,使用用户名和密码,

  2. SSL 证书身份验证,使用 ssl 客户端证书文件,以及可选的私钥文件。

要使用证书,必须已在 ONTAP 集群中安装证书,并且必须启用证书身份验证。

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

此设置仅应在个人控制的站点上使用自签名证书时设置为 False

选择

  • false

  • true ← (默认)

注意

注意

  • 部分支持 check_mode - 某些更改在执行添加或删除操作之前无法检测到。

  • 支持使用 ZAPI 和 REST 的 28 个字符密钥许可证。

  • 支持使用 REST 的 NetApp 许可证文件版本 2 (NLFv2)。

  • 目前不支持使用 REST 的 NetApp 许可证文件版本 1 (NLFv1),但可能会起作用。

  • Ansible 尝试重新格式化许可证文件,因为内容类似于 Python。如果出现问题,请使用字符串过滤器禁用此行为。

  • 当不使用字符串过滤器时,此模块需要 python ast 和 json 包。

  • 此模块需要 json 包来检查幂等性,以及使用 NLFv2 文件删除许可证。

  • 此模块需要 deepdiff 包来检查幂等性。

  • 当使用字符串过滤器时,不需要这些包中的任何一个,但模块将不具有幂等性。

  • 以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。

  • 默认启用并推荐使用 https。 要在集群上启用 http,必须运行以下命令:'set -privilege advanced;' 'system services web modify -http-enabled true;'

示例

- name: Add licenses - 28 character keys
  netapp.ontap.na_ontap_license:
    state: present
    serial_number: #################
    license_codes: CODE1,CODE2

- name: Remove licenses
  netapp.ontap.na_ontap_license:
    state: absent
    remove_unused: false
    remove_expired: true
    serial_number: #################
    license_names: nfs,cifs

- name: Add NLF licenses
  netapp.ontap.na_ontap_license:
    state: present
    license_codes:
      - "{{ lookup('file', nlf_filepath) | string }}"

- name: Remove NLF license bundle - using license file
  netapp.ontap.na_ontap_license:
    state: absent
    license_codes:
      - "{{ lookup('file', nlf_filepath) | string }}"

- name: Remove NLF license bundle - using bundle name
  netapp.ontap.na_ontap_license:
    state: absent
    remove_unused: false
    remove_expired: true
    serial_number: #################
    license_names: "Enterprise Edition"

返回值

通用返回值在此处记录 此处,以下是此模块独有的字段

Key

描述

updated_licenses

字典

返回已更新的软件包名称列表

返回: 始终

示例: "['nfs']"

作者

  • NetApp Ansible 团队 (@carchi8py)