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 virual MAC configurarion on a Bridge domain fails when vMAC is empty (DCNE-94) #496

Open
sauguieb opened this issue Jul 19, 2024 · 1 comment
Assignees
Labels
bug Something isn't working jira-sync Sync this issue to Jira

Comments

@sauguieb
Copy link

Community Note

Description

  • cannot add a vMAC on BD.

  • playbook fails at execution when a vMAC is configured on an existing BD or the playbook creates a BD with a vMAC

  • failure is not seen when a vMAC is already configured on BD.

  • For instance, these two scenario are working:

  • push playbook with the same vMAC as the current one.
  • replace an existing vMAC.

Affected Module Name(s):

  • cisco.mso.mso_schema_template_bd

MSO version and MSO Platform

ND: 3.0.1i
NDO: 4.2.3k

APIC version and APIC Platform for Site Level Resources

APIC: 5.3.2c

Collection versions

  • cisco.mso 2.8

Output/ Error message

FAILED! => {
"changed": true,
"current": {
"arpFlood": true,
"description": "",
"dhcpLabels": [],
"displayName": "BD-Stretched",
"epMoveDetectMode": "none",
"intersiteBumTrafficAllow": true,
"l2Stretch": true,
"l2UnknownUnicast": "flood",
"l3MCast": false,
"multiDstPktAct": "bd-flood",
"name": "BD-Stretched",
"optimizeWanBandwidth": false,
"subnets": [
{
"description": "192.168.150.254/24",
"ip": "192.168.150.254/24",
"noDefaultGateway": false,
"primary": true,
"querier": false,
"scope": "private",
"shared": false,
"virtual": true
}
],
"tagAnnotations": [],
"unicastRouting": true,
"unkMcastAct": "flood",
"uuid": "13442d07-9575-45a0-b38e-2522a4439771",
"v6unkMcastAct": "flood",
"vmac": "00:00:5E:00:01:3C",
"vrfRef": {
"schemaId": "6698f68cce0aa10f3be3ef6d",
"templateName": "VRF_TEMPLATE",
"vrfName": "VRF01"
}
},
"data": [
{
"op": "replace",
"path": "/templates/DC_ALL/bds/BD-Stretched/vrfRef",
"value": {
"schemaId": "6698f68cce0aa10f3be3ef6d",
"templateName": "VRF_TEMPLATE",
"vrfName": "VRF01"
}
},
{
"op": "replace",
"path": "/templates/DC_ALL/bds/BD-Stretched/vmac",
"value": "00:00:5E:00:01:3C"
}
],
"info": {
"body": {
"code": 400,
"info": null,
"message": "replace operation does not apply: doc is missing key: /templates/3/bds/0/vmac: missing value"
},
"connection": "close",
"content-language": "en",
"content-length": "129",
"content-type": "application/json",
"error": {
"code": -1,
"message": {
"code": 400,
"info": null,
"message": "replace operation does not apply: doc is missing key: /templates/3/bds/0/vmac: missing value"
}
},
"method": "PATCH",
"msg": "OK (129 bytes)",
"server": "nginx",
"status": 400,
"strict-transport-security": "max-age=31536000; includeSubDomains",
"url": "https://10.48.187.200:443/mso/api/v1/schemas/6698f68cce0aa10f3be3ef6d?validate=false",
"x-ratelimit-limit": "-1",
"x-ratelimit-remaining": "-1",
"x-ratelimit-reset": "1559582945"
},
"invocation": {
"module_args": {
"arp_flooding": null,
"bd": "BD-Stretched",
"description": null,
"dhcp_policies": null,
"dhcp_policy": null,
"display_name": null,
"host": "10.48.187.200",
"intersite_bum_traffic": true,
"ipv6_unknown_multicast_flooding": "flood",
"layer2_stretch": true,
"layer2_unknown_unicast": "flood",
"layer3_multicast": false,
"login_domain": null,
"multi_destination_flooding": "flood_in_bd",
"multicast_route_map_destination_filter": null,
"multicast_route_map_source_filter": null,
"optimize_wan_bandwidth": false,
"output_level": "normal",
"password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"port": null,
"schema": "HSM_TN_NDO_423K_VRF",
"state": "present",
"subnets": [
{
"description": "192.168.150.254/24",
"ip": "192.168.150.254/24",
"no_default_gateway": false,
"primary": true,
"querier": false,
"scope": "private",
"shared": false,
"subnet": "192.168.150.254/24",
"virtual": true
}
],
"template": "DC_ALL",
"timeout": null,
"unicast_routing": true,
"unknown_multicast_flooding": "flood",
"use_proxy": null,
"use_ssl": null,
"username": "admin",
"validate_certs": false,
"virtual_mac_address": "00:00:5E:00:01:3C",
"vrf": {
"name": "VRF01",
"schema": "HSM_TN_NDO_423K_VRF",
"template": "VRF_TEMPLATE"
}
}
},
"msg": "MSO Error 400: replace operation does not apply: doc is missing key: /templates/3/bds/0/vmac: missing value",
"payload": {
"code": 400,
"info": null,
"message": "replace operation does not apply: doc is missing key: /templates/3/bds/0/vmac: missing value"
},
"status": 400
}

Expected Behavior

  • vMAC configured on BD

Actual Behavior

  • error at playbook execution

Playbook tasks to Reproduce

(ansible-ndo) :~/ansible-ndo/ndo-playbooks$ cat 0002_add_bd_vmac_config.yml

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

    tasks:

    • name: ===== Add vmac configuration under the BD =====
      cisco.mso.mso_schema_template_bd:
      host: "{{ ansible_host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      validate_certs: False
      schema: HSM_TN_NDO_423K_VRF
      template: DC_ALL
      bd: BD-Stretched
      intersite_bum_traffic: true
      optimize_wan_bandwidth: false
      layer2_stretch: true
      layer2_unknown_unicast: flood
      layer3_multicast: false
      unknown_multicast_flooding: flood
      multi_destination_flooding: flood_in_bd
      ipv6_unknown_multicast_flooding: flood
      virtual_mac_address: 00:00:5E:00:01:3C
      unicast_routing: true
      subnets:
      • subnet: 192.168.150.254/24
        primary: true
        virtual: true
        vrf:
        name: VRF01
        schema: HSM_TN_NDO_423K_VRF
        template: VRF_TEMPLATE
        state: present

Important Factoids

References

  • #0000
@sauguieb sauguieb added the bug Something isn't working label Jul 19, 2024
@sauguieb sauguieb changed the title Adding virual MAC configurarion on a Bridge domain ( issue is seen when previous value configured on the BD is empty failure Adding virual MAC configurarion on a Bridge domain failure Jul 19, 2024
@sauguieb sauguieb changed the title Adding virual MAC configurarion on a Bridge domain failure Adding virual MAC configurarion on a Bridge domain fails when vMAC is empty Jul 19, 2024
@akinross
Copy link
Collaborator

Suspect that the VAC is not initialised by NDO on the create via ansible when VMAC is not provided, thus the entry is not present in NDO. Replace operation will fail because the attribute cannot be replaced because it does not exist. Likely needs to be raised as bug to NDO.

@samiib samiib added the jira-sync Sync this issue to Jira label Aug 14, 2024
@github-actions github-actions bot changed the title Adding virual MAC configurarion on a Bridge domain fails when vMAC is empty Adding virual MAC configurarion on a Bridge domain fails when vMAC is empty (DCNE-94) Aug 14, 2024
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

3 participants