Spec-Zone.ru › Ansible

Модуль f5networks.f5_modules.bigip_command – Выполнение команд TMSH и BASH на устройствах F5

Примечание

Этот модуль входит в коллекцию f5networks.f5_modules (версия 1.31.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install f5networks.f5_modules.

Чтобы использовать её в книге задач, укажите: f5networks.f5_modules.bigip_command.

Добавлена в f5networks.f5_modules 1.0.0

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Описание

  • Отправляет команду TMSH или BASH на узел BIG-IP и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ожидать выполнения определённого условия перед возвратом или выхода по таймауту, если условие не выполнено.
  • Этот модуль не является идемпотентным и никогда им не будет. Он предназначен как временная мера для удовлетворения требований автоматизации до тех пор, пока не будет разработан реальный модуль для нужной конфигурации.
  • Если вы используете этот модуль, мы рекомендуем также открыть вопрос о создании полноценного модуля для ваших потребностей.

Параметры

Параметр

Комментарии

chdir

строка

Перейти в этот каталог перед выполнением команды.

commands

любой / обязательно

Команды, которые будут отправлены удалённому устройству BIG-IP через настроенного поставщика. Результат выполнения команды возвращается. Если аргумент wait_for указан, модуль не возвращается, пока условие не будет выполнено или не истечёт количество попыток.

Поддерживаются только tmsh команды. Если вы используете перенаправление или добавляете дополнительную логику, которая выходит за рамки tmsh (такую, как grep, awk или другая оболочечная логика, которая не является tmsh), эта возможность не поддерживается.

interval

целое число

Настраивает интервал в секундах ожидания между повторами команды. Если команда не удовлетворяет указанному условию, интервал определяет, как долго ждать, прежде чем попробовать команду снова.

По умолчанию: 1

match

строка

Аргумент match используется совместно с аргументом wait_for для задания политики соответствия. Допустимые значения — all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, должно быть удовлетворено только одно из значений.

Варианты:

  • "any"
  • "all" ← (по умолчанию)

provider

словарь

добавлено в f5networks.f5_modules 1.0.0

Объект типа dict, содержащий данные соединения.

auth_provider

строка

Настраивает поставщика аутентификации для получения маркеров аутентификации с удалённого устройства.

Этот параметр действительно используется при работе с устройствами BIG-IQ.

no_f5_teem

булево

Если yes, данные телеметрии TEEM не отправляются в F5.

Вы можете опустить этот параметр, установив переменную среды F5_TELEMETRY_OFF.

Предыдущая переменная F5_TEEM устарела, так как её название было неоднозначным.

Варианты:

  • false ← (по умолчанию)
  • true

password

псевдонимы: pass, pwd

строка / обязательно

Пароль для учётной записи пользователя, используемой для подключения к BIG-IP.

Вы можете опустить этот параметр, установив переменную среды F5_PASSWORD.

server

строка / обязательно

Хост BIG-IP.

Вы можете опустить этот параметр, установив переменную среды F5_SERVER.

server_port

целое число

Порт сервера BIG-IP.

Вы можете опустить этот параметр, установив переменную среды F5_SERVER_PORT.

По умолчанию: 443

ssh_keyfile

путь

Указывает файл SSH-ключа для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli.

Вы можете опустить этот параметр, установив переменную среды ANSIBLE_NET_SSH_KEYFILE.

timeout

целое число

Параметр действует, когда transport установлено в rest

Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль выдаст ошибку.

transport

строка

Настраивает транспортное соединение для использования при подключении к удалённому устройству.

Варианты:

  • "cli"
  • "rest" ← (по умолчанию)

user

строка / обязательно

Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные права на устройстве.

Вы можете опустить этот параметр, установив переменную среды F5_USER.

validate_certs

булево

Если no, сертификаты SSL не проверяются. Используйте только на сайтах, контролируемых лично, с самоподписанными сертификатами.

Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS.

Варианты:

  • false
  • true ← (по умолчанию)

retries

целое число

Устанавливает количество попыток выполнения команды, прежде чем она будет считаться неудачной. Команда выполняется на целевом устройстве в каждой попытке и оценивается по условиям wait_for.

По умолчанию: 10

END_OF_DOCUMENT_MARKER

wait_for

aliases: waitfor

список / элементы=строка

Указывает, что нужно оценить из вывода команды и какие условия применить. Этот аргумент заставит задачу дождаться, пока определенное условие не станет истинным, прежде чем продолжить. Если условие не станет истинным к заданному количеству попыток, задача завершится ошибкой. См. примеры.

warn

логическое значение

Указывает, следует ли модулю генерировать предупреждения, связанные с идемпотентностью команды.

Обратите внимание, что разработчики Ansible для F5 специально оставляют это включенным, чтобы предупредить вас о том, что ваше использование этого модуля может быть лучше реализовано с помощью официальных модулей Ansible для F5. Этот модуль следует использовать только в крайнем случае.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • При запуске этого модуля в среде HA через подключение SSH и использовании роли, отличной от admin или root, вы можете увидеть состояние Change Pending, даже если вы не внесли никаких изменений. Это отслеживается с помощью идентификатора 429869.
  • При использовании модуля bigip_command с REST API в нескольких местах используется регулярное выражение для экранирования символов, таких как кавычки. Если ваша команда TMSH содержит символы регулярных выражений, такие как подстановочные знаки в группах данных *, то может потребоваться большое количество символов экранирования.
  • При выполнении длительной команды необходимо задать достаточно большое значение для параметра timeout в блоке поставщика.
  • Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на странице https://www.ansible.com/integrations/networks/f5.
  • Требуется версия ПО BIG-IP >= 12.
  • Чтобы указать timeout, когда transport установлено в cli, используйте переменную окружения ANSIBLE_PERSISTENT_COMMAND_TIMEOUT или укажите command_timeout в файле ansible.cfg, см. https://docs.ansible.com/ansible/latest/reference_appendices/config.html#persistent-command-timeout
  • Модули F5 обрабатывают только текущую конфигурацию продукта F5. Чтобы гарантировать сохранение специфичной для BIG-IP конфигурации на диске, убедитесь, что вы включили как минимум одну задачу, использующую модуль f5networks.f5_modules.bigip_config для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля, чтобы сохранить текущую конфигурацию.

Примеры

- name: run show version on remote devices
  bigip_command:
    commands: show sys version
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost

- name: sleep for 200 seconds
  bigip_command:
    commands: 'run /util bash -c "sleep 200"'
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
      timeout: 210
  delegate_to: localhost

- name: run show version and check to see if output contains BIG-IP
  bigip_command:
    commands: show sys version
    wait_for: result[0] contains BIG-IP
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  register: result
  delegate_to: localhost

- name: run multiple commands on remote nodes
  bigip_command:
    commands:
      - show sys version
      - list ltm virtual
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost

- name: run multiple commands and evaluate the output
  bigip_command:
    commands:
      - show sys version
      - list ltm virtual
    wait_for:
      - result[0] contains BIG-IP
      - result[1] contains my-vs
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  register: result
  delegate_to: localhost

- name: tmsh prefixes will automatically be handled
  bigip_command:
    commands:
      - show sys version
      - tmsh list ltm virtual
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost

- name: Delete all LTM nodes in Partition1, assuming no dependencies exist
  bigip_command:
    commands:
      - delete ltm node all
    chdir: Partition1
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost

- name: Command that contains wildcard character to be passed to tmsh
  bigip_command:
    commands:
      - modify ltm data-group internal dg_string records add { "my test\\\\\\\*string"  { data "value" }}
    provider:
      server: lb.mydomain.com
      password: secret
      user: admin
  delegate_to: localhost

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ

Описание

failed_conditions

список / элементы=строка

Список условий, которые завершились неудачно.

Возвращено: failed

Пример: ["...", "..."]

stdout

список / элементы=строка

Набор ответов от команд.

Возвращено: всегда

Пример: ["...", "..."]

stdout_lines

список / элементы=строка

Значение stdout, разделенное по строкам.

Возвращено: всегда

Пример: [["...", "..."], ["..."], ["..."]]

warn

логическое значение

Указывает, следует ли генерировать предупреждения о командах изменения.

Возвращено: changed

Пример: true

Авторы

  • Tim Rupp (@caphrim007)
  • Wojciech Wypior (@wojtek0806)

Ссылки на сборку

  • Система отслеживания ошибок
  • Главная страница
  • Репозиторий (Исходный код)

© 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/f5networks/f5_modules/bigip_command_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API