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 Mulicast Route-map policy configuration on existing RP (Rendezvous Point) fails when previous RM is empty (DCNE-304) #612

Open
hsbachiri opened this issue Feb 20, 2025 · 2 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 policy on existing RP when previous value is empty.
• Failure is not seen when a RM is already associated to the RP.

For instance, these two scenarios are working:
• push playbook with the same RM as the current one configured under the RP.
• replace an existing Multicast RM-Policy under the RP.

Affected Module Name(s):

• mso_schema_template_vrf_rp

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": {
        "ipAddress": "1.1.1.1",
        "mcastRtMapPolicyRef": "3a67e754-cfbc-4932-89a8-4be2ecc68299",
        "rpType": "static",
        "version": 0
    },
    "data": [
        {
            "op": "replace",
            "path": "/templates/VRF_TMP/vrfs/VRF01-HSM/rpConfigs/0/mcastRtMapPolicyRef",
            "value": "3a67e754-cfbc-4932-89a8-4be2ecc68299"
        }
    ],
    "info": {
        "body": {
            "code": 400,
            "message": "replace operation does not apply: doc is missing key: /templates/0/vrfs/0/rpConfigs/0/mcastRtMapPolicyRef: missing value"
        },
        "connection": "close",
        "content-language": "en",
        "content-length": "145",
        "content-type": "application/json",
        "error": {
            "code": -1,
            "message": {
                "code": 400,
                "message": "replace operation does not apply: doc is missing key: /templates/0/vrfs/0/rpConfigs/0/mcastRtMapPolicyRef: missing value"
            }
        },
        "method": "PATCH",
        "msg": "OK (145 bytes)",
        "server": "nginx",
        "status": 400,
        "strict-transport-security": "max-age=31536000; includeSubDomains",
        "url": [https://***********:443/mso/api/v1/schemas/679a3c3fb0a1b7cdc668e489?validate=false](https://***********/mso/api/v1/schemas/679a3c3fb0a1b7cdc668e489?validate=false),
        "x-ratelimit-limit": "-1",
        "x-ratelimit-remaining": "-1",
        "x-ratelimit-reset": "1559582945"
    },
    "invocation": {
        "module_args": {
            "host": "**************",
            "ip": "1.1.1.1",
            "login_domain": null,
            "multicast_route_map_policy": "MCAST_RM_FILTER_MAN_RP",
            "output_level": "normal",
            "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "port": null,
            "schema": "User8-schema-HSM",
            "state": "present",
            "template": "VRF_TMP",
            "timeout": null,
            "type": "static",
            "use_proxy": null,
            "use_ssl": null,
            "username": "user8-global",
            "validate_certs": false,
            "vrf": "VRF01-HSM"
        }
    },
    "msg": "MSO Error 400: replace operation does not apply: doc is missing key: /templates/0/vrfs/0/rpConfigs/0/mcastRtMapPolicyRef: missing value",
    "payload": {
        "code": 400,
        "message": "replace operation does not apply: doc is missing key: /templates/0/vrfs/0/rpConfigs/0/mcastRtMapPolicyRef: missing value"
    },
    "status": 400
}

Expected Behavior

• Associate/add new Multicast Route-map Policy on existing RP

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 Multicast RM Policy on existing Static RP =====
      cisco.mso.mso_schema_template_vrf_rp:
        host: "{{ ansible_host }}"
        username: "{{ username }}"
        password: "{{ password }}"
        validate_certs: False
        schema: User8-schema-HSM
        template: VRF_TMP
        vrf: VRF01-HSM
        ip: 1.1.1.1
        type: static
        multicast_route_map_policy: MCAST_RM_FILTER_MAN_RP
        state: present

    - name: ===== Add Multicast RM Policy on existing Fabric RP =====
      cisco.mso.mso_schema_template_vrf_rp:
        host: "{{ ansible_host }}"
        username: "{{ username }}"
        password: "{{ password }}"
        validate_certs: False
        schema: User8-schema-HSM
        template: VRF_TMP
        vrf: VRF01-HSM
        ip: 10.99.99.99
        type: fabric
        multicast_route_map_policy: MCAST_RM_FILTER_FABRIC_RP
        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 Mulicast Route-map policy configuration on existing RP (Rendezvous Point) fails when previous RM is empty Adding Mulicast Route-map policy configuration on existing RP (Rendezvous Point) fails when previous RM is empty (DCNE-304) Feb 20, 2025
@akinross
Copy link
Collaborator

akinross commented Feb 20, 2025

Hi @hsbachiri,

I have added the issues (also #613) to our backlog.

Based on your explanation I suspect this behaviour is due to a bug in NDO. We saw similar issue here: #496. This is related to PATCH implementation on NDO, for which they are working on a fix. I will try to have a look tomorrow to see the progress on this bug and validate whether this issue is indeed related.

@akinross
Copy link
Collaborator

Hi @hsbachiri,

I have ran some tests and indeed this matches the behaviour as I suspected, I have raised this internally and will update you once I know more.

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