Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f56435e
updates for using vrf module solely for msd-level vrf mgmt
mtarking Oct 9, 2025
8ca69f2
updates for using network module for msd-level network mgmt
mtarking Oct 9, 2025
02c5701
clean up comment and store orig j2 for now
mtarking Oct 9, 2025
c419215
clean up comment and store orig j2 for now
mtarking Oct 9, 2025
03c0397
merge develop
mtarking Oct 17, 2025
eae7c6d
remove comment
mtarking Oct 17, 2025
7904c78
Merge branch 'develop' into msd_network_refactor
mtarking Oct 17, 2025
9000ae3
Merge branch 'develop' into msd_vrf_refactor
mikewiebe Oct 17, 2025
22abf54
Merge branch 'develop' into msd_network_refactor
mikewiebe Oct 17, 2025
cca1620
Merge branch 'develop' into msd_vrf_refactor
mtarking Oct 28, 2025
a7c995a
Merge branch 'msd_vrf_refactor' of github.com:netascode/ansible-dc-vx…
mtarking Oct 28, 2025
d85b8f5
Merge branch 'develop' into msd_network_refactor
mtarking Oct 28, 2025
6cb3521
Merge branch 'develop' into msd_vrf_refactor
mikewiebe Nov 3, 2025
959dba1
VRF (MSD) Base Module and Action Plugin Support (#659)
AKDRG Nov 3, 2025
b2b4478
Fixup local and incomming changes
mikewiebe Nov 3, 2025
2218277
remove extra space
mtarking Nov 4, 2025
5a3e3bf
deploy manager updates
mikewiebe Nov 4, 2025
0fb858c
remove epdb
mikewiebe Nov 4, 2025
40b7b37
Merge branch 'msd_network_refactor' into msd_vrf_refactor
mtarking Nov 5, 2025
ef9acb3
msite overlay defaults
mtarking Nov 5, 2025
b9fef75
Fix missing newline at end of fabric_deploy_manager.py
mtarking Nov 7, 2025
cd8d92e
Remove commented-out code and extra whitespace
mtarking Nov 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 66 additions & 5 deletions plugins/action/dtc/fabric_deploy_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,76 @@ def run(self, tmp=None, task_vars=None):
results['failed'] = False

params = {}
# Module Execution Context Parameters
params['task_vars'] = task_vars
params['tmp'] = tmp
params['action_module'] = self

params['fabric_name'] = self._task.args["fabric_name"]
params['fabric_type'] = self._task.args["fabric_type"]
params['operation'] = self._task.args.get("operation")

# Manage Deployment For Multisite or Standalone Fabric
results = self.manage_fabrics(results, params)
if results.get('failed'):
return results

params['child_fabric_vrf_data'] = self._task.args.get("child_fabric_vrf_data", {})

return results
# for key in ['fabric_type', 'fabric_name', 'operation']:
# if params[key] is None:
# results['failed'] = True
# results['msg'] = f"Missing required parameter '{key}'"
# return results

# if params['operation'] not in ['all', 'config_save', 'config_deploy', 'check_sync']:
# results['failed'] = True
# results['msg'] = "Parameter 'operation' must be one of: [all, config_save, config_deploy, check_sync]"
# return results

# fabric_manager = FabricDeployManager(params)

# # Workflows
# if params['operation'] in ['all']:
# fabric_manager.fabric_config_save()
# fabric_manager.fabric_deploy()
# fabric_manager.fabric_check_sync()

# if not fabric_manager.fabric_in_sync and params['fabric_type'] != 'MSD':
# # If the fabric is out of sync after deployment try one more time before giving up
# fabric_manager.fabric_history_get()
# display.warning(fabric_manager.fabric_history)
# display.warning("Fabric is out of sync after initial deployment. Attempting one more deployment.")
# fabric_manager.fabric_config_save()
# fabric_manager.fabric_deploy()
# fabric_manager.fabric_check_sync()

# if not fabric_manager.fabric_in_sync and params['fabric_type'] != 'MSD':
# fabric_manager.fabric_history_get()
# results['msg'] = f"Fabric {fabric_manager.fabric_name} is out of sync after deployment."
# results['fabric_history'] = fabric_manager.fabric_history
# results['failed'] = True

# if params['operation'] in ['config_save']:
# fabric_manager.fabric_config_save()
# if not fabric_manager.fabric_save_succeeded:
# results['failed'] = True

# if params['operation'] in ['config_deploy']:
# fabric_manager.fabric_deploy()
# if not fabric_manager.fabric_deploy_succeeded:
# results['failed'] = True

# if params['operation'] in ['check_sync']:
# fabric_manager.fabric_check_sync()
# if not fabric_manager.fabric_in_sync:
# fabric_manager.fabric_history_get()
# results['msg'] = f"Fabric {fabric_manager.fabric_name} is out of sync."
# results['fabric_history'] = fabric_manager.fabric_history
# results['failed'] = True

def manage_fabrics(self, results, params):
for key in ['fabric_type', 'fabric_name', 'operation']:
if params[key] is None:
results['failed'] = True
Expand All @@ -180,11 +246,6 @@ def run(self, tmp=None, task_vars=None):
results['msg'] = "Parameter 'operation' must be one of: [all, config_save, config_deploy, check_sync]"
return results

# Module Execution Context Parameters
params['task_vars'] = task_vars
params['tmp'] = tmp
params['action_module'] = self

fabric_manager = FabricDeployManager(params)

# Workflows
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,44 @@
mtu_l3intf: {{ net['mtu_l3intf'] | default(defaults.vxlan.overlay.networks.mtu_l3intf) }}
route_target_both: {{ net['route_target_both'] | default(defaults.vxlan.overlay.networks.route_target_both) }}
routing_tag: {{ net['route_tag'] | default(defaults.vxlan.overlay.networks.route_tag) }}
{% if net.child_fabrics is defined and net.child_fabrics %}
{% set child_fabrics = net.child_fabrics %}
child_fabric_config:
{% else %}
{% set child_fabrics = [] %}
{% endif %}
{% for child_fabric in child_fabrics %}
- fabric_name: {{ child_fabric['name'] | default(omit) }}
{% if (MD_Multisite.child_fabrics_data[child_fabric['name']]['attributes']['REPLICATION_MODE'] | lower) == 'multicast' %}
multicast_group_address: {{ child_fabric['multicast_group_address'] | default(omit) }}
{% endif %}
dhcp_loopback_id: {{ child_fabric['dhcp_loopback_id'] | default(omit) }}
{% if child_fabric.dhcp_servers is defined %}
{% if child_fabric.dhcp_servers | length == 1 %}
dhcp_srvr1_ip: {{ child_fabric['dhcp_servers'][0]['ip_address'] }}
dhcp_srvr1_vrf: {{ child_fabric['dhcp_servers'][0]['vrf'] }}
{% elif child_fabric.dhcp_servers | length == 2 %}
dhcp_srvr1_ip: {{ child_fabric['dhcp_servers'][0]['ip_address'] }}
dhcp_srvr1_vrf: {{ child_fabric['dhcp_servers'][0]['vrf'] }}
dhcp_srvr2_ip: {{ child_fabric['dhcp_servers'][1]['ip_address'] }}
dhcp_srvr2_vrf: {{ child_fabric['dhcp_servers'][1]['vrf'] }}
{% elif child_fabric.dhcp_servers | length == 3 %}
dhcp_srvr1_ip: {{ child_fabric['dhcp_servers'][0]['ip_address'] }}
dhcp_srvr1_vrf: {{ child_fabric['dhcp_servers'][0]['vrf'] }}
dhcp_srvr2_ip: {{ child_fabric['dhcp_servers'][1]['ip_address'] }}
dhcp_srvr2_vrf: {{ child_fabric['dhcp_servers'][1]['vrf'] }}
dhcp_srvr3_ip: {{ child_fabric['dhcp_servers'][2]['ip_address'] }}
dhcp_srvr3_vrf: {{ child_fabric['dhcp_servers'][2]['vrf'] }}
{% endif %}
{% endif %}
trm_enable: {{ child_fabric['trm_enable'] | default(omit) }}
{# trmv6_enable: {{ child_fabric['trmv6_enable'] | default(omit) }} #}
l3gw_on_border: {{ child_fabric['l3gw_on_border'] | default(omit) }}
netflow_enable: {{ child_fabric['netflow_enable'] | default(omit) }}
{% if child_fabric['netflow_enable'] is defined and child_fabric['netflow_enable'] | bool %}
vlan_nf_monitor: {{ child_fabric['vlan_netflow_monitor'] | default(omit) }}
{% endif %}
{% endfor %}
{# ------------------------------------------------------ #}
{# Attach Group Section #}
{# ------------------------------------------------------ #}
Expand Down
Loading