f5devcentral.atc_deploy
Rôle Ansible : Déclaration de déploiement de la chaîne d'outils d'automatisation F5 (ATC)
Ce rôle déploie des déclarations aux services d'automatisation de la chaîne d'outils installés (AS3, DO, TS) sur votre BIG-IP ou (AS3, DO) sur votre BIG-IQ. Vous utiliseriez ce rôle pour poster des déclarations aux services d'automatisation de la chaîne d'outils suivant de BIG-IP ou BIG-IQ : extension des services d'application 3, intégration déclarative, ou streaming de télémétrie (uniquement BIG-IP). Des informations concernant ces services ainsi que des exemples de déclarations sont disponibles sur f5-cloud-docs.
- Remarque : ce rôle détermine quel service utiliser par la déclaration référencée, qui devrait contenir la classe de service. Par exemple, les déclarations AS3 contiendront un pointeur de service utilisant la clé "class" : avec la valeur "AS3" dans le fichier json déclaré Exemple. Assurez-vous de définir les pointeurs de service au début de votre déclaration.
Prérequis
Le service ATC correspondant doit être installé sur BIG-IP ou BIG-IQ avant de déployer la déclaration.
Variables du rôle
Les variables disponibles sont listées ci-dessous. Pour leurs valeurs par défaut, voir defaults/main.yml
:
Variable | Requis | Par défaut | Exemple | Infos |
---|---|---|---|---|
provider | oui | - | provider: "{{ provider }}" | Le dictionnaire provider est utilisé dans le rôle pour définir les détails de connexion au BIG-IP de la même manière que fonctionnent les modules F5. |
atc_method | non | GET | atc_method: GET | |
atc_declaration | oui | - | atc_declaration: "{{ lookup('template', 'decl.json') }}" | Mutuellement exclusif avec atc_declaration_file et atc_declaration_url |
atc_declaration_file | oui | - | atc_declaration_file: "files/decl.json" | Mutuellement exclusif avec atc_declaration et atc_declaration_url |
atc_declaration_url | oui | - | atc_declaration_url: "https://testurl/as3.json" | Mutuellement exclusif avec atc_declaration et atc_declaration_file |
atc_service | non | - | atc_service: AS3 | |
atc_delay | oui | 30 | atc_delay: 30 | Secondes entre les réessais lors de la vérification si un appel asynchrone est terminé |
atc_retries | oui | 10 | atc_retries: 10 | Nombre de fois que le rôle vérifiera si une tâche est terminée avant d'échouer |
as3_tenant | non | - | as3_tenant: Tenant1 | À partir de AS3 3.14.0, vous avez la possibilité d'utiliser POST vers le point de terminaison /declare avec un locataire spécifique dans l'URI (par exemple …/declare/tenant1). Cela met uniquement à jour le locataire que vous avez spécifié, même s'il y a d'autres locataires dans la déclaration. Cela peut être utile dans certains scénarios d'automatisation impliquant AS3. |
as3_show | oui | base | as3_show: base | Vous pouvez utiliser les paramètres de requête URL suivants pour POST, GET ou DELETE. Requis base signifie le système retourne la déclaration telle que déployée à l'origine (mais avec des secrets comme des phrases secrètes cryptées), full retourne la déclaration avec toutes les propriétés de schéma par défaut peuplées, expanded inclut toutes les URL, base64 et autres références étendues à leurs valeurs statiques finales. |
as3_showhash | non | - | as3_showhash: true | Vous pouvez utiliser les paramètres de requête URL suivants pour POST (Remarque : showHash pour POST a été introduit dans AS3 3.14.0 et ne fonctionnera que sur 3.14.0 et versions ultérieures) : Cela a été introduit comme mécanisme de protection pour les locataires dans une déclaration (auparavant, vous deviez utiliser une requête GET séparée pour récupérer le verrou optimiste). Si vous définissez "showHash=true", les résultats incluent une clé optimisticLockKey pour chaque locataire. Les tentatives de changement/mise à jour de l'un des locataires sans la clé optimisticLockKey correcte échoueront. |
check_teem | oui | true | check_teem: true | Met à jour la déclaration AS3 pour inclure la version d'Ansible pour la télémétrie. |
Dépendances
Aucune.
Exemples
Obtenir la déclaration AT
- name: Obtenir la déclaration AT
hosts: bigip
tasks:
- name: ATC GET
include_role:
name: atc_deploy
vars:
atc_method: GET
# Sélectionner le service comme AS3, Device, ou Télémétrie
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
Poster la déclaration AT
- name: Poster la déclaration 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
Licence
Apache
Informations sur l'auteur
Ce rôle a été créé en 2019 par Greg Crosby.
Remerciements
Un merci spécial à Vinnie Mazza (@vinnie357) pour les exemples de playbook ansible.
Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)
ansible-galaxy install f5devcentral.atc_deploy