Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
hsbachiri opened this issue Feb 20, 2025 · 0 comments
Labels
bug Something isn't working jira-sync Sync this issue to Jira

Comments

@hsbachiri
Copy link

hsbachiri commented Feb 20, 2025

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
@hsbachiri hsbachiri added the bug Something isn't working label Feb 20, 2025
@akinross akinross added the jira-sync Sync this issue to Jira label Feb 20, 2025
@github-actions github-actions bot changed the title Adding Multicast Route-map Source Filter/ Destination Filter on existing BD fails when previous RM values are empty Adding Multicast Route-map Source Filter/ Destination Filter on existing BD fails when previous RM values are empty (DCNE-305) Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working jira-sync Sync this issue to Jira
Projects
None yet
Development

No branches or pull requests

2 participants