Documentation

bigip_pool_member - Manages F5 BIG-IP LTM pool members

New in version 1.4.

Synopsis

Manages F5 BIG-IP LTM pool members via iControl SOAP API

Requirements (on host that executes module)

  • bigsuds

Options

parameter required default choices comments
connection_limit
no
    Pool member connection limit. Setting this to 0 disables the limit.
    description
    no
      Pool member description
      host
      yes
        Pool member IP

        aliases: address, name
        monitor_state
        (added in 2.0)
        no
        • enabled
        • disabled
        Set monitor availability status for pool member
        partition
        no Common
          Partition
          password
          yes
            BIG-IP password
            pool
            yes
              Pool name. This pool must exist.
              port
              yes
                Pool member port
                preserve_node
                (added in 2.1)
                no no
                • yes
                • no
                When state is absent and the pool member is no longer referenced in other pools, the default behavior removes the unused node object. Setting this to 'yes' disables this behavior.
                rate_limit
                no
                  Pool member rate limit (connections-per-second). Setting this to 0 disables the limit.
                  ratio
                  no
                    Pool member ratio weight. Valid values range from 1 through 100. New pool members -- unless overriden with this value -- default to 1.
                    server
                    yes
                      BIG-IP host
                      session_state
                      (added in 2.0)
                      no
                      • enabled
                      • disabled
                      Set new session availability status for pool member
                      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 pool member
                            local_action: >
                              bigip_pool_member
                              server=lb.mydomain.com
                              user=admin
                              password=mysecret
                              state=present
                              pool=matthite-pool
                              partition=matthite
                              host="{{ ansible_default_ipv4["address"] }}"
                              port=80
                              description="web server"
                              connection_limit=100
                              rate_limit=50
                              ratio=2
                        
                          - name: Modify pool member ratio and description
                            local_action: >
                              bigip_pool_member
                              server=lb.mydomain.com
                              user=admin
                              password=mysecret
                              state=present
                              pool=matthite-pool
                              partition=matthite
                              host="{{ ansible_default_ipv4["address"] }}"
                              port=80
                              ratio=1
                              description="nginx server"
                        
                          - name: Remove pool member from pool
                            local_action: >
                              bigip_pool_member
                              server=lb.mydomain.com
                              user=admin
                              password=mysecret
                              state=absent
                              pool=matthite-pool
                              partition=matthite
                              host="{{ ansible_default_ipv4["address"] }}"
                              port=80
                        
                        
                          # The BIG-IP GUI doesn't map directly to the API calls for "Pool ->
                          # Members -> 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 pool member offline
                            local_action: >
                              bigip_pool_member
                              server=lb.mydomain.com
                              user=admin
                              password=mysecret
                              state=present
                              session_state=disabled
                              monitor_state=disabled
                              pool=matthite-pool
                              partition=matthite
                              host="{{ ansible_default_ipv4["address"] }}"
                              port=80
                        

                        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

                        Note

                        Supersedes bigip_pool for managing pool members

                        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.