Documentation

bigip_node - Manages F5 BIG-IP LTM nodes

New in version 1.4.

Synopsis

Manages F5 BIG-IP LTM nodes via iControl SOAP API

Requirements (on host that executes module)

  • bigsuds

Options

parameter required default choices comments
description
no
    Node description.
    host
    yes
      Node IP. Required when state=present and node does not exist. Error when state=absent.

      aliases: address, ip
      monitor_state
      (added in 1.9)
      no
      • enabled
      • disabled
      Set monitor availability status for node
      name
      no
        Node name
        partition
        no Common
          Partition
          password
          yes
            BIG-IP password
            server
            yes
              BIG-IP host
              session_state
              (added in 1.9)
              no
              • enabled
              • disabled
              Set new session availability status for node
              state
              yes present
              • present
              • absent
              Pool member state
              user
              yes
                BIG-IP username
                validate_certs
                (added in 2.0)
                no yes
                • yes
                • no
                If no, SSL certificates will not be validated. This should only be used on personally controlled sites. Prior to 2.0, this module would always validate on python >= 2.7.9 and never validate on python <= 2.7.8

                Examples

                ## playbook task examples:
                
                ---
                # file bigip-test.yml
                # ...
                - hosts: bigip-test
                  tasks:
                  - name: Add node
                    local_action: >
                      bigip_node
                      server=lb.mydomain.com
                      user=admin
                      password=mysecret
                      state=present
                      partition=matthite
                      host="{{ ansible_default_ipv4["address"] }}"
                      name="{{ ansible_default_ipv4["address"] }}"
                
                # Note that the BIG-IP automatically names the node using the
                # IP address specified in previous play's host parameter.
                # Future plays referencing this node no longer use the host
                # parameter but instead use the name parameter.
                # Alternatively, you could have specified a name with the
                # name parameter when state=present.
                
                  - name: Modify node description
                    local_action: >
                      bigip_node
                      server=lb.mydomain.com
                      user=admin
                      password=mysecret
                      state=present
                      partition=matthite
                      name="{{ ansible_default_ipv4["address"] }}"
                      description="Our best server yet"
                
                  - name: Delete node
                    local_action: >
                      bigip_node
                      server=lb.mydomain.com
                      user=admin
                      password=mysecret
                      state=absent
                      partition=matthite
                      name="{{ ansible_default_ipv4["address"] }}"
                
                # The BIG-IP GUI doesn't map directly to the API calls for "Node ->
                # General Properties -> State". The following states map to API monitor
                # and session states.
                #
                # Enabled (all traffic allowed):
                # monitor_state=enabled, session_state=enabled
                # Disabled (only persistent or active connections allowed):
                # monitor_state=enabled, session_state=disabled
                # Forced offline (only active connections allowed):
                # monitor_state=disabled, session_state=disabled
                #
                # See https://devcentral.f5.com/questions/icontrol-equivalent-call-for-b-node-down
                
                  - name: Force node offline
                    local_action: >
                      bigip_node
                      server=lb.mydomain.com
                      user=admin
                      password=mysecret
                      state=present
                      session_state=disabled
                      monitor_state=disabled
                      partition=matthite
                      name="{{ ansible_default_ipv4["address"] }}"
                

                Notes

                Note

                Requires BIG-IP software version >= 11

                Note

                F5 developed module ‘bigsuds’ required (see http://devcentral.f5.com)

                Note

                Best run as a local_action in your playbook

                This is an Extras Module

                For more information on what this means please read Extras Modules

                For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.