Skip to content

Adding Multicast Route-map Source Filter/ Destination Filter on existing BD fails when previous RM values are empty (DCNE-305) #613

Open
@hsbachiri

Description

@hsbachiri

Community Note

Description

• Cannot add a Multicast Route-map Source Filter / Destination Filter on existing BD when previous RM value is empty.
• Failure is not seen when a previous Multicast RM Source/Destination Filter is already configured on the BD.

For instance, these two scenarios are working:
• push playbook with the same RM as the current one configured under the BD.
• Replace an existing Multicast RM Source Filter /destination filter under the BD.

Affected Module Name(s):

mso_schema_template_bd

MSO version and MSO Platform

ND: 3.0.1i
NDO: 4.2(3k) / 4.4.1.1012

APIC version and APIC Platform for Site Level Resources

APIC: 5.3(2c)

Collection versions

cisco.mso 2.9.0

Output/ Error message

FAILED! => {
    "changed": true,
    "current": {
        "arpFlood": true,
        "description": "",
        "dhcpLabels": [],
        "displayName": "BD01-HSM",
        "epMoveDetectMode": "none",
        "intersiteBumTrafficAllow": false,
        "l2Stretch": false,
        "l2UnknownUnicast": "flood",
        "l3MCast": true,
        "mcastRtMapFilter": {
            "mcastRtMapDestRef": "6b698a1a-77e9-487c-a726-d382b8a5b865",
            "mcastRtMapSourceRef": "6b698a1a-77e9-487c-a726-d382b8a5b865"
        },
        "multiDstPktAct": "bd-flood",
        "name": "BD01-HSM",
        "optimizeWanBandwidth": false,
        "subnets": [],
        "tagAnnotations": [],
        "unicastRouting": true,
        "unkMcastAct": "flood",
        "uuid": "062b6fb4-08a9-4554-a0e4-01555437f732",
        "v6unkMcastAct": "flood",
        "vrfRef": {
            "schemaId": "679a3c3fb0a1b7cdc668e489",
            "templateName": "VRF_TMP",
            "vrfName": "VRF01-HSM"
        }
    },
    "data": [
        {
            "op": "replace",
            "path": "/templates/TMP_SITE1/bds/BD01-HSM/vrfRef",
            "value": {
                "schemaId": "679a3c3fb0a1b7cdc668e489",
                "templateName": "VRF_TMP",
                "vrfName": "VRF01-HSM"
            }
        },
        {
            "op": "replace",
            "path": "/templates/TMP_SITE1/bds/BD01-HSM/mcastRtMapFilter",
            "value": {
                "mcastRtMapDestRef": "6b698a1a-77e9-487c-a726-d382b8a5b865",
                "mcastRtMapSourceRef": "6b698a1a-77e9-487c-a726-d382b8a5b865"
            }
        }
    ],
    "info": {
        "body": {
            "code": 400,
            "message": "replace operation does not apply: doc is missing key: /templates/1/bds/0/mcastRtMapFilter: missing value"
        },
        "connection": "close",
        "content-language": "en",
        "content-length": "129",
        "content-type": "application/json",
        "error": {
            "code": -1,
            "message": {
                "code": 400,
                "message": "replace operation does not apply: doc is missing key: /templates/1/bds/0/mcastRtMapFilter: missing value"
            }
        },
        "method": "PATCH",
        "msg": "OK (129 bytes)",
        "server": "nginx",
        "status": 400,
        "strict-transport-security": "max-age=31536000; includeSubDomains",
        "url": "https://***********:443/mso/api/v1/schemas/679a3c3fb0a1b7cdc668e489?validate=false",
        "x-ratelimit-limit": "-1",
        "x-ratelimit-remaining": "-1",
        "x-ratelimit-reset": "1559582945"
    },
    "invocation": {
        "module_args": {
            "arp_flooding": null,
            "bd": "BD01-HSM",
            "description": null,
            "dhcp_policies": null,
            "dhcp_policy": null,
            "display_name": null,
            "host": "************,
            "intersite_bum_traffic": false,
            "ipv6_unknown_multicast_flooding": "flood",
            "layer2_stretch": false,
            "layer2_unknown_unicast": "flood",
            "layer3_multicast": true,
            "login_domain": null,
            "multi_destination_flooding": "flood_in_bd",
            "multicast_route_map_destination_filter": "MCAST_RM_DEV",
            "multicast_route_map_source_filter": "MCAST_RM_DEV",
            "optimize_wan_bandwidth": false,
            "output_level": "normal",
            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "port": null,
            "schema": "User8-schema-HSM",
            "state": "present",
            "subnets": null,
            "template": "TMP_SITE1",
            "timeout": null,
            "unicast_routing": true,
            "unknown_multicast_flooding": "flood",
            "use_proxy": null,
            "use_ssl": null,
            "username": "user8-global",
            "validate_certs": false,
            "virtual_mac_address": null,
            "vrf": {
                "name": "VRF01-HSM",
                "schema": "User8-schema-HSM",
                "template": "VRF_TMP"
            }
        }
    },
    "msg": "MSO Error 400: replace operation does not apply: doc is missing key: /templates/1/bds/0/mcastRtMapFilter: missing value",
    "payload": {
        "code": 400,
        "message": "replace operation does not apply: doc is missing key: /templates/1/bds/0/mcastRtMapFilter: missing value"
    },
    "status": 400
}

Expected Behavior

• Associate/add new Multicast Route-map for Source or Destination Filter under a BD with L3 Multicast enabled.

Actual Behavior

• error at playbook execution

Playbook tasks to Reproduce

---
- name: ===== NDO 4.2(3k) / ND 3.0(1i) Testing =====
  hosts: ndo
  connection: local
  gather_facts: false

  tasks:

    - name: ===== Add Mcst Route-maps association on Bridge Domain  =====
      cisco.mso.mso_schema_template_bd:
        host: "{{ ansible_host }}"
        username: "{{ username }}"
        password: "{{ password }}"
        validate_certs: False
        schema: User8-schema-HSM
        template: TMP_SITE1
        bd: BD01-HSM
        intersite_bum_traffic: false
        optimize_wan_bandwidth: false
        layer2_stretch: false
        layer2_unknown_unicast: flood
        layer3_multicast: true
        multicast_route_map_destination_filter: MCAST_RM_DEV
        multicast_route_map_source_filter: MCAST_RM_DEV
        unknown_multicast_flooding: flood
        multi_destination_flooding: flood_in_bd
        ipv6_unknown_multicast_flooding: flood
        virtual_mac_address:
        unicast_routing: true
        subnets:
        vrf:
          name: VRF01-HSM
          schema: User8-schema-HSM
          template: VRF_TMP
        state: present

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingjira-syncSync this issue to Jira

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions