netapp.ontap.na_ontap_ssh_command – NetApp ONTAP Run any cli command over plain SSH using paramiko.
Note
This plugin is part of the netapp.ontap collection (version 21.1.1).
To install it use: ansible-galaxy collection install netapp.ontap
.
To use it in a playbook, specify: netapp.ontap.na_ontap_ssh_command
.
New in version 20.8.0: of netapp.ontap
Synopsis
- Run cli commands on ONTAP over SSH using paramiko.
- Output is returned in
stdout
andstderr
, and also asstdout_lines
,stdout_lines_filtered
,stderr_lines
. - Note that the module can succeed even though the command failed. You need to analyze stdout and check the results.
- If the SSH host key is unknown and accepted,
warnings
is updated. - Options related to ZAPI or REST APIs are ignored.
Requirements
The below requirements are needed on the host that executes this module.
- Ansible 2.9
- Python3 netapp-lib (2018.11.13) or later. Install using ‘pip install netapp-lib’
- netapp-lib 2020.3.12 is strongly recommended as it provides better error reporting for connection issues.
- A physical or virtual clustered Data ONTAP system. The modules support Data ONTAP 9.1 and onward.
- REST support requires ONTAP 9.6 or later.
- To enable http on the cluster you must run the following commands ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
accept_unknown_host_keys boolean |
| When false, reject the connection if the host key is not in known_hosts file. When true, if the host key is unknown, accept it, but report a warning. Note that the key is not added to the file. You could add the key by manually using SSH. |
cert_filepath string added in 20.6.0 of netapp.ontap | path to SSL client cert file (.pem). not supported with python 2.6. | |
command string / required | a string containing the command and arguments. | |
exclude_lines string | Default: "" | return only lines containing string pattern in stdout_lines_filtered
|
feature_flags dictionary added in 20.5.0 of netapp.ontap | Enable or disable a new feature. This can be used to enable an experimental feature or disable a new feature that breaks backward compatibility. Supported keys and values are subject to change without notice. Unknown keys are ignored. | |
hostname string / required | The hostname or IP address of the ONTAP instance. | |
http_port integer | Override the default port (80 or 443) with this port | |
https boolean |
| Enable and disable https. Ignored when using REST as only https is supported. Ignored when using SSL certificate authentication as it requires SSL. |
include_lines string | Default: "" | return only lines containing string pattern in stdout_lines_filtered
|
key_filepath string added in 20.6.0 of netapp.ontap | path to SSL client key file. | |
ontapi integer | The ontap api version to use | |
password string | Password for the specified user. aliases: pass | |
privilege string | privilege level at which to run the command, eg admin, advanced. if set, the command is prefixed with set -privilege <privilege>; . | |
service_processor boolean |
| whether the target system is ONTAP or the service processor (SP) only menaningful when privilege is set aliases: sp |
use_rest string | Default: "auto" | REST API if supported by the target system for all the resources and attributes the module requires. Otherwise will revert to ZAPI. always -- will always use the REST API never -- will always use the ZAPI auto -- will try to use the REST Api |
username string | This can be a Cluster-scoped or SVM-scoped account, depending on whether a Cluster-level or SVM-level API is required. For more information, please read the documentation https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/. Two authentication methods are supported 1. basic authentication, using username and password, 2. SSL certificate authentication, using a ssl client cert file, and optionally a private key file. To use a certificate, the certificate must have been installed in the ONTAP cluster, and cert authentication must have been enabled. aliases: user | |
validate_certs boolean |
| If set to no , the SSL certificates will not be validated.This should only set to False used on personally controlled sites using self-signed certificates. |
Notes
Note
- The modules prefixed with na\_ontap are built to support the ONTAP storage platform.
Examples
- 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
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
stdout_lines_filtered list / elements=string | always | In addition to stdout and stdout_lines, a list of non-white lines, excluding last and failed login information. The list can be further refined using the include_lines and exclude_lines filters. |
Authors
- NetApp Ansible Team (@carchi8py) <ng-ansibleteam@netapp.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/netapp/ontap/na_ontap_ssh_command_module.html