netapp.ontap.na_ontap_ssh_command 模块 – NetApp ONTAP 使用 paramiko 通过纯 SSH 运行任何 cli 命令。
注意
此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install netapp.ontap
。您需要其他需求才能使用此模块,请参阅 需求 获取详细信息。
要在 playbook 中使用它,请指定: netapp.ontap.na_ontap_ssh_command
。
netapp.ontap 20.8.0 中的新增功能
概要
使用 paramiko 通过 SSH 在 ONTAP 上运行 cli 命令。
输出返回在
stdout
和stderr
中,也作为stdout_lines
、stdout_lines_filtered
、stderr_lines
。请注意,即使命令失败,模块也可能成功。您需要分析 stdout 并检查结果。
如果 SSH 主机密钥未知并被接受,则会更新
warnings
。与 ZAPI 或 REST API 相关的选项将被忽略。
需求
执行此模块的主机需要以下需求。
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 或更高版本。
参数
参数 |
注释 |
---|---|
如果主机密钥不在 known_hosts 文件中,则为 false 时拒绝连接。 如果主机密钥未知,则为 true 时接受它,但会报告警告。 请注意,密钥不会添加到文件中。您可以通过手动使用 SSH 来添加密钥。 选项
|
|
SSL 客户端证书文件(.pem)的路径。 python 2.6 不支持。 |
|
包含命令和参数的字符串。 |
|
仅返回 默认: |
|
启用或禁用新功能。 这可以用于启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值可能会随时更改,恕不另行通知。未知键将被忽略。 |
|
使用 REST 时覆盖集群 ONTAP 版本。 如果版本与目标集群不匹配,则行为未定义。 这是在由于权限问题无法读取集群版本时提供的解决方法。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues。 这应采用 9.10 或 9.10.1 的形式,每个元素都是整数。 当 ZAPI 中忽略。 |
|
ONTAP 实例的主机名或 IP 地址。 |
|
使用此端口覆盖默认端口 (80 或 443) |
|
启用和禁用 https。 使用 REST 时忽略,因为只支持 https。 使用 SSL 证书身份验证时忽略,因为它需要 SSL。 选项
|
|
仅返回 默认: |
|
SSL 客户端密钥文件的路径。 |
|
要使用的 ontap api 版本 |
|
指定用户的密码。 |
|
运行命令的特权级别,例如 admin、advanced。 如果设置,则命令前缀为 |
|
目标系统是 ONTAP 还是服务处理器 (SP) 仅在设置特权时有意义 选项
|
|
是否使用 REST 或 ZAPI。 always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果模块选项在 REST 中不受支持,则会发出错误。 never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 REST 选项在 ZAPI 中不受支持,则可能会发出错误。 auto – 如果模块支持 REST 并且支持模块选项,则尝试使用 REST API。否则恢复为 ZAPI。 默认: |
|
这可以是集群范围或 SVM 范围的帐户,具体取决于是否需要集群级或 SVM 级 API。 有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法
要使用证书,必须已在 ONTAP 集群中安装该证书,并且必须已启用证书认证。 |
|
如果设置为 此选项应仅在使用自签名证书的个人控制站点上设置为 选项
|
备注
注意
以 na_ontap 为前缀的模块构建用于支持 ONTAP 存储平台。
默认情况下启用 https,并且建议使用 https。要在集群上启用 http,必须运行以下命令:‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
示例
- name: run ontap cli command using SSH
na_ontap_ssh_command:
hostname: "{{ hostname }}"
username: "{{ admin_username }}"
password: "{{ admin_password }}"
command: version
# Same as above, with parameters
- name: run ontap cli command
na_ontap_ssh_command:
hostname: "{{ hostname }}"
username: "{{ admin_username }}"
password: "{{ admin_password }}"
command: node show -fields node,health,uptime,model
privilege: admin
# Same as above, but with lines filtering
- name: run ontap cli command
na_ontap_ssh_command:
hostname: "{{ hostname }}"
username: "{{ admin_username }}"
password: "{{ admin_password }}"
command: node show -fields node,health,uptime,model
exclude_lines: 'ode ' # Exclude lines with 'Node ' or 'node'
# use with caution!
accept_unknown_host_keys: true
privilege: admin
- name: run ontap SSH command on SP
na_ontap_ssh_command:
# <<: *sp_login
command: sp switch-version
privilege: diag
sp: true
register: result
- debug: var=result
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
除了 stdout 和 stdout_lines 之外,还有一个非空白行的列表,不包括最后一行和失败的登录信息。 可以使用 include_lines 和 exclude_lines 过滤器进一步细化列表。 返回:始终 |