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

MSD Support #182

Open
mikewiebe opened this issue Sep 4, 2024 · 0 comments
Open

MSD Support #182

mikewiebe opened this issue Sep 4, 2024 · 0 comments

Comments

@mikewiebe
Copy link
Collaborator

mikewiebe commented Sep 4, 2024

Summary

This issue captures the work required to add support for MSD.

  • Define Data Model Schema for ISN Fabric
  • Define Data Model Schema for MSD Fabric
  • Need support to create MSD and ISN fabric types
  • Need support to add ISN devices to ISN Fabric and set role to core router
  • Need support to add child fabrics under MSD fabric
  • Need support for recalc and/or deploy for ISN/MSD fabrics
  • Need support for adding VRF and Networks under MSD fabric.

ISN Fabric Details

An ISN fabric is needed as part of the overall MSD support. The following captures data points related to creating an ISN fabric type in NDFC.

Payload for creating an ISN fabric. Once the dcnm_fabric module supports this the following parameters should be used.

PR to add this support in the NDFC collection: CiscoDevNet/ansible-dcnm#322

Request URL:
https://10.3.0.38/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics
Request Method:
POST
Status Code:
200 OK
Remote Address:
10.3.0.38:443
Referrer Policy:
strict-origin-when-cross-origin
{
  "fabricName": "ISN",
  "templateName": "External_Fabric",
  "nvPairs": {
    "FABRIC_NAME": "ISN",
    "BGP_AS": "65444",
    "PM_ENABLE": "false",
    "EXT_FABRIC_TYPE": "External Connectivity Network",
    "PM_ENABLE_PREV": "false",
    "INBAND_MGMT_PREV": "false",
    "FEATURE_PTP_INTERNAL": "false",
    "DEPLOYMENT_FREEZE": "false",
    "LOOPBACK0_IP_RANGE": "10.1.0.0/22",
    "FABRIC_TYPE": "External",
    "FF": "External",
    "MSO_SITE_ID": "",
    "MSO_CONTROLER_ID": "",
    "MSO_SITE_GROUP_NAME": "",
    "PREMSO_PARENT_FABRIC": "",
    "MSO_CONNECTIVITY_DEPLOYED": "",
    "INBAND_ENABLE_PREV": "false",
    "DCI_SUBNET_RANGE": "10.10.1.0/24",
    "DCI_SUBNET_TARGET_MASK": "30",
    "ENABLE_NETFLOW_PREV": "",
    "ALLOW_NXC": "true",
    "ALLOW_NXC_PREV": "",
    "OVERWRITE_GLOBAL_NXC": "false",
    "NXC_DEST_VRF": "management",
    "NXC_SRC_INTF": "",
    "NXC_PROXY_SERVER": "",
    "NXC_PROXY_PORT": "8080",
    "DHCP_START_INTERNAL": "",
    "DHCP_END_INTERNAL": "",
    "MGMT_GW_INTERNAL": "",
    "MGMT_PREFIX_INTERNAL": "",
    "BOOTSTRAP_MULTISUBNET_INTERNAL": "",
    "MGMT_V6PREFIX_INTERNAL": "",
    "DHCP_IPV6_ENABLE_INTERNAL": "",
    "DOMAIN_NAME_INTERNAL": "",
    "PNP_ENABLE_INTERNAL": "",
    "POWER_REDUNDANCY_MODE": "ps-redundant",
    "MPLS_HANDOFF": "false",
    "MPLS_LB_ID": "",
    "AAA_REMOTE_IP_ENABLED": "false",
    "SNMP_SERVER_HOST_TRAP": "true",
    "CDP_ENABLE": "false",
    "ENABLE_NXAPI": "false",
    "NXAPI_HTTPS_PORT": "",
    "ENABLE_NXAPI_HTTP": false,
    "NXAPI_HTTP_PORT": "",
    "INBAND_MGMT": "false",
    "FEATURE_PTP": "false",
    "PTP_LB_ID": "",
    "PTP_DOMAIN_ID": "",
    "FABRIC_FREEFORM": "",
    "AAA_SERVER_CONF": "",
    "SUBINTERFACE_RANGE": "2-511",
    "MPLS_LOOPBACK_IP_RANGE": "",
    "enableRealTimeBackup": "",
    "enableScheduledBackup": "",
    "scheduledTime": "",
    "INBAND_ENABLE": false,
    "DHCP_ENABLE": false,
    "PNP_ENABLE": false,
    "DHCP_IPV6_ENABLE": "",
    "DOMAIN_NAME": "",
    "DHCP_START": "",
    "DHCP_END": "",
    "MGMT_GW": "",
    "MGMT_PREFIX": "",
    "MGMT_V6PREFIX": "",
    "ENABLE_AAA": false,
    "BOOTSTRAP_CONF": "",
    "BOOTSTRAP_MULTISUBNET": "",
    "ENABLE_NETFLOW": "false",
    "NETFLOW_EXPORTER_LIST": "",
    "NETFLOW_RECORD_LIST": "",
    "NETFLOW_MONITOR_LIST": "",
    "NETFLOW_SAMPLER_LIST": "",
    "IS_READ_ONLY": false,
    "BOOTSTRAP_ENABLE": "false"
  }
}

MSD Fabric Details

The dcnm_fabric module already has support for MSD but we need to test it

Parameters used to create MSD fabric

{
  "fabricName": "MSD",
  "templateName": "MSD_Fabric",
  "nvPairs": {
    "FABRIC_NAME": "MSD",
    "L2_SEGMENT_ID_RANGE": "30000-49000",
    "L3_PARTITION_ID_RANGE": "50000-59000",
    "default_vrf": "Default_VRF_Universal",
    "default_network": "Default_Network_Universal",
    "vrf_extension_template": "Default_VRF_Extension_Universal",
    "network_extension_template": "Default_Network_Extension_Universal",
    "ENABLE_PVLAN": "false",
    "default_pvlan_sec_network": "",
    "ANYCAST_GW_MAC": "2020.0000.00aa",
    "MS_LOOPBACK_ID": "100",
    "BGW_ROUTING_TAG": "54321",
    "TOR_AUTO_DEPLOY": "false",
    "ENABLE_PVLAN_PREV": "",
    "FABRIC_TYPE": "MFD",
    "EXT_FABRIC_TYPE": "",
    "FF": "MSD",
    "MSO_CONTROLER_ID": "",
    "MSO_SITE_GROUP_NAME": "",
    "PREMSO_PARENT_FABRIC": "",
    "DCNM_ID": "",
    "MS_IFC_BGP_PASSWORD_ENABLE_PREV": "",
    "MS_IFC_BGP_AUTH_KEY_TYPE_PREV": "",
    "MS_IFC_BGP_PASSWORD_PREV": "",
    "BGW_ROUTING_TAG_PREV": "54321",
    "BORDER_GWY_CONNECTIONS": "Direct_To_BGWS",
    "RP_SERVER_IP": "",
    "BGP_RP_ASN": "",
    "ENABLE_RS_REDIST_DIRECT": false,
    "RS_ROUTING_TAG": "",
    "MS_UNDERLAY_AUTOCONFIG": true,
    "DELAY_RESTORE": "300",
    "CLOUDSEC_AUTOCONFIG": "false",
    "CLOUDSEC_KEY_STRING": "",
    "CLOUDSEC_ALGORITHM": "",
    "CLOUDSEC_ENFORCEMENT": "",
    "CLOUDSEC_REPORT_TIMER": "",
    "MS_IFC_BGP_PASSWORD_ENABLE": "false",
    "MS_IFC_BGP_PASSWORD": "",
    "MS_IFC_BGP_AUTH_KEY_TYPE": "",
    "LOOPBACK100_IP_RANGE": "10.10.0.0/24",
    "DCI_SUBNET_RANGE": "10.10.1.0/24",
    "DCI_SUBNET_TARGET_MASK": "30",
    "enableScheduledBackup": "",
    "scheduledTime": "",
    "ENABLE_BGP_SEND_COMM": "false",
    "ENABLE_BGP_LOG_NEIGHBOR_CHANGE": "false",
    "ENABLE_BGP_BFD": "false"
  }
}

Add child fabric to MSD fabric

Request URL:
https://10.3.0.38/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/msdAdd
Request Method:
POST
Status Code:
200 OK
Remote Address:
10.3.0.38:443
Referrer Policy:
strict-origin-when-cross-origin

Payload: (This is for 3 different sites

{"destFabric":"MSD","sourceFabric":"Site1"}
{"destFabric":"MSD","sourceFabric":"Site2"}
{"destFabric":"MSD","sourceFabric":"ISN"}

Query Fabrics

Request URL:
https://10.3.0.38/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics
Request Method:
GET
Status Code:
200 OK
Remote Address:
10.3.0.38:443
Referrer Policy:
strict-origin-when-cross-origin

Query Fabric Associations

Request URL:
https://10.3.0.38/appcenter/cisco/ndfc/api/v1/lan-fabric/rest/control/fabrics/msd/fabric-associations/
Request Method:
GET
Status Code:
200 OK
Remote Address:
10.3.0.38:443
Referrer Policy:
strict-origin-when-cross-origin

Adding VRFs and Networks

  • Must be added to the MSD fabric
  • When added using deploy: false (based on my testing) the recalculate and deploy must be done on the child fabrics
@mikewiebe mikewiebe changed the title Create ISN Fabric MSD Support Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant