netapp.ontap.na_ontap_net_ifgrp 模块 – 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_net_ifgrp

netapp.ontap 2.6.0 中的新增功能

概要

  • 创建、修改端口、销毁网络接口组

要求

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

  • 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 或更高版本。

参数

参数

注释

broadcast_domain

字符串

在 netapp.ontap 21.14.0 中添加

指定 broadcast_domain 名称。

仅 REST 支持,ZAPI 忽略。

在 ONTAP 9.6 和 9.7 中是必需的,但在 9.8 或更高版本中是可选的。

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

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

python 2.6 不支持。

distribution_function

字符串

指定 ifgrp 的流量分配函数。

选择

  • "mac"

  • "ip"

  • "sequential"

  • "port"

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

from_lag_ports

列表 / 元素=字符串

在 netapp.ontap 2.14.0 中添加

仅 REST 支持,ZAPI 忽略。

指定查找当前 LAG 端口的所有端口。

如果找到与 ports 完全匹配的 LAG,则忽略。

例如,如果当前 LAG 具有端口 ['e0c','e0d']ports=['e0c','e0d'],则将忽略 from_lag_ports。

如果未找到与 ports 的 LAG,则此列表中的端口用于查找当前 LAG。

此列表中的端口仅用于查找当前 LAG,请提供当前 LAG 中所有端口的完全匹配。

state=absent 时忽略。

hostname

字符串 / 必需

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

http_port

整数

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

https

布尔值

启用和禁用 https。

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

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

选择

  • false ← (默认)

  • true

ipspace

字符串

在 netapp.ontap 21.14.0 中添加

指定广播域的 ipspace。

仅 REST 支持,ZAPI 忽略。

在 ONTAP 9.6 和 9.7 中是必需的,但在 9.8 或更高版本中是可选的。

key_filepath

字符串

在 netapp.ontap 20.6.0 中添加

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

mode

字符串

指定 ifgrp 的链路策略。

name

字符串

指定接口组名称。

REST 不支持,请使用 portsfrom_lag_ports。LAG 名称在 REST 中自动创建并在模块输出中返回。

ZAPI 必需。

node

字符串 / 必需

指定节点名称。

ontapi

整数

要使用的 ontap api 版本

password

别名: pass

字符串

指定用户的密码。

ports

别名: port

列表 / 元素=字符串

在 netapp.ontap 2.8.0 中添加

要在接口组中存在的预期端口列表。

如果端口在此列表中,但不在目标上,则会添加该端口。

如果端口不在列表中,但存在于目标上,则会删除该端口。

确保该列表包含您希望在目标上看到的所有端口。

使用 REST 时,此列表中的端口用于查找当前 LAG 端口。

如果未找到 LAG 或只有部分端口匹配,则使用 from_lag_port 来获取当前 LAG。

使用 REST API 时,当 state=absent 被设置时,必须提供 ifgrp 中的所有端口才能删除它。

例如,ports=['e0c','e0a'] 将删除具有端口 ['e0c','e0a'] 的 ifgrp。

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

注意

注意

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

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

示例

- name: create ifgrp
  netapp.ontap.na_ontap_net_ifgrp:
    state: present
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    distribution_function: ip
    name: a0c
    ports: [e0a]
    mode: multimode
    node: "{{ Vsim node name }}"
- name: modify ports in an ifgrp
  netapp.ontap.na_ontap_net_ifgrp:
    state: present
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    distribution_function: ip
    name: a0c
    port: [e0a, e0c]
    mode: multimode
    node: "{{ Vsim node name }}"
- name: delete ifgrp
  netapp.ontap.na_ontap_net_ifgrp:
    state: absent
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    name: a0c
    node: "{{ Vsim node name }}"
- name: create ifgrp - REST
  netapp.ontap.na_ontap_net_ifgrp:
    state: present
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    distribution_function: ip
    ports: [e0a,e0b]
    mode: multimode
    node: "{{ Vsim node name }}"
    broadcast_domain: Default
    ipspace: Default
- name: Remove e0a and add port e0d to above created lag REST
  netapp.ontap.na_ontap_net_ifgrp:
    state: present
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    from_lag_ports: [a0a,e0b]
    ports: [e0b,e0d]
    node: "{{ Vsim node name }}"
- name: Add e0a to lag that has port e0b e0d REST
  netapp.ontap.na_ontap_net_ifgrp:
    state: present
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    distribution_function: ip
    ports: [e0b,e0d,e0a]
    mode: multimode
    node: "{{ Vsim node name }}"
- name: Modify broadcast_domain and ipspace REST
  netapp.ontap.na_ontap_net_ifgrp:
    state: present
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    broadcast_domain: test
    ipspace: test
    ports: [e0b,e0d,e0a]
    node: "{{ Vsim node name }}"
- name: Delete LAG with exact match of ports
  netapp.ontap.na_ontap_net_ifgrp:
    state: absent
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    hostname: "{{ netapp_hostname }}"
    ports: [e0b,e0d,e0a]
    node: "{{ Vsim node name }}"

作者

  • NetApp Ansible 团队 (@carchi8py)