netapp.ontap.na_ontap_igroup 模块 – NetApp ONTAP iSCSI 或 FC igroup 配置

注意

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

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

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

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

netapp.ontap 2.6.0 中的新增功能

概要

  • 创建/删除/重命名 Igroup 并修改属于 igroup 的 initiator

要求

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

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

  • Python 3 - 建议使用 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 或更高版本。

参数

参数

注释

bind_portset

字符串

要绑定到新创建的 igroup 的当前 portset 的名称。

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 中被忽略。

force_remove_initiator

别名:allow_delete_while_mapped

布尔值

即使存在映射到此 initiator 组的现有 LUN,也强制删除 initiator。

此参数应谨慎使用。

选项

  • false ← (默认)

  • true

from_name

字符串

netapp.ontap 2.7.0 中添加

要重命名为 name 的 igroup 的名称。

hostname

字符串 / 必需

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

http_port

整数

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

https

布尔值

启用和禁用 https。

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

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

选项

  • false ← (默认)

  • true

igroups

列表 / 元素=字符串

netapp.ontap 21.3.0 中添加

要映射到 igroup 的 igroup 列表。

对于修改操作,此列表将替换现有的 igroup 或现有 initiator。

此模块不会在 igroup 中添加或删除特定的 igroup。

与 initiator_names (initiators) 和 initiator_objects 互斥。

需要 ONTAP 9.9 或更高版本。

initiator_group_type

别名:protocol

字符串

initiator 组的类型。

state=present 时必需。

选项

  • "fcp"

  • "iscsi"

  • "mixed"

initiator_names

别名:initiator, initiators

列表 / 元素=字符串

netapp.ontap 21.4.0 中添加

要映射到 igroup 的 initiator 列表。

Initiator 的 WWPN、WWPN 别名或 iSCSI 名称,用于添加或删除。

对于修改操作,此列表将替换现有的 initiator 或现有的 igroup。

此模块不会在 igroup 中添加或删除特定的 initiator。

与 igroups 和 initiator_objects 互斥。

此参数与 initiator_objects 的作用相同,但没有注释子选项。

initiator_objects

列表 / 元素=字典

netapp.ontap 21.4.0 中添加

要映射到 igroup 的 initiator 列表,带有一个可选的注释字段。

Initiator 的 WWPN、WWPN 别名或 iSCSI 名称,用于添加或删除。

对于修改操作,此列表将替换现有的 initiator 或现有的 igroup。

此模块不会在 igroup 中添加或删除特定的 initiator。

与 initiator_names (initiators) 和 igroups 互斥。

需要具有 REST 支持的 ONTAP 9.9。

comment

字符串

更具描述性的注释,因为 WWPN 可能相当不透明。

name

字符串 / 必需

initiator 的名称。

key_filepath

字符串

netapp.ontap 20.6.0 中添加

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

name

字符串 / 必需

要管理的 igroup 的名称。

ontapi

整数

要使用的 ontap api 版本

os_type

别名:ostype

字符串

组内 initiator 的操作系统类型。

密码 (password)

别名: pass

字符串

指定用户的密码。

状态 (state)

字符串

指定Igroup是否存在。

选项

  • "present" ← (默认)

  • "absent"

使用REST (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 ← (默认)

虚拟服务器 (vserver)

字符串 / 必需

要使用的虚拟服务器的名称。

注释

注意

  • 支持检查模式。

  • 支持ZAPI和REST。

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

  • 默认情况下启用https,建议使用。要在集群上启用http,必须运行以下命令:‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

示例

- name: Create iSCSI Igroup
  netapp.ontap.na_ontap_igroup:
    state: present
    name: ansibleIgroup3
    initiator_group_type: iscsi
    os_type: linux
    initiator_names: iqn.1994-05.com.redhat:scspa0395855001.rtp.openenglab.netapp.com,abc.com:redhat.com
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Create iSCSI Igroup - ONTAP 9.9
  netapp.ontap.na_ontap_igroup:
    state: present
    name: ansibleIgroup3
    initiator_group_type: iscsi
    os_type: linux
    initiator_objects:
      - name: iqn.1994-05.com.redhat:scspa0395855001.rtp.openenglab.netapp.com
        comment: for test only
      - name: abc.com:redhat.com
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Create FC Igroup
  netapp.ontap.na_ontap_igroup:
    state: present
    name: ansibleIgroup4
    initiator_group_type: fcp
    os_type: linux
    initiator_names: 20:00:00:50:56:9f:19:82
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: rename Igroup
  netapp.ontap.na_ontap_igroup:
    state: present
    from_name: ansibleIgroup3
    name: testexamplenewname
    initiator_group_type: iscsi
    os_type: linux
    initiator_names: iqn.1994-05.com.redhat:scspa0395855001.rtp.openenglab.netapp.com
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Modify Igroup Initiators (replaces exisiting initiator_names)
  netapp.ontap.na_ontap_igroup:
    state: present
    name: ansibleIgroup3
    initiator_group_type: iscsi
    os_type: linux
    initiator: iqn.1994-05.com.redhat:scspa0395855001.rtp.openenglab.netapp.com
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Delete Igroup
  netapp.ontap.na_ontap_igroup:
    state: absent
    name: ansibleIgroup3
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

作者

  • NetApp Ansible团队 (@carchi8py)