f5devcentral.atc_deploy

Ansible Role: F5 Automation Tool Chain (ATC) Deployment

This role installs declarative configurations to the automation services (AS3, DO, TS) on your BIG-IP system or (AS3, DO) on your BIG-IQ. You can use this role to send declarations to the following services: application services 3 extension (AS3), declarative onboarding (DO), or telemetry streaming (TS) on BIG-IP. You can find more information and example declarations in the F5 Cloud Docs.

  • Note: This role figures out which service to use by looking at the declaration, which must include the service class. For example, AS3 declarations will have a service pointer specified using the key "class" with the value "AS3" in the JSON file. Make sure to define these service pointers at the start of your declaration.

Requirements

You must install the necessary ATC service on your BIG-IP or BIG-IQ before using this role to deploy declarations.

Role Variables

Here are the variables you can use. For their default values, check defaults/main.yml:

Variable Required Default Example Info
provider yes - provider: "{{ provider }}" This provider dictionary is used to set up connection details to the BIG-IP, similar to how F5 modules work.
atc_method no GET atc_method: GET Acceptable values include [POST, GET] for all services, and [DELETE] for AS3 only. The PATCH method for AS3 is not supported by the current role.
atc_declaration yes - atc_declaration: "{{ lookup('template', 'decl.json') }}" Cannot be used together with atc_declaration_file and atc_declaration_url.
atc_declaration_file yes - atc_declaration_file: "files/decl.json" Cannot be used together with atc_declaration and atc_declaration_url.
atc_declaration_url yes - atc_declaration_url: "https://testurl/as3.json" Cannot be used together with atc_declaration and atc_declaration_file.
atc_service no - atc_service: AS3 If a declaration is included, this will automatically select the service type. Possible options are AS3, Device, or Telemetry.
atc_delay yes 30 atc_delay: 30 Number of seconds to wait between retries while checking if an asynchronous call is finished.
atc_retries yes 10 atc_retries: 10 Number of times the role will check for task completion before failing.
as3_tenant no - as3_tenant: Tenant1 From AS3 version 3.14.0, you can POST to the /declare endpoint with a specific tenant in the URI, updating only that tenant.
as3_show yes base as3_show: base Use query parameters for POST, GET, or DELETE requests. Acceptable values: base, full, or expanded.
as3_showhash no - as3_showhash: true For POST requests, this adds an optimisticLockKey for tenants, protecting them from unauthorized changes without the correct key.
check_teem yes true check_teem: true Updates AS3 declaration to include the Ansible version for telemetry.

Dependencies

None.

Examples

Get AT Declaration

- name: Get AT Declaration
  hosts: bigip

  tasks:

    - name: ATC GET
      include_role:
        name: atc_deploy
      vars:
        atc_method: GET
        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 Declaration

- name: Post AT Declaration
  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_delay: 10
        atc_retries: 5
        provider:
          server: 192.168.1.245
          server_port: "443"
          user: admin
          password: admin
          validate_certs: "false"
          auth_provider: tmos

    - debug: var=atc_AS3_status

License

Apache

Author Information

This role was created in 2019 by Greg Crosby.

Credits

Thanks to Vinnie Mazza (@vinnie357) for the examples in the Ansible playbook.

Informazioni sul progetto

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

Installa
ansible-galaxy install f5devcentral.atc_deploy
Licenza
apache-2.0
Download
21.2k
Proprietario
Community Supported Repos