Forum Discussion

Ichnafi's avatar
Ichnafi
Icon for Cirrostratus rankCirrostratus
Feb 08, 2023
Solved

Modify vCMP-Guest with ansible not possible?

Hello fellow F5ers, I try to build an ansible playbook that performs the following: Get Names of trunk from vCMP-Host ->  got it by using module bigip_device_info Create a new VLAN and add it to ...
  • Ichnafi's avatar
    Ichnafi
    Feb 17, 2023

    Hello Matt_Mabis ,

    thank you for your answer.
    I can confirm, that one can add VLANs to a vcmp-guest like this, but:

    You have to list all the existing vlans next to the new one as well. You can't just add a new one. The module replaces all VLANs of the guest with the ones listed in the "vlans" section of the module.
    I find this rather awkward. To add a VLAN to a guest, without knowing or careing what VLANs were configured previosly you had to:

    1. Use module bigip_device_info to query information about all vCMP-guest on a vCMP-Host
    2. Filter the output by the name of the vCMP-Guest you like to update and get the list of currently configured vlans
    3. append the new vlan to the list
    4. apply the extended list to the guest

     

    vars:
      guest_to_modify: "Guest1"
      vlan_tobe_added: "/Common/fancy-new-vlan"
    
    tasks:
      - name: Get vCMP-Guest Info
        bigip_device_info:
          gather_subset:
            - vcmp-guests
          provider: "{{ bigip_provider }}"
        register: device_info
        delegate_to: localhost
    
      - name: Filter for specific guest and build a list with new vlan
        set_fact:
          list_current_vlans: "{{ device_info.vcmp_guests|selectattr('full_path', 'match', guest_to_modify) | map(attribute='vlans') }}"
          list_with_added_vlan: "{{ list_current_vlans[0] + [vlan_tobe_added] }}"
    
      - name: Add VLAN to vCMP-Guest
        bigip_vcmp_guest:
          name: "{{ guest }}"
          vlans: "{{ list_with_added_vlan }}"          
          provider: "{{ bigip_provider }}"
        delegate_to: localhost

     

     Anyway. I tested it and it worked for me. the abillity to just add a new vlan would be better i guess, but I'll take it.

    Thank you very much!