f5devcentral.atc_deploy
Rol de Ansible: Declaración de despliegue de la cadena de herramientas de automatización (ATC) de F5
Este rol despliega declaraciones a los servicios de la cadena de herramientas de automatización instalados (AS3, DO, TS) en tu BIG-IP o (AS3, DO) en tu BIG-IQ. Utilizarás este rol para enviar declaraciones a los siguientes servicios de cadena de herramientas de automatización de BIG-IP o BIG-IQ: extensión de servicios de aplicaciones 3, incorporación declarativa o transmisión de telemetría (solo BIG-IP). La información sobre estos servicios, junto con ejemplos de declaraciones, está disponible en f5-cloud-docs.
- Nota: este rol determina qué servicio utilizar por la declaración referenciada, que debe contener la clase del servicio. Por ejemplo, las declaraciones AS3 contendrán un puntero de servicio usando la clave "class": con el valor "AS3" en un archivo json declarado Ejemplo. Asegúrate de definir los punteros de servicio al inicio de tu declaración.
Requisitos
El servicio ATC correspondiente debe estar instalado en BIG-IP o BIG-IQ antes de desplegar la declaración.
Variables del Rol
Las variables disponibles se enumeran a continuación. Para sus valores predeterminados, consulta defaults/main.yml
:
Variable | Requerida | Predeterminado | Ejemplo | Información |
---|---|---|---|---|
provider | sí | - | provider: "{{ provider }}" | El diccionario provider se utiliza en el rol para definir detalles de conexión al BIG-IP de la misma manera que funcionan los Módulos de F5. |
atc_method | no | GET | atc_method: GET | |
atc_declaration | sí | - | atc_declaration: "{{ lookup('template', 'decl.json') }}" | Exclusivo con atc_declaration_file y atc_declaration_url |
atc_declaration_file | sí | - | atc_declaration_file: "files/decl.json" | Exclusivo con atc_declaration y atc_declaration_url |
atc_declaration_url | sí | - | atc_declaration_url: "https://testurl/as3.json" | Exclusivo con atc_declaration y atc_declaration_file |
atc_service | no | - | atc_service: AS3 | |
atc_delay | sí | 30 | atc_delay: 30 | Segundos entre reintentos al verificar si una llamada asíncrona está completa |
atc_retries | sí | 10 | atc_retries: 10 | Número de veces que el rol verificará si una tarea ha terminado antes de fallar |
as3_tenant | no | - | as3_tenant: Tenant1 | A partir de AS3 3.14.0, tienes la opción de usar POST en el punto final /declare con un inquilino específico en la URI (por ejemplo …/declare/tenant1). Esto solo actualiza el inquilino que especificaste, incluso si hay otros inquilinos en la declaración. Esto puede ser útil en algunos escenarios de automatización que involucran AS3. |
as3_show | sí | base | as3_show: base | Puedes usar los siguientes parámetros de consulta de URL para POST, GET o DELETE. Se requiere base significa que el sistema devuelve la declaración tal como se implementó originalmente (pero con secretos como frases de contraseña encriptadas), full devuelve la declaración con todas las propiedades del esquema predeterminado pobladas, expanded incluye todas las URL, base64 y otras referencias ampliadas a sus valores estáticos finales. |
as3_showhash | no | - | as3_showhash: true | Puedes usar los siguientes parámetros de consulta de URL para POST (Nota: showHash para POST fue introducido en AS3 3.14.0 y solo funcionará en 3.14.0 y versiones posteriores): Esto se introdujo como un mecanismo de protección para inquilinos en una declaración (anteriormente tenías que usar una solicitud GET separada para recuperar el bloqueo optimista). Si configuras “showHash=true”, los resultados incluyen una clave optimisticLockKey para cada inquilino. Los intentos de cambiar/actualizar cualquiera de los inquilinos sin la clave optimisticLockKey correcta fallarán. |
check_teem | sí | true | check_teem: true | Actualiza la declaración de AS3 para incluir la versión de Ansible para telemetría. |
Dependencias
Ninguna.
Ejemplos
Obtener Declaración AT
- name: Obtener Declaración AT
hosts: bigip
tasks:
- name: ATC GET
include_role:
name: atc_deploy
vars:
atc_method: GET
# Selecciona el servicio como AS3, Dispositivo o Telemetría
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
Publicar Declaración AT
- name: Publicar Declaración 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
Licencia
Apache
Información del Autor
Este rol fue creado en 2019 por Greg Crosby.
Agradecimientos
Un agradecimiento especial a Vinnie Mazza (@vinnie357) por los ejemplos de playbook de ansible.
Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)
ansible-galaxy install f5devcentral.atc_deploy