@@ -222,7 +222,6 @@ def parse_dpg(dpg, hname):
222222 mgmt_intf = {'addr' : ipaddr , 'alias' : intfname , 'prefixlen' : prefix_len , 'mask' : ipmask , 'gwaddr' : gwaddr }
223223
224224 pcintfs = child .find (str (QName (ns , "PortChannelInterfaces" )))
225- pc_intfs = []
226225 pcs = {}
227226 for pcintf in pcintfs .findall (str (QName (ns , "PortChannel" ))):
228227 pcintfname = pcintf .find (str (QName (ns , "Name" ))).text
@@ -233,12 +232,11 @@ def parse_dpg(dpg, hname):
233232 ports [port_alias_to_name_map [member ]] = {'name' : port_alias_to_name_map [member ], 'alias' : member }
234233 pcs [pcintfname ] = {'name' : pcintfname , 'members' : pcmbr_list }
235234 fallback_node = pcintf .find (str (QName (ns , "Fallback" )))
236- if fallback_node is not None :
235+ if fallback_node is not None :
237236 pcs [pcintfname ]['fallback' ] = fallback_node .text
238- ports .pop (pcintfname )
237+ ports .pop (pcintfname , None )
239238
240239 vlanintfs = child .find (str (QName (ns , "VlanInterfaces" )))
241- vlan_intfs = []
242240 dhcp_servers = []
243241 vlans = {}
244242 for vintf in vlanintfs .findall (str (QName (ns , "VlanInterface" ))):
@@ -253,6 +251,9 @@ def parse_dpg(dpg, hname):
253251 vlandhcpservers = ""
254252 dhcp_servers = vlandhcpservers .split (";" )
255253 for i , member in enumerate (vmbr_list ):
254+ # Skip PortChannel inside Vlan
255+ if member in pcs :
256+ continue
256257 vmbr_list [i ] = port_alias_to_name_map [member ]
257258 ports [port_alias_to_name_map [member ]] = {'name' : port_alias_to_name_map [member ], 'alias' : member }
258259 vlan_attributes = {'name' : vintfname , 'members' : vmbr_list , 'vlanid' : vlanid }
@@ -590,8 +591,9 @@ def main():
590591 results_clean = json .loads (json .dumps (results , cls = minigraph_encoder ))
591592 module .exit_json (ansible_facts = results_clean )
592593 except Exception as e :
594+ tb = traceback .format_exc ()
593595 # all attempts to find a minigraph failed.
594- module .fail_json (msg = e .message )
596+ module .fail_json (msg = e .message + " \n " + tb )
595597
596598
597599def print_parse_xml (hostname ):
0 commit comments