Skip to content

[test] Adding platform.json configuration file unit test#3911

Merged
jleveque merged 3 commits intosonic-net:masterfrom
samaity:config_checker_platform_msft
Jun 4, 2020
Merged

[test] Adding platform.json configuration file unit test#3911
jleveque merged 3 commits intosonic-net:masterfrom
samaity:config_checker_platform_msft

Conversation

@samaity
Copy link
Collaborator

@samaity samaity commented Dec 14, 2019

Signed-off-by: Sangita Maity [email protected]

- What I did
In order to allow the SONiC community to check in platform capability file i.e. platform.json
file directly under device folder. We need to add this test to make sure the contents of the this file is compliant with platform capability design specified in DPB HLD doc

- How I did it
Added platformJson_checker.py file in Test folder.

- How to verify it

With the change as-is, build passes, the built image executed on the target platform, the configuration was applied properly.

Snapshot of success Build

samaity@43b85cf2e5e7:/sonic$ BLDENV=stretch make -f slave.mk target/debs/stretch/sonic-device-data_1.0-1_all.deb
SONiC Build System
 
Build Configuration
"CONFIGURED_PLATFORM"             : "vs"
"CONFIGURED_ARCH"                 : "amd64"
"SONIC_CONFIG_PRINT_DEPENDENCIES" : ""
"SONIC_BUILD_JOBS"                : "1"
"SONIC_CONFIG_MAKE_JOBS"          : "24"
"SONIC_USE_DOCKER_BUILDKIT"       : ""
"USERNAME"                        : "admin"
"PASSWORD"                        : "admin123"
"ENABLE_DHCP_GRAPH_SERVICE"       : ""
"SHUTDOWN_BGP_ON_START"           : ""
"ENABLE_PFCWD_ON_START"           : ""
"INSTALL_DEBUG_TOOLS"             : ""
"ROUTING_STACK"                   : "frr"
"FRR_USER_UID"                    : "300"
"FRR_USER_GID"                    : "300"
"ENABLE_SYNCD_RPC"                : ""
"ENABLE_ORGANIZATION_EXTENSIONS"  : "y"
"HTTP_PROXY"                      : ""
"HTTPS_PROXY"                     : ""
"ENABLE_SYSTEM_TELEMETRY"         : "y"
"SONIC_DEBUGGING_ON"              : ""
"SONIC_PROFILING_ON"              : ""
"KERNEL_PROCURE_METHOD"           : "build"
"BUILD_TIMESTAMP"                 : ""
"BLDENV"                          : "stretch"
"VS_PREPARE_MEM"                  : "yes"
"ENABLE_SFLOW"                    : "y"
samaity@43b85cf2e5e7:/sonic$ ls -la target/debs/stretch/sonic-device-data_1.0-1_all.deb*
-rw-r--r-- 1 samaity gsamaity 5806088 Dec  4 01:29 target/debs/stretch/sonic-device-data_1.0-1_all.deb
-rw-r--r-- 1 samaity gsamaity   27553 Dec  4 01:29 target/debs/stretch/sonic-device-data_1.0-1_all.deb.log

Snapshot of target/debs/stretch/sonic-device-data_1.0-1_all.deb.log

File ../../../device/dell/x86_64-dellemc_z9264f_c3538-r0/media_settings.json passed validity check
File ../../../device/celestica/x86_64-cel_seastone-r0/platform.json passed validity check
/sonic/src/sonic-device-data/src

Created a few bad platform.json files to test. Build got failed for all the bad platform capability file.
Build hit following failure:

index value is missing

Error: index of Ethernet0 has no value.
File ../../../device/celestica/x86_64-cel_seastone-r0/Seastone-DX010-25-50/platform.json failed validity check
Makefile:6: recipe for target 'test' failed
make[3]: *** [test] Error 255
make[3]: Leaving directory '/sonic/src/sonic-device-data/src'

interface name is wrong in this case.

Error: Unknown Interface Esthernet8s at top level
File ../../../device/celestica/x86_64-cel_seastone-r0/Seastone-DX010-10-50/platform.json failed validity check
Makefile:6: recipe for target 'test' failed
make[3]: *** [test] Error 255
make[3]: Leaving directory '/sonic/src/sonic-device-data/src'
brakout_modes is not the correct port attribute. syntax Error

port Attribute is missing

File ../../../device/dell/x86_64-dellemc_z9264f_c3538-r0/media_settings.json passed validity check
Error: brakout_modes is not the correct Port attribute.
File ../../../device/celestica/x86_64-cel_seastone-r0/Seastone-DX010-50-40/platform.json failed validity check
Makefile:6: recipe for target 'test' failed
make[3]: *** [test] Error 255
some of the port Attribute is missing

Breakout mode is missing here.

File ../../../device/celestica/x86_64-cel_seastone-r0/platform.json passed validity check
Error: index, default_brkout_mode of Ethernet16 is/are missing
File ../../../device/celestica/x86_64-cel_seastone-r0/Seastone-DX010/platform.json failed validity check
Makefile:6: recipe for target 'test' failed
make[3]: *** [test] Error 255

@samaity samaity marked this pull request as ready for review December 14, 2019 20:45
@jleveque
Copy link
Contributor

jleveque commented Jan 3, 2020

Retest vsimage please

Signed-off-by: Sangita Maity <[email protected]>
@jleveque jleveque changed the title [test] Adding platform.json configuration file test [test] Adding platform.json configuration file unit test Jun 4, 2020
@jleveque jleveque merged commit 65fa874 into sonic-net:master Jun 4, 2020
mssonicbld added a commit that referenced this pull request Jul 23, 2025
…atically (#22686)

#### Why I did it
src/sonic-utilities
```
* e18640e - (HEAD -> master, origin/master, origin/HEAD) Switchport mode update for 'show interfaces status' (#3788) (3 hours ago) [Shivashankar C R]
* 809646a - Revert "Addition of prober_type in config and show commands for muxcable (#3884)" (#3979) (17 hours ago) [Xin Wang]
* 3db35d5 - `vnet_route_check.py` should not report VNET routes in APP DB but not in STATE DB and ASIC DB as mismatches (#3990) (26 hours ago) [mramezani95]
* 8647356 - [show][config][plugin] add processing of ModuleNotFoundError with log_warning (#3832) (32 hours ago) [Maksym Kovalchuk]
* 20976de - fix show bgp cli on multiple asic device (#3981) (5 days ago) [Liping Xu]
* 46c82ab - [db_migrator] Fix parse_xml fails when minigraph has SonicQosProfile (#3972) (6 days ago) [Xin Wang]
* 1c3f789 - Fix route_check.py to ignore local p2p IP prefixes (#3882) (7 days ago) [prabhataravind]
* 898a037 - Make 'show interface errors' lookup the correct oper_error_status count published by OA (#3956) (8 days ago) [Bobby McGonigle]
* eda6ada - [sonic-package-manager] Save tag that was used to install the application (#3917) (8 days ago) [DavidZagury]
* c409594 - [SPM] Add support for configuring systemd service Type in package manifests (#3946) (8 days ago) [DavidZagury]
* 09b4292 - [trim]: Add Packet Trimming Asym DSCP CLI (#3920) (9 days ago) [Nazarii Hnydyn]
* f751730 - Lodoga-Prime: lodogaprime platform support (#3954) (13 days ago) [NobutomoNakano]
* 0424ae0 - Add GCU Support for SKU Mellanox-SN4280-C48/O8C40/O8V40 (#3964) (13 days ago) [Sai Rama Mohan Reddy S]
* 57b9846 - fix issue #22476 remove quagga in show bgp cmd (#3947) (2 weeks ago) [Liping Xu]
* 5d11fc5 - Fix comparison error when replace (#3941) (3 weeks ago) [jingwenxie]
* f6d6d9a - Fix for 22138: Chassisd does not wait for the execution to complete for previous admin state change requests - Replaces PR: #3845 (#3937) (4 weeks ago) [rameshraghupathy]
* be72304 - [YANG] remove uses clause handling, now part of sonic-yang-mgmt (#3814) (4 weeks ago) [Brad House]
* 19a6b3c - Switch to using chrony instead of ntpd : gcu - services_validator.py (#3929) (4 weeks ago) [Anukul Verma]
* 5db9c27 - Fixed cli command for ECN config on voq switch (#3928) (4 weeks ago) [saksarav-nokia]
* 020f9d0 - Improved GCU's field validation logic for the WRED_PROFILE table (#3910) (4 weeks ago) [mramezani95]
* f15e2d0 - feat: support specific BP port info for show int (#3926) (4 weeks ago) [Chenyang Wang]
* 5a59f19 - [multi-asic] Fix the 'config reload' flow in case when multiple golden_config.json files provided (#3895) (5 weeks ago) [Vadym Hlushko]
* 82ec8f4 - fix show cmd for bgp (#3922) (5 weeks ago) [Liping Xu]
* e0f9da4 - Skip checking offload flags for static routes/sids in route check and add check_sids (#3919) (5 weeks ago) [Changrong Wu]
* 5ea861d - [copp]: Added CoPP show configuration commands (#3863) (6 weeks ago) [Ravi Minnikanti(Marvell)]
* 9fd8c3c - [sfputil] Use host lane mask as part of rx-output enable/disable (#3911) (6 weeks ago) [mihirpat1]
* 3e157a2 - Support reboot cause: Kernel Panic - Out of memory (#3918) (6 weeks ago) [byu343]
* 49d36ff - [gcu]: Add marvell-teralynx platform to gcu field validator (#3881) (6 weeks ago) [Ravi Minnikanti(Marvell)]
* 8415aee - [Mellanox] Collect sai.xml to sysdump (#3903) (6 weeks ago) [Sai Rama Mohan Reddy S]
* 6e26c8d - [intfstat] Align output format between cached/non-cached scenarios (#3902) (6 weeks ago) [Yair Raviv]
* 57d825e - Add version_202411_02 function (#3864) (6 weeks ago) [Ben Levi]
* d5051cd - [Smartswitch][reboot] Addition of pre shutdown and post startup function calls (#3900) (7 weeks ago) [Gagan Punathil Ellath]
* b3509b9 - Add CLI show commands to view bgp network, neighbors and summary on per-vrf basis (#3866) (7 weeks ago) [Navdha Jindal]
* dfa51d3 - Upgrade portstat to support nonzero option and sort heterogeneous interfaces names (#3894) (7 weeks ago) [Changrong Wu]
* ba255b6 - Issue #22407: ConfigReload fails when RADIUS statistics is enabled (#3860) (8 weeks ago) [Anders Linn]
* 7116edf - Fix warm-reboot script so it can be run via reboot DBus service (#3872) (8 weeks ago) [jkmar]
* 2f1c4e0 - config: Modify AAA config commands to use pass_db decorator (#3755) (8 weeks ago) [Anders Linn]
* d6d866f - show command for icmp echo offload sessions (#3889) (8 weeks ago) [manamand2020]
* 1b3498c - add TH5-512 hwsku into gcu support list (#3896) (8 weeks ago) [Dashuai Zhang]
* b106a82 - Addition of prober_type in config and show commands for muxcable (#3884) (9 weeks ago) [harjotsinghpawra]
* 733bdde - [smartswitch] Fix incorrect reboot status check and improve debug logging in reboot scripts (#3888) (9 weeks ago) [Vasundhara Volam]
* 60110fa - feat: support namespace arg for show mac (#3873) (9 weeks ago) [Chenyang Wang]
* aeba823 - feat: support namespace arg for show bfd (#3885) (9 weeks ago) [Chenyang Wang]
```
#### How I did it
#### How to verify it
#### Description for the changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants