f5devcentral.atc_deploy

Ansible角色:F5自动化工具链(ATC)部署声明

该角色将声明部署到您BIG-IP上已安装的自动化工具链服务(AS3、DO、TS)或在您的BIG-IQ上(AS3、DO)。您可以使用此角色向以下BIG-IP或BIG-IQ自动化工具链服务发布声明:应用服务3扩展、声明式入门或遥测流(仅限BIG-IP)。有关这些服务的信息以及示例声明,请访问f5-cloud-docs

  • 注:此角色通过引用的声明来确定使用哪个服务,该声明应包含服务类。 例如,AS3声明将包含一个服务指针,使用键“class”并在json声明文件中值为“AS3” 示例。请确保在声明的开头定义服务指针。

需求

在部署声明之前,必须在BIG-IP或BIG-IQ上安装相应的ATC服务。

角色变量

可用的变量如下所示。有关其默认值,请参见 defaults/main.yml

变量 必需 默认 示例 信息
provider - provider: "{{ provider }}" provider 字典用于本角色中,定义与BIG-IP的连接详细信息,方式与F5模块相同。
atc_method GET atc_method: GET
  • atc_method的可接受值包括[POST,GET]用于所有服务,以及仅限于AS3的[DELETE]。
  • atc_deploy角色当前不支持AS3 PATCH方法。
  • atc_declaration - atc_declaration: "{{ lookup('template', 'decl.json') }}" atc_declaration_fileatc_declaration_url互斥
    atc_declaration_file - atc_declaration_file: "files/decl.json" atc_declarationatc_declaration_url互斥
    atc_declaration_url - atc_declaration_url: "https://testurl/as3.json" atc_declarationatc_declaration_file互斥
    atc_service - atc_service: AS3
  • 如果提供了声明,这将基于有效负载自动选择
  • AS3
  • 设备
  • 遥测
  • atc_delay 30 atc_delay: 30 在检查异步调用是否完成时,重试之间的秒数
    atc_retries 10 atc_retries: 10 角色检查任务完成的次数,如果未完成则失败
    as3_tenant - as3_tenant: Tenant1 从AS3 3.14.0开始,您可以选择使用POST到/declare端点并在URI中指定特定租户(例如 …/declare/tenant1)。这仅更新您指定的租户,即使声明中还有其他租户。这在某些涉及AS3的自动化场景中可能很有用。
    as3_show base as3_show: base 您可以使用以下URL查询参数进行POST、GET或DELETE 必需 base 意味着 系统返回最初部署的声明(但秘密如密码短语已加密),full返回填充所有默认架构属性的声明,expanded包括所有URL、base64和其他引用扩展到其最终静态值。
  • 可接受的值包括:base,full,expanded
  • 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版本。

    依赖

    无。

    示例

    获取AT声明

    - name: 获取AT声明
      hosts: bigip
    
      tasks:
    
        - name: ATC GET
          include_role:
            name: atc_deploy
          vars:
            atc_method: GET
            # 选择服务为AS3、Device或Telemetry
            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
    

    发布AT声明

    - name: 发布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

    作者信息

    该角色由Greg Crosby于2019年创建。

    致谢

    特别感谢Vinnie Mazza (@vinnie357)提供的ansible剧本示例。

    关于项目

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

    安装
    ansible-galaxy install f5devcentral.atc_deploy
    许可证
    apache-2.0
    下载
    21.2k
    拥有者
    Community Supported Repos