Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в состав коллекции f5networks.f5_modules (версия 1.7.1).

Для его установки используйте: ansible-galaxy collection install f5networks.f5_modules.

Для использования в плейбуке укажите: f5networks.f5_modules.bigip_command.

Новое в версии 1.0.0: модуля f5networks.f5_modules

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
chdir
строка
Перейти в этот каталог перед выполнением команды.
commands
сырые данные / обязательный
Команды для отправки на удалённое устройство BIG-IP через настроенный провайдер. Результирующий вывод команды возвращается. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт время ожидания.
Поддерживаются только tmsh команды. Если вы используете перенаправление или добавляете дополнительную логику, которая выходит за рамки tmsh (например, grep, awk или другая логика оболочки, не являющаяся tmsh), эта функциональность не поддерживается.
interval
целое число
Значение по умолчанию:
1
Настраивает интервал ожидания в секундах между попытками выполнения команды. Если команда не удовлетворяет указанному условию, интервал указывает время ожидания перед повторной попыткой выполнения команды.
match
строка
    Варианты:
  • any
  • all ←
Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения — all или any. Если значение установлено на all, то все условия в wait_for должны быть выполнены. Если значение установлено на any, то должно быть выполнено только одно из условий.
provider
словарь
добавлено в 1.0.0 f5networks.f5_modules
Объект dict, содержащий данные подключения.
auth_provider
строка
Настраивает провайдер аутентификации для получения токенов аутентификации с удалённого устройства.
Этот параметр используется при работе с устройствами BIG-IQ.
no_f5_teem
логическое значение
    Варианты:
  • no
  • yes
Если yes, данные телеметрии TEEM не отправляются на F5.
Вы можете опустить этот параметр, установив переменную среды F5_TEEM.
password
строка / обязательный
Пароль для учётной записи пользователя, используемой для подключения к BIG-IP.
Вы можете опустить этот параметр, установив переменную среды F5_PASSWORD.

псевдонимы: pass, pwd
server
строка / обязательный
Хост BIG-IP.
Вы можете опустить этот параметр, установив переменную среды F5_SERVER.
server_port
целое число
Значение по умолчанию:
443
Порт сервера BIG-IP.
Вы можете опустить этот параметр, установив переменную среды F5_SERVER_PORT.
ssh_keyfile
путь
Указывает файл SSH-ключа, используемый для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli.
Вы можете опустить этот параметр, установив переменную среды ANSIBLE_NET_SSH_KEYFILE.
timeout
целое число
Указывает время ожидания в секундах для связи с сетевым устройством для подключения или отправки команд. Если время ожидания истекает до завершения операции, модуль выдаст ошибку.
transport
строка
    Варианты:
  • cli
  • rest ←
Настраивает транспортное соединение для подключения к удалённому устройству.
user
строка / обязательный
Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве.
Вы можете опустить этот параметр, установив переменную среды F5_USER.
validate_certs
логическое значение
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не проверяются. Используйте только на контролируемых вами сайтах с самозаверяемыми сертификатами.
Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS.
retries
целое число
Значение по умолчанию:
10
Указывает количество попыток выполнения команды перед признанием её неудачной. Команда выполняется на целевом устройстве при каждой попытке и проверяется по условиям wait_for.
wait_for
список / элементы=строка
Указывает, что следует оценить из вывода команды и какие условия применить. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным до наступления числа попыток, задача завершается с ошибкой. См. примеры.

псевдонимы: waitfor
warn
логическое значение
    Варианты:
  • no
  • yes ←
Указывает, следует ли модулю выдавать предупреждения, связанные с идемпотентностью команд, или нет.
Обратите внимание, что разработчики F5 Ansible специально оставляют это значение включённым, чтобы предупредить вас о том, что использование этого модуля может быть более целесообразно при использовании официальных F5 Ansible модулей. Этот модуль следует использовать в крайнем случае.

Примечания

Примечание

  • При запуске этого модуля в среде HA через SSH-соединение и использовании роли, отличной от admin или root, вы можете увидеть состояние Change Pending, даже если вы не внесли никаких изменений. Это отслеживается с помощью ID429869.
  • При использовании модуля bigip_command с REST API в ряде мест используется регулярное выражение для экранирования символов, таких как кавычки. Если ваша команда TMSH содержит символы регулярных выражений, такие как подстановочные знаки datagroup *, то может потребоваться большое количество символов экранирования.
  • Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на https://www.ansible.com/integrations/networks/f5.
  • Требуется версия ПО BIG-IP ≥ 12.
  • Модули 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: 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


Авторы

  • Тим Рупп (@caphrim007)
  • Войцех Выпиор (@wojtek0806)

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

Spec-Zone.ru

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