Skip to content

Commit aedfd6e

Browse files
taoyl-mslguohan
authored andcommitted
[sonic-cfggen] Multi-key should be in form of (a,b) instead of 'a|b' (#2337)
1 parent d966609 commit aedfd6e

4 files changed

Lines changed: 8 additions & 10 deletions

File tree

files/build_templates/buffers_config.j2

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,7 @@ def
6060
{%- else %}
6161
{%- if switch_role.lower() == 'torrouter' %}
6262
{%- for local_port in VLAN_MEMBER %}
63-
{%- set vlan_port = local_port.split("|") %}
64-
{%- if vlan_port[1] == port_name %}
63+
{%- if local_port[1] == port_name %}
6564
{%- set roles3 = switch_role + '_' + 'server' %}
6665
{%- set roles3 = roles3 | lower %}
6766
{%- if roles3 in ports2cable %}

src/sonic-config-engine/minigraph.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
ns1 = "http://schemas.datacontract.org/2004/07/Microsoft.Search.Autopilot.Evolution"
2626
ns2 = "Microsoft.Search.Autopilot.NetMux"
2727
ns3 = "http://www.w3.org/2001/XMLSchema-instance"
28-
KEY_SEPARATOR = '|'
2928

3029
class minigraph_encoder(json.JSONEncoder):
3130
def default(self, obj):
@@ -187,7 +186,7 @@ def parse_dpg(dpg, hname):
187186
for i, member in enumerate(pcmbr_list):
188187
pcmbr_list[i] = port_alias_map.get(member, member)
189188
intfs_inpc.append(pcmbr_list[i])
190-
pc_members[pcintfname + KEY_SEPARATOR + pcmbr_list[i]] = {'NULL': 'NULL'}
189+
pc_members[(pcintfname, pcmbr_list[i])] = {'NULL': 'NULL'}
191190
if pcintf.find(str(QName(ns, "Fallback"))) != None:
192191
pcs[pcintfname] = {'members': pcmbr_list, 'fallback': pcintf.find(str(QName(ns, "Fallback"))).text, 'min_links': str(int(math.ceil(len() * 0.75)))}
193192
else:
@@ -204,8 +203,8 @@ def parse_dpg(dpg, hname):
204203
vmbr_list = vintfmbr.split(';')
205204
for i, member in enumerate(vmbr_list):
206205
vmbr_list[i] = port_alias_map.get(member, member)
207-
sonic_vlan_member_name = "Vlan%s%s%s" % (vlanid, KEY_SEPARATOR, vmbr_list[i])
208-
vlan_members[sonic_vlan_member_name] = {'tagging_mode': 'untagged'}
206+
sonic_vlan_member_name = "Vlan%s" % (vlanid)
207+
vlan_members[(sonic_vlan_member_name, vmbr_list[i])] = {'tagging_mode': 'untagged'}
209208

210209
vlan_attributes = {'vlanid': vlanid}
211210

@@ -548,7 +547,7 @@ def parse_xml(filename, platform=None, port_config_file=None):
548547
ports.get(port[0])['admin_status'] = 'up'
549548

550549
for member in pc_members.keys() + vlan_members.keys():
551-
port = ports.get(member.split(KEY_SEPARATOR)[1])
550+
port = ports.get(member[1])
552551
if port:
553552
port['admin_status'] = 'up'
554553

src/sonic-config-engine/tests/test_cfggen.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ def test_minigraph_vlans(self):
110110
def test_minigraph_vlan_members(self):
111111
argument = '-m "' + self.sample_graph_simple + '" -p "' + self.port_config + '" -v VLAN_MEMBER'
112112
output = self.run_script(argument)
113-
self.assertEqual(output.strip(), "{'Vlan1000|Ethernet8': {'tagging_mode': 'untagged'}}")
113+
self.assertEqual(output.strip(), "{('Vlan1000', 'Ethernet8'): {'tagging_mode': 'untagged'}}")
114114

115115
def test_minigraph_vlan_interfaces(self):
116116
argument = '-m "' + self.sample_graph_simple + '" -p "' + self.port_config + '" -v "VLAN_INTERFACE.keys()"'
@@ -130,7 +130,7 @@ def test_minigraph_portchannel_with_more_member(self):
130130
def test_minigraph_portchannel_members(self):
131131
argument = '-m "' + self.sample_graph_pc_test + '" -p "' + self.port_config + '" -v "PORTCHANNEL_MEMBER.keys()"'
132132
output = self.run_script(argument)
133-
self.assertEqual(output.strip(), "['PortChannel01|Ethernet112', 'PortChannel01|Ethernet124', 'PortChannel01|Ethernet116', 'PortChannel01|Ethernet120']")
133+
self.assertEqual(output.strip(), "[('PortChannel01', 'Ethernet120'), ('PortChannel01', 'Ethernet116'), ('PortChannel01', 'Ethernet124'), ('PortChannel01', 'Ethernet112')]")
134134

135135
def test_minigraph_portchannel_interfaces(self):
136136
argument = '-m "' + self.sample_graph_simple + '" -p "' + self.port_config + '" -v "PORTCHANNEL_INTERFACE.keys()"'

src/sonic-config-engine/tests/test_minigraph_case.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def test_minigraph_vlans(self):
7777
def test_minigraph_vlan_members(self):
7878
argument = '-m "' + self.sample_graph + '" -p "' + self.port_config + '" -v VLAN_MEMBER'
7979
output = self.run_script(argument)
80-
self.assertEqual(output.strip(), "{'Vlan1000|Ethernet8': {'tagging_mode': 'untagged'}}")
80+
self.assertEqual(output.strip(), "{('Vlan1000', 'Ethernet8'): {'tagging_mode': 'untagged'}}")
8181

8282
def test_minigraph_vlan_interfaces(self):
8383
argument = '-m "' + self.sample_graph + '" -p "' + self.port_config + '" -v "VLAN_INTERFACE.keys()"'

0 commit comments

Comments
 (0)