@@ -40,35 +40,45 @@ def run(self, tmp=None, task_vars=None):
4040 results = super (ActionModule , self ).run (tmp , task_vars )
4141 existing_links = self ._task .args ['existing_links' ]
4242 fabric_links = self ._task .args ['fabric_links' ]
43+ switch_list = self ._task .args ['switch_data_model' ]
4344 required_links = []
4445 not_required_links = []
4546 for link in fabric_links :
4647 for existing_link in existing_links :
47- if ('sw1-info' in existing_link and 'sw2-info' in existing_link and
48- 'sw-sys-name' in existing_link ['sw1-info' ] and 'sw-sys-name' in existing_link ['sw2-info' ] and
49- (existing_link ['sw1-info' ]['sw-sys-name' ].lower () == link ['src_device' ].lower () and
50- existing_link ['sw1-info' ]['if-name' ].lower () == link ['src_interface' ].lower () and
51- existing_link ['sw2-info' ]['sw-sys-name' ].lower () == link ['dst_device' ].lower () and
52- existing_link ['sw2-info' ]['if-name' ].lower () == link ['dst_interface' ].lower ()) or
53- (existing_link ['sw1-info' ]['sw-sys-name' ].lower () == link ['dst_device' ].lower () and
54- existing_link ['sw1-info' ]['if-name' ].lower () == link ['dst_interface' ].lower () and
55- existing_link ['sw2-info' ]['sw-sys-name' ].lower () == link ['src_device' ].lower () and
56- existing_link ['sw2-info' ]['if-name' ].lower () == link ['src_interface' ].lower ())):
57- if 'templateName' not in existing_link :
58- not_required_links .append (link )
59- elif existing_link ['templateName' ] == 'int_pre_provision_intra_fabric_link' :
60- required_links .append (link )
61- elif existing_link ['templateName' ] == 'int_intra_fabric_num_link' :
62- link ['template' ] = 'int_intra_fabric_num_link'
63- link ['profile' ]['peer1_ipv4_addr' ] = existing_link ['nvPairs' ]['PEER1_IP' ]
64- link ['profile' ]['peer2_ipv4_addr' ] = existing_link ['nvPairs' ]['PEER2_IP' ]
65- if existing_link .get ('nvPairs' ).get ('ENABLE_MACSEC' ):
66- link ['profile' ]['enable_macsec' ] = existing_link ['nvPairs' ]['ENABLE_MACSEC' ]
48+ if (
49+ 'sw1-info' in existing_link and
50+ 'sw2-info' in existing_link and
51+ 'sw-sys-name' in existing_link ['sw1-info' ] and
52+ 'sw-sys-name' in existing_link ['sw2-info' ]
53+ ):
54+ for switch in switch_list :
55+ if existing_link ['sw1-info' ]['sw-sys-name' ].lower () == switch ['name' ].lower ():
56+ existing_link ['sw1-info' ]['sw-sys-name' ] = switch ['management' ]['management_ipv4_address' ]
57+ if existing_link ['sw2-info' ]['sw-sys-name' ].lower () == switch ['name' ].lower ():
58+ existing_link ['sw2-info' ]['sw-sys-name' ] = switch ['management' ]['management_ipv4_address' ]
59+ if ((existing_link ['sw1-info' ]['sw-sys-name' ].lower () == link ['src_device' ].lower () and
60+ existing_link ['sw1-info' ]['if-name' ].lower () == link ['src_interface' ].lower () and
61+ existing_link ['sw2-info' ]['sw-sys-name' ].lower () == link ['dst_device' ].lower () and
62+ existing_link ['sw2-info' ]['if-name' ].lower () == link ['dst_interface' ].lower ()) or
63+ (existing_link ['sw1-info' ]['sw-sys-name' ].lower () == link ['dst_device' ].lower () and
64+ existing_link ['sw1-info' ]['if-name' ].lower () == link ['dst_interface' ].lower () and
65+ existing_link ['sw2-info' ]['sw-sys-name' ].lower () == link ['src_device' ].lower () and
66+ existing_link ['sw2-info' ]['if-name' ].lower () == link ['src_interface' ].lower ())):
67+ if 'templateName' not in existing_link :
68+ not_required_links .append (link )
69+ elif existing_link ['templateName' ] == 'int_pre_provision_intra_fabric_link' :
70+ required_links .append (link )
71+ elif existing_link ['templateName' ] == 'int_intra_fabric_num_link' :
72+ link ['template' ] = 'int_intra_fabric_num_link'
73+ link ['profile' ]['peer1_ipv4_addr' ] = existing_link ['nvPairs' ]['PEER1_IP' ]
74+ link ['profile' ]['peer2_ipv4_addr' ] = existing_link ['nvPairs' ]['PEER2_IP' ]
75+ if existing_link .get ('nvPairs' ).get ('ENABLE_MACSEC' ):
76+ link ['profile' ]['enable_macsec' ] = existing_link ['nvPairs' ]['ENABLE_MACSEC' ]
77+ else :
78+ link ['profile' ]['enable_macsec' ] = 'false'
79+ required_links .append (link )
6780 else :
68- link ['profile' ]['enable_macsec' ] = 'false'
69- required_links .append (link )
70- else :
71- not_required_links .append (link )
81+ not_required_links .append (link )
7282 if link not in required_links and link not in not_required_links :
7383 required_links .append (link )
7484
0 commit comments