Модуль netapp.ontap.na_ontap_ssh_command — NetApp ONTAP Выполнение произвольных команд CLI через обычный SSH с использованием paramiko.
Примечание
Этот модуль входит в коллекцию netapp.ontap (версия 22.12.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
Описание
- Выполнение команд CLI на ONTAP через SSH с использованием paramiko.
- Результат возвращается в
stdoutиstderr, а также в видеstdout_lines,stdout_lines_filtered,stderr_lines. - Обратите внимание, что модуль может успешно завершиться, даже если команда завершилась неудачно. Необходимо проанализировать stdout и проверить результаты.
- Если открытый ключ SSH-хоста неизвестен и принят,
warningsобновляется. - Параметры, связанные с ZAPI или REST API, игнорируются.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Ansible 2.9 или более поздней версии — рекомендуется Ansible 2.12 или более поздней версии.
- Python3 — рекомендуется Python3.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 или более поздней версии.
Параметры
Параметр | Комментарии |
|---|---|
accept_unknown_host_keys boolean | Если false, отклоняет подключение, если ключ хоста отсутствует в файле known_hosts. Если true, если ключ хоста неизвестен, принимает его, но выводит предупреждение. Обратите внимание, что ключ не добавляется в файл. Вы можете добавить ключ вручную, используя SSH. Варианты:
|
cert_filepath string добавлено в netapp.ontap 20.6.0 | путь к файлу клиентского сертификата SSL (.pem). не поддерживается с python 2.6. |
command string / required | строка, содержащая команду и аргументы. |
exclude_lines string | возвращает только строки, содержащие шаблон строки в По умолчанию: |
feature_flags dictionary добавлено в netapp.ontap 20.5.0 | Включить или отключить новую функцию. Это можно использовать для включения экспериментальной функции или отключения новой функции, которая нарушает обратную совместимость. Поддерживаемые ключи и значения могут меняться без уведомления. Неизвестные ключи игнорируются. |
force_ontap_version string добавлено в netapp.ontap 21.23.0 | Переопределить версию ONTAP кластера при использовании REST. Поведение не определено, если версия не соответствует целевому кластеру. Это предоставляется как временное решение, когда версию кластера невозможно прочитать из-за проблем с разрешениями. См. https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues. Это должно быть в формате 9.10 или 9.10.1, где каждый элемент является целым числом. Когда Игнорируется с ZAPI. |
hostname string / required | Имя хоста или IP-адрес экземпляра ONTAP. |
http_port integer | Переопределить порт по умолчанию (80 или 443) этим портом |
https boolean | Включить и отключить https. Игнорируется при использовании REST, так как поддерживается только https. Игнорируется при использовании проверки подлинности с помощью SSL-сертификата, так как это требует SSL. Варианты:
|
include_lines string | возвращает только строки, содержащие шаблон строки в По умолчанию: |
key_filepath string добавлено в netapp.ontap 20.6.0 | путь к файлу закрытого ключа SSL. |
ontapi integer | Версия API ontap для использования |
password псевдонимы: pass string | Пароль для указанного пользователя. |
privilege string | уровень привилегий, с которым нужно выполнить команду, например, admin, advanced. если задано, команда предваряется |
service_processor псевдонимы: sp boolean | является ли целевая система ONTAP или сервисный процессор (SP) имеет значение только при установке привилегий Варианты:
|
use_rest string | Использовать REST или ZAPI. always – всегда будет использовать REST API, если модуль поддерживает REST. Выводится предупреждение, если модуль не поддерживает REST. Выводится ошибка, если параметр модуля не поддерживается в REST. never – всегда будет использовать ZAPI, если модуль поддерживает ZAPI. Ошибка может быть выдана, если параметр REST не поддерживается в ZAPI. auto – попытается использовать REST API, если модуль поддерживает REST и параметры модулей поддерживаются. В противном случае возвращается к ZAPI. По умолчанию: |
username псевдонимы: user string | Это может быть учетная запись в масштабе кластера или SVM, в зависимости от того, требуется ли API уровня кластера или SVM. Для получения дополнительной информации, пожалуйста, прочитайте документацию https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/. Поддерживаются два метода аутентификации
Для использования сертификата сертификат должен быть установлен в кластере ONTAP, и должна быть включена аутентификация сертификатов. |
validate_certs boolean | Если установлено в Это следует устанавливать только в Варианты:
|
Примечания
Примечание
- Модули с префиксом na_ontap разработаны для поддержки платформы хранения ONTAP.
- 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_lines_filtered список / элементы=строка | В дополнение к stdout и stdout_lines, список непустых строк, исключая последнюю и информацию о неудачной авторизации. Список можно далее уточнить с помощью фильтров include_lines и exclude_lines. Возвращается: всегда |
Ссылки на сборки
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/netapp/ontap/na_ontap_ssh_command_module.html