f5devcentral.bigip_onboard

bigip-onboarding

Ansible role to automate the setup of a BIG-IP device. This role will handle the following tasks:

  • Set the hostname of the BIG-IP
  • Configure the SSH banner text for BIG-IP
  • Set the NTP servers
  • Set the DNS servers
  • Provision modules (like ASM/AFM) on the BIG-IP
  • Configure VLANs and Self-IPs

Requirements

  • Requires Ansible version 2.6
  • Necessary packages to install:
    • pip install f5-sdk
    • pip install bigsuds
    • pip install netaddr

Role Variables

You can provide the following variables to this role, along with their descriptions:

username: admin                                     // BIG-IP username
password: admin                                     // BIG-IP password

banner_text: "--Welcome to Onboarding BIGIP--"      // Message shown when someone logs into BIG-IP via SSH

hostname: 'ansibleManaged-bigip.local'              // The hostname of the BIG-IP

ntp_servers:                                        // NTP servers for the BIG-IP
 - '172.27.1.1'
 - '172.27.1.2'

dns_servers:                                        // DNS servers for the BIG-IP
 - '8.8.8.8'
 - '4.4.4.4'

dns_search_domains:                                 // DNS search domains for the BIG-IP
 - 'local'
 - 'localhost'

device_license: 'AAAAA-BBBBB-CCCCC-DDDDD-EEEEEEE'   // BIG-IP license key (only set this if you want licensing done)

ip_version: 4                                       // DNS protocol version used

vlan_information:                                   // VLANs for the BIG-IP
 - name: 'External'                                 // Example: VLAN 'External' with tag 10
   tag: '10'                                       // Tag 10 for interface 1.1. If 'tag' is omitted, it will be untagged
   interface: '1.1'                                 
 - name: 'Internal'                                 // Example: VLAN 'Internal' with tag 11 
   tag: '11'                                       // Tag 11 for interface 1.2. If 'tag' is omitted, it will be untagged
   interface: '1.2'

selfip_information:                                 // Self-IPs for the BIG-IP
 - name: 'External-SelfIP'                                        
   address: '10.168.68.5'                                         
   netmask: '255.255.255.0'
   vlan: 'External'
   allow_service: 'default'
 - name: 'Internal-SelfIP'
   address: '192.168.68.5'
   netmask: '255.255.255.0'
   vlan: 'Internal'
   allow_service: 'default'

module_provisioning:                                 // Provisioning modules on the BIG-IP
 - name: 'asm'                                       // Enable ASM module on the BIG-IP
   level: 'nominal'

Example Playbook

- hosts: bigips
  gather_facts: false
  roles:
  - { role: f5devcentral.bigip-onboarding }

Credential Storage

Since this role requires credentials for accessing your BIG-IP, it is recommended to store these in an encrypted Ansible vault file.

Steps to do this:

  • Save your vault password in a file - ~/.vault_pass.txt
  • Run the playbook as follows - ansible-vault encrypt <<variable_filename>> --vault-password-file ~/.vault_pass.txt

For more details, see: Ansible Vault Documentation

Certificate Validation

To ensure the SSL certificates of the BIG-IP REST API are validated:

  • Set validate_certs: true
  • Create a public-private key pair
  • Upload the public key to BIG-IP (more info here)

Licensing

When licensing a BIG-IP, this role will accept the End User License Agreement (EULA) for you. It won't show the EULA, so please read it here.

Credits

More information can be found at: F5Networks GitHub

Informazioni sul progetto

Performs a basic series of on-boarding steps to bootstrap a BIG-IP system to the point that it can accept configuration.

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