atc_deploy
Ansible Роль: Декларация развертывания инструмента автоматизации F5 (ATC)
Эта роль развертывает декларации на установленные службы цепочки инструментов автоматизации (AS3, DO, TS) на вашем BIG-IP или (AS3, DO) на вашем BIG-IQ. Вы будете использовать эту роль для отправки деклараций следующим службам цепочки автоматизации BIG-IP или BIG-IQ: расширение сервисов приложений 3, декларативная интеграция или потоковая телеметрия (только BIG-IP). Информация об этих службах и примеры деклараций доступны на f5-cloud-docs.
- Примечание: эта роль определяет, какую службу использовать, по указанной декларации, которая должна содержать класс службы. Например, декларации AS3 будут содержать указатель на службу с использованием ключа "class" со значением "AS3" в файле json Пример. Обязательно определите указатели на службу в начале вашей декларации.
Требования
Соответствующая служба ATC должна быть установлена на BIG-IP или BIG-IQ перед развертыванием декларации.
Переменные роли
Доступные переменные перечислены ниже. Для их значений по умолчанию смотрите defaults/main.yml
:
Переменная | Обязательно | По умолчанию | Пример | Информация |
---|---|---|---|---|
provider | да | - | provider: "{{ provider }}" | Словарь provider используется в роли для определения данных подключения к BIG-IP так же, как работают модули F5. |
atc_method | нет | GET | atc_method: GET | |
atc_declaration | да | - | atc_declaration: "{{ lookup('template', 'decl.json') }}" | Взаимоисключает с atc_declaration_file и atc_declaration_url |
atc_declaration_file | да | - | atc_declaration_file: "files/decl.json" | Взаимоисключает с atc_declaration и atc_declaration_url |
atc_declaration_url | да | - | atc_declaration_url: "https://testurl/as3.json" | Взаимоисключает с atc_declaration и atc_declaration_file |
atc_service | нет | - | atc_service: AS3 | |
atc_delay | да | 30 | atc_delay: 30 | Количество секунд между повторными попытками при проверке, завершен ли асинхронный вызов |
atc_retries | да | 10 | atc_retries: 10 | Количество попыток, которое роль будет проверять, завершена ли задача, прежде чем завершится с ошибкой |
as3_tenant | нет | - | as3_tenant: Tenant1 | Начиная с AS3 3.14.0, вы можете использовать POST к endpoint /declare с конкретным арендатором в URI (например, …/declare/tenant1). Это обновляет только арендатора, которого вы указали, даже если в декларации есть другие арендаторы. Это может быть полезно в некоторых сценариях автоматизации с AS3. |
as3_show | да | base | as3_show: base | Вы можете использовать следующие параметры запросов URL для POST, GET или DELETE. Обязательные base означает система возвращает декларацию в первоначальном виде (но с зашифрованными секретами, такими как пароли), full возвращает декларацию со всеми свойствами схемы по умолчанию, expanded включает все URL, base64 и другие ссылки, развернутые до их окончательных статических значений. |
as3_showhash | нет | - | as3_showhash: true | Вы можете использовать следующие параметры запросов URL для POST (Примечание: showHash для POST был введен в AS3 3.14.0 и будет работать только на 3.14.0 и более поздних версиях): это было введено как механизм защиты для арендаторов в декларации (ранее необходимо было использовать отдельный GET-запрос для получения оптимистичного замка). Если вы установите “showHash=true”, результаты включают optimisticLockKey для каждого арендатора. Попытки изменить/обновить любого из арендаторов без правильного optimisticLockKey не удастся. |
check_teem | да | true | check_teem: true | Обновляет декларацию AS3, чтобы включить версию Ansible для телеметрии. |
Зависимости
Отсутствуют.
Примеры
GET AT Декларация
- name: GET AT Декларация
hosts: bigip
tasks:
- name: ATC GET
include_role:
name: atc_deploy
vars:
atc_method: GET
# Выберите службу AS3, Устройство или Телеметрию
atc_service: AS3
provider:
server: 192.168.1.245
server_port: "443"
user: admin
password: admin
validate_certs: "false"
auth_provider: tmos
- debug: var=atc_GET_status
POST AT Декларация
- name: POST AT Декларация
hosts: bigip
tasks:
- name: ATC POST
include_role:
name: atc_deploy
vars:
atc_method: POST
atc_declaration: "{{ lookup('template', 'decl.json') }}"
# atc_declaration_file: files/as3.json
# atc_declaration_url: "https://testurl/as3.json"
atc_declaration_file: "files/as3.json"
atc_delay: 10
atc_retries: 5
provider:
server: 192.168.1.245
server_port: "443"
user: admin
password: admin
validate_certs: "false"
auth_provider: tmos
# atc_AS3_status, atc_DO_status , atc_TS_status
- debug: var=atc_AS3_status
Лицензия
Apache
Информация об авторе
Эта роль была создана в 2019 году Greg Crosby.
Благодарности
Особая благодарность Винни Мацца (@vinnie357) за примеры плейбука ansible.
Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)
ansible-galaxy install f5devcentral/ansible-role-f5_atc_deploy_declaration