cancel
Showing results for 
Search instead for 
Did you mean: 

ansible - bigip_pool_member: cannot add pool member from "Common" to pool "Test"

xbalaji
Nimbostratus
Nimbostratus

Hi

 

I'm running into an issue when I create pool member in /Common and create a pool in /Test, I'm unable to add the pool members to the pool using ansible bigip_pool_member.

 

playbook

# # Filename    : pooltest.yaml # Date        : 20 Jul 2020 # Author      : Balaji Venkataraman (xbalaji) # Description : playbook to configure bigip pool with members in different partition - name: create bigip_pool and add members to it   hosts: all   connection: local   gather_facts: False   vars:     remove_resources: false     lx_pool_name: "xbltmpool"     lx_provider:       server: "{{inventory_hostname}}"       user: "{{f5_username}}"       password: "{{f5_password}}"       validate_certs: False       timeout: 30     pool_members:       - "{{lx_pool_name}}-member-01.company.com"       - "{{lx_pool_name}}-member-02.company.com"   tasks:     - name: set create or delete flag       delegate_to: localhost       set_fact:         lx_state: "{% if remove_resources|lower == 'true' %}absent{% else %}present{% endif %}"         lx_action: "{% if remove_resources|lower == 'true' %}delete{% else %}create{% endif %}"     - name: "{{lx_action}} pool members"       delegate_to: localhost       bigip_node:         name: "{{item}}"         fqdn: "{{item}}"         state: "{{lx_state}}"         provider: "{{lx_provider}}"         partition: "/Common"         description: "ansible created LTM node - xbalaji"       loop: "{{pool_members|flatten(1)}}"     - name: "{{lx_action}} the pool"       delegate_to: localhost       bigip_pool:         state: "{{lx_state}}"         name: "{{lx_pool_name}}"         partition: "/Test"         lb_method: "round-robin"         monitors:           - "/Common/http"         provider: "{{lx_provider}}"     - name: "{{lx_action}} pool members to {{lx_pool_name}} "       delegate_to: localhost       bigip_pool_member:         state: "{{lx_state}}"         pool: "{{lx_pool_name}}"         partition: "/Test"         name: "{{item}}"         fqdn: "{{item}}"         port: "80"         fqdn_auto_populate: "no"         preserve_node: "yes"         reuse_nodes: "yes"         provider: "{{lx_provider}}"       loop: "{{pool_members|flatten(1)}}"

 

output:

PLAY [create bigip_pool and add members to it] ********************************************************************************************************************** TASK [set create or delete flag] ************************************************************************************************************************************ ok: [f5adcfxioc01-apidev.net.pge.com] TASK [create pool members] ****************************************************************************************************************************************** changed: [f5adcfxioc01-apidev.net.pge.com] => (item=xbltmpool-member-01.company.com) changed: [f5adcfxioc01-apidev.net.pge.com] => (item=xbltmpool-member-02.company.com) TASK [create the pool] ********************************************************************************************************************************************** changed: [f5adcfxioc01-apidev.net.pge.com] TASK [create pool members to xbltmpool] ***************************************************************************************************************************** failed: [f5adcfxioc01-apidev.net.pge.com] (item=xbltmpool-member-01.company.com) => {"ansible_loop_var": "item", "changed": false, "item": "xbltmpool-member-01.company.com", "msg": "01070734:3: Configuration error: FQDN Node (/Test/xbltmpool-member-01.company.com:xbltmpool-member-01.company.com) already exists as Node (/Common/xbltmpool-member-01.company.com)"} failed: [f5adcfxioc01-apidev.net.pge.com] (item=xbltmpool-member-02.company.com) => {"ansible_loop_var": "item", "changed": false, "item": "xbltmpool-member-02.company.com", "msg": "01070734:3: Configuration error: FQDN Node (/Test/xbltmpool-member-02.company.com:xbltmpool-member-02.company.com) already exists as Node (/Common/xbltmpool-member-02.company.com)"} PLAY RECAP ********************************************************************************************************************************************************** f5adcfxioc01-apidev.net.pge.com : ok=3    changed=2    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

seeing the following error, can someone let me know if there is anything that needs to be changed or is this a known problem.

 

Thanks and Regards,

Balaji

 

 

 

1 ACCEPTED SOLUTION

xbalaji
Nimbostratus
Nimbostratus

  thanks for your reply on slack channel, here is the working playbook for anyone's future reference.

 

# # Filename : pooltest.yaml # Author : Balaji Venkataraman (xbalaji) # Description : playbook to configure bigip pool with members in different partition     - name: create bigip_pool and add members to it hosts: all connection: local gather_facts: False vars: remove_resources: false lx_pool_name: "xbltmpool" lx_provider: server: "{{inventory_hostname}}" user: "{{f5_username}}" password: "{{f5_password}}" validate_certs: False timeout: 30 pool_members: - "{{lx_pool_name}}-member-01.company.com" - "{{lx_pool_name}}-member-02.company.com"   tasks: - name: set create or delete flag delegate_to: localhost set_fact: lx_state: "{% if remove_resources|lower == 'true' %}absent{% else %}present{% endif %}" lx_action: "{% if remove_resources|lower == 'true' %}delete{% else %}create{% endif %}"   - name: "{{lx_action}} pool members" delegate_to: localhost bigip_node: name: "{{item}}" fqdn: "{{item}}" state: "{{lx_state}}" provider: "{{lx_provider}}" partition: "/Common" description: "ansible created LTM node - xbalaji" loop: "{{pool_members|flatten(1)}}"   - name: "{{lx_action}} the pool" delegate_to: localhost bigip_pool: state: "{{lx_state}}" name: "{{lx_pool_name}}" partition: "/Test" lb_method: "round-robin" monitors: - "/Common/http" provider: "{{lx_provider}}"   - name: "{{lx_action}} pool members to {{lx_pool_name}} " delegate_to: localhost bigip_pool_member: state: "{{lx_state}}" pool: "/Test/{{lx_pool_name}}" name: "/Common/{{item}}" fqdn: "{{item}}" port: "80" fqdn_auto_populate: "no" preserve_node: "yes" reuse_nodes: "yes" provider: "{{lx_provider}}" loop: "{{pool_members|flatten(1)}}"

 

View solution in original post

1 REPLY 1

xbalaji
Nimbostratus
Nimbostratus

  thanks for your reply on slack channel, here is the working playbook for anyone's future reference.

 

# # Filename : pooltest.yaml # Author : Balaji Venkataraman (xbalaji) # Description : playbook to configure bigip pool with members in different partition     - name: create bigip_pool and add members to it hosts: all connection: local gather_facts: False vars: remove_resources: false lx_pool_name: "xbltmpool" lx_provider: server: "{{inventory_hostname}}" user: "{{f5_username}}" password: "{{f5_password}}" validate_certs: False timeout: 30 pool_members: - "{{lx_pool_name}}-member-01.company.com" - "{{lx_pool_name}}-member-02.company.com"   tasks: - name: set create or delete flag delegate_to: localhost set_fact: lx_state: "{% if remove_resources|lower == 'true' %}absent{% else %}present{% endif %}" lx_action: "{% if remove_resources|lower == 'true' %}delete{% else %}create{% endif %}"   - name: "{{lx_action}} pool members" delegate_to: localhost bigip_node: name: "{{item}}" fqdn: "{{item}}" state: "{{lx_state}}" provider: "{{lx_provider}}" partition: "/Common" description: "ansible created LTM node - xbalaji" loop: "{{pool_members|flatten(1)}}"   - name: "{{lx_action}} the pool" delegate_to: localhost bigip_pool: state: "{{lx_state}}" name: "{{lx_pool_name}}" partition: "/Test" lb_method: "round-robin" monitors: - "/Common/http" provider: "{{lx_provider}}"   - name: "{{lx_action}} pool members to {{lx_pool_name}} " delegate_to: localhost bigip_pool_member: state: "{{lx_state}}" pool: "/Test/{{lx_pool_name}}" name: "/Common/{{item}}" fqdn: "{{item}}" port: "80" fqdn_auto_populate: "no" preserve_node: "yes" reuse_nodes: "yes" provider: "{{lx_provider}}" loop: "{{pool_members|flatten(1)}}"