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
  • Les valeurs acceptées pour atc_method incluent [POST, GET] pour tous les services, et [DELETE] seulement pour AS3.
  • Le rôle atc_deploy ne prend actuellement pas en charge la méthode PATCH d'AS3.
  • 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
  • Si une déclaration est fournie, cela sélectionnera automatiquement en fonction du contenu
  • AS3
  • Device
  • Télémétrie
  • 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.
  • Les valeurs acceptables incluent : base, full, expanded
  • 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.

    À propos du projet

    Allows declaration to be sent to automation tool chain service (AS3, DO, or TS)

    Installer
    ansible-galaxy install f5devcentral.atc_deploy
    Licence
    apache-2.0
    Téléchargements
    21.2k
    Propriétaire
    Community Supported Repos