Skip to content

Commit f8215d5

Browse files
authored
Fix preset config to align with YANG (sonic-net#21643)
Why I did it Fix preset config to align with YANG How I did it Fix config generation based on YANG and add UT to avoid future issue. How to verify it UT
1 parent 9be3eb5 commit f8215d5

6 files changed

+120
-71
lines changed

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

+13-3
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def validate(self, argument):
5252
"""
5353
Raise exception when yang validation failed
5454
"""
55-
if PY3x and "-m" in argument:
55+
if PY3x and ("-m" in argument or "--preset" in argument):
5656
import sonic_yang
5757
parser=argparse.ArgumentParser(description="Render configuration file from minigraph data and jinja2 template.")
5858
parser.add_argument("-m", "--minigraph", help="minigraph xml file", nargs='?', const='/etc/sonic/minigraph.xml')
@@ -61,10 +61,17 @@ def validate(self, argument):
6161
parser.add_argument("-p", "--port-config", help="port config file, used with -m or -k", nargs='?', const=None)
6262
parser.add_argument("-S", "--hwsku-config", help="hwsku config file, used with -p and -m or -k", nargs='?', const=None)
6363
parser.add_argument("-j", "--json", help="additional json file input, used with -p, -S and -m or -k", nargs='?', const=None)
64+
parser.add_argument("-a", "--additional-data", help="addition data, in json string", nargs='?', const=None)
65+
parser.add_argument("--preset", help="generate sample configuration from a preset template", nargs='?', const=None)
6466
args, unknown = parser.parse_known_args(argument)
6567

6668
print('\n Validating yang schema')
67-
cmd = self.script_file + ['-m', args.minigraph]
69+
if "-m" in argument:
70+
cmd = self.script_file + ['-m', args.minigraph]
71+
cmd += ['--print-data']
72+
elif "--preset" in argument:
73+
cmd = self.script_file + ['--preset', args.preset]
74+
6875
if args.hwsku is not None:
6976
cmd += ['-k', args.hwsku]
7077
if args.hwsku_config is not None:
@@ -75,7 +82,9 @@ def validate(self, argument):
7582
cmd += ['-n', args.namespace]
7683
if args.json is not None:
7784
cmd += ['-j', args.json]
78-
cmd += ['--print-data']
85+
if args.additional_data is not None:
86+
cmd += ['-a', args.additional_data]
87+
7988
output = subprocess.check_output(cmd).decode()
8089
try:
8190
self.yang_parser.loadData(configdbJson=json.loads(output))
@@ -87,6 +96,7 @@ def validate(self, argument):
8796
return False
8897
return True
8998

99+
90100
def cmp(file1, file2):
91101
""" compare files """
92102
try:

src/sonic-config-engine/tests/sample_output/t1-smartswitch-dpu.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"lanes": "0,1,2,3,4,5,6,7",
1515
"alias": "etp1",
1616
"admin_status": "up",
17-
"mtu": "9100"
17+
"mtu": "9100",
18+
"speed": "100000"
1819
}
1920
},
2021
"FLEX_COUNTER_TABLE": {

src/sonic-config-engine/tests/sample_output/t1-smartswitch.json

+64-32
Original file line numberDiff line numberDiff line change
@@ -455,193 +455,225 @@
455455
"admin_status": "up",
456456
"alias": "etp1",
457457
"lanes": "0,1,2,3,4,5,6,7",
458-
"mtu": "9100"
458+
"mtu": "9100",
459+
"speed": "100000"
459460
},
460461
"Ethernet104": {
461462
"admin_status": "up",
462463
"alias": "etp14",
463464
"lanes": "104,105,106,107,108,109,110,111",
464-
"mtu": "9100"
465+
"mtu": "9100",
466+
"speed": "100000"
465467
},
466468
"Ethernet112": {
467469
"admin_status": "up",
468470
"alias": "etp15",
469471
"lanes": "112,113,114,115,116,117,118,119",
470-
"mtu": "9100"
472+
"mtu": "9100",
473+
"speed": "100000"
471474
},
472475
"Ethernet120": {
473476
"admin_status": "up",
474477
"alias": "etp16",
475478
"lanes": "120,121,122,123,124,125,126,127",
476-
"mtu": "9100"
479+
"mtu": "9100",
480+
"speed": "100000"
477481
},
478482
"Ethernet128": {
479483
"admin_status": "up",
480484
"alias": "etp17",
481485
"lanes": "128,129,130,131,132,133,134,135",
482-
"mtu": "9100"
486+
"mtu": "9100",
487+
"speed": "100000"
483488
},
484489
"Ethernet136": {
485490
"admin_status": "up",
486491
"alias": "etp18",
487492
"lanes": "136,137,138,139,140,141,142,143",
488-
"mtu": "9100"
493+
"mtu": "9100",
494+
"speed": "100000"
489495
},
490496
"Ethernet144": {
491497
"admin_status": "up",
492498
"alias": "etp19",
493499
"lanes": "144,145,146,147,148,149,150,151",
494-
"mtu": "9100"
500+
"mtu": "9100",
501+
"speed": "100000"
495502
},
496503
"Ethernet152": {
497504
"admin_status": "up",
498505
"alias": "etp20",
499506
"lanes": "152,153,154,155,156,157,158,159",
500-
"mtu": "9100"
507+
"mtu": "9100",
508+
"speed": "100000"
501509
},
502510
"Ethernet16": {
503511
"admin_status": "up",
504512
"alias": "etp3",
505513
"lanes": "16,17,18,19,20,21,22,23",
506-
"mtu": "9100"
514+
"mtu": "9100",
515+
"speed": "100000"
507516
},
508517
"Ethernet160": {
509518
"admin_status": "up",
510519
"alias": "etp21",
511520
"lanes": "160,161,162,163,164,165,166,167",
512-
"mtu": "9100"
521+
"mtu": "9100",
522+
"speed": "100000"
513523
},
514524
"Ethernet168": {
515525
"admin_status": "up",
516526
"alias": "etp22",
517527
"lanes": "168,169,170,171,172,173,174,175",
518-
"mtu": "9100"
528+
"mtu": "9100",
529+
"speed": "100000"
519530
},
520531
"Ethernet176": {
521532
"admin_status": "up",
522533
"alias": "etp23",
523534
"lanes": "176,177,178,179,180,181,182,183",
524-
"mtu": "9100"
535+
"mtu": "9100",
536+
"speed": "100000"
525537
},
526538
"Ethernet184": {
527539
"admin_status": "up",
528540
"alias": "etp24",
529541
"lanes": "184,185,186,187,188,189,190,191",
530-
"mtu": "9100"
542+
"mtu": "9100",
543+
"speed": "100000"
531544
},
532545
"Ethernet192": {
533546
"admin_status": "up",
534547
"alias": "etp25",
535548
"lanes": "192,193,194,195,196,197,198,199",
536-
"mtu": "9100"
549+
"mtu": "9100",
550+
"speed": "100000"
537551
},
538552
"Ethernet200": {
539553
"admin_status": "up",
540554
"alias": "etp26",
541555
"lanes": "200,201,202,203,204,205,206,207",
542-
"mtu": "9100"
556+
"mtu": "9100",
557+
"speed": "100000"
543558
},
544559
"Ethernet208": {
545560
"admin_status": "up",
546561
"alias": "etp27",
547562
"lanes": "208,209,210,211,212,213,214,215",
548-
"mtu": "9100"
563+
"mtu": "9100",
564+
"speed": "100000"
549565
},
550566
"Ethernet216": {
551567
"admin_status": "up",
552568
"alias": "etp28",
553569
"lanes": "216,217,218,219,220,221,222,223",
554-
"mtu": "9100"
570+
"mtu": "9100",
571+
"speed": "100000"
555572
},
556573
"Ethernet224": {
557574
"admin_status": "up",
558575
"alias": "etp29",
559576
"lanes": "224,225,226,227,228,229,230,231",
560-
"mtu": "9100"
577+
"mtu": "9100",
578+
"speed": "100000"
561579
},
562580
"Ethernet232": {
563581
"admin_status": "up",
564582
"alias": "etp30",
565583
"lanes": "232,233,234,235,236,237,238,239",
566-
"mtu": "9100"
584+
"mtu": "9100",
585+
"speed": "100000"
567586
},
568587
"Ethernet24": {
569588
"admin_status": "up",
570589
"alias": "etp4",
571590
"lanes": "24,25,26,27,28,29,30,31",
572-
"mtu": "9100"
591+
"mtu": "9100",
592+
"speed": "100000"
573593
},
574594
"Ethernet240": {
575595
"admin_status": "up",
576596
"alias": "etp31",
577597
"lanes": "240,241,242,243,244,245,246,247",
578-
"mtu": "9100"
598+
"mtu": "9100",
599+
"speed": "100000"
579600
},
580601
"Ethernet248": {
581602
"admin_status": "up",
582603
"alias": "etp32",
583604
"lanes": "248,249,250,251,252,253,254,255",
584-
"mtu": "9100"
605+
"mtu": "9100",
606+
"speed": "100000"
585607
},
586608
"Ethernet32": {
587609
"admin_status": "up",
588610
"alias": "etp5",
589611
"lanes": "32,33,34,35,36,37,38,39",
590-
"mtu": "9100"
612+
"mtu": "9100",
613+
"speed": "100000"
591614
},
592615
"Ethernet40": {
593616
"admin_status": "up",
594617
"alias": "etp6",
595618
"lanes": "40,41,42,43,44,45,46,47",
596-
"mtu": "9100"
619+
"mtu": "9100",
620+
"speed": "100000"
597621
},
598622
"Ethernet48": {
599623
"admin_status": "up",
600624
"alias": "etp7",
601625
"lanes": "48,49,50,51,52,53,54,55",
602-
"mtu": "9100"
626+
"mtu": "9100",
627+
"speed": "100000"
603628
},
604629
"Ethernet56": {
605630
"admin_status": "up",
606631
"alias": "etp8",
607632
"lanes": "56,57,58,59,60,61,62,63",
608-
"mtu": "9100"
633+
"mtu": "9100",
634+
"speed": "100000"
609635
},
610636
"Ethernet64": {
611637
"admin_status": "up",
612638
"alias": "etp9",
613639
"lanes": "64,65,66,67,68,69,70,71",
614-
"mtu": "9100"
640+
"mtu": "9100",
641+
"speed": "100000"
615642
},
616643
"Ethernet72": {
617644
"admin_status": "up",
618645
"alias": "etp10",
619646
"lanes": "72,73,74,75,76,77,78,79",
620-
"mtu": "9100"
647+
"mtu": "9100",
648+
"speed": "100000"
621649
},
622650
"Ethernet8": {
623651
"admin_status": "up",
624652
"alias": "etp2",
625653
"lanes": "8,9,10,11,12,13,14,15",
626-
"mtu": "9100"
654+
"mtu": "9100",
655+
"speed": "100000"
627656
},
628657
"Ethernet80": {
629658
"admin_status": "up",
630659
"alias": "etp11",
631660
"lanes": "80,81,82,83,84,85,86,87",
632-
"mtu": "9100"
661+
"mtu": "9100",
662+
"speed": "100000"
633663
},
634664
"Ethernet88": {
635665
"admin_status": "up",
636666
"alias": "etp12",
637667
"lanes": "88,89,90,91,92,93,94,95",
638-
"mtu": "9100"
668+
"mtu": "9100",
669+
"speed": "100000"
639670
},
640671
"Ethernet96": {
641672
"admin_status": "up",
642673
"alias": "etp13",
643674
"lanes": "96,97,98,99,100,101,102,103",
644-
"mtu": "9100"
675+
"mtu": "9100",
676+
"speed": "100000"
645677
}
646678
}
647679
}
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
# name lanes alias
2-
Ethernet0 0,1,2,3,4,5,6,7 etp1
1+
# name lanes alias speed
2+
Ethernet0 0,1,2,3,4,5,6,7 etp1 100000
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
1-
# name lanes alias
2-
Ethernet0 0,1,2,3,4,5,6,7 etp1
3-
Ethernet8 8,9,10,11,12,13,14,15 etp2
4-
Ethernet16 16,17,18,19,20,21,22,23 etp3
5-
Ethernet24 24,25,26,27,28,29,30,31 etp4
6-
Ethernet32 32,33,34,35,36,37,38,39 etp5
7-
Ethernet40 40,41,42,43,44,45,46,47 etp6
8-
Ethernet48 48,49,50,51,52,53,54,55 etp7
9-
Ethernet56 56,57,58,59,60,61,62,63 etp8
10-
Ethernet64 64,65,66,67,68,69,70,71 etp9
11-
Ethernet72 72,73,74,75,76,77,78,79 etp10
12-
Ethernet80 80,81,82,83,84,85,86,87 etp11
13-
Ethernet88 88,89,90,91,92,93,94,95 etp12
14-
Ethernet96 96,97,98,99,100,101,102,103 etp13
15-
Ethernet104 104,105,106,107,108,109,110,111 etp14
16-
Ethernet112 112,113,114,115,116,117,118,119 etp15
17-
Ethernet120 120,121,122,123,124,125,126,127 etp16
18-
Ethernet128 128,129,130,131,132,133,134,135 etp17
19-
Ethernet136 136,137,138,139,140,141,142,143 etp18
20-
Ethernet144 144,145,146,147,148,149,150,151 etp19
21-
Ethernet152 152,153,154,155,156,157,158,159 etp20
22-
Ethernet160 160,161,162,163,164,165,166,167 etp21
23-
Ethernet168 168,169,170,171,172,173,174,175 etp22
24-
Ethernet176 176,177,178,179,180,181,182,183 etp23
25-
Ethernet184 184,185,186,187,188,189,190,191 etp24
26-
Ethernet192 192,193,194,195,196,197,198,199 etp25
27-
Ethernet200 200,201,202,203,204,205,206,207 etp26
28-
Ethernet208 208,209,210,211,212,213,214,215 etp27
29-
Ethernet216 216,217,218,219,220,221,222,223 etp28
30-
Ethernet224 224,225,226,227,228,229,230,231 etp29
31-
Ethernet232 232,233,234,235,236,237,238,239 etp30
32-
Ethernet240 240,241,242,243,244,245,246,247 etp31
33-
Ethernet248 248,249,250,251,252,253,254,255 etp32
1+
# name lanes alias speed
2+
Ethernet0 0,1,2,3,4,5,6,7 etp1 100000
3+
Ethernet8 8,9,10,11,12,13,14,15 etp2 100000
4+
Ethernet16 16,17,18,19,20,21,22,23 etp3 100000
5+
Ethernet24 24,25,26,27,28,29,30,31 etp4 100000
6+
Ethernet32 32,33,34,35,36,37,38,39 etp5 100000
7+
Ethernet40 40,41,42,43,44,45,46,47 etp6 100000
8+
Ethernet48 48,49,50,51,52,53,54,55 etp7 100000
9+
Ethernet56 56,57,58,59,60,61,62,63 etp8 100000
10+
Ethernet64 64,65,66,67,68,69,70,71 etp9 100000
11+
Ethernet72 72,73,74,75,76,77,78,79 etp10 100000
12+
Ethernet80 80,81,82,83,84,85,86,87 etp11 100000
13+
Ethernet88 88,89,90,91,92,93,94,95 etp12 100000
14+
Ethernet96 96,97,98,99,100,101,102,103 etp13 100000
15+
Ethernet104 104,105,106,107,108,109,110,111 etp14 100000
16+
Ethernet112 112,113,114,115,116,117,118,119 etp15 100000
17+
Ethernet120 120,121,122,123,124,125,126,127 etp16 100000
18+
Ethernet128 128,129,130,131,132,133,134,135 etp17 100000
19+
Ethernet136 136,137,138,139,140,141,142,143 etp18 100000
20+
Ethernet144 144,145,146,147,148,149,150,151 etp19 100000
21+
Ethernet152 152,153,154,155,156,157,158,159 etp20 100000
22+
Ethernet160 160,161,162,163,164,165,166,167 etp21 100000
23+
Ethernet168 168,169,170,171,172,173,174,175 etp22 100000
24+
Ethernet176 176,177,178,179,180,181,182,183 etp23 100000
25+
Ethernet184 184,185,186,187,188,189,190,191 etp24 100000
26+
Ethernet192 192,193,194,195,196,197,198,199 etp25 100000
27+
Ethernet200 200,201,202,203,204,205,206,207 etp26 100000
28+
Ethernet208 208,209,210,211,212,213,214,215 etp27 100000
29+
Ethernet216 216,217,218,219,220,221,222,223 etp28 100000
30+
Ethernet224 224,225,226,227,228,229,230,231 etp29 100000
31+
Ethernet232 232,233,234,235,236,237,238,239 etp30 100000
32+
Ethernet240 240,241,242,243,244,245,246,247 etp31 100000
33+
Ethernet248 248,249,250,251,252,253,254,255 etp32 100000

0 commit comments

Comments
 (0)