[VoQ_T2_PizzaBox] Modify the existing common code to support VOQ T2 on PizzaBox (X3B platform) #21709
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why I did it
Modified the existing code to support VoQ T2 on multiasic PizzaBox (X3B platform)
Work item tracking
How I did it
src/sonic-py-common/sonic_py_common/device_info.py
-- Add function get_chassisdb_config_file_path() which returns the platform modular path and chassisdb.config: /usr/share/sonic/device//chassisdb.conf
-- Add function is_platform_chassis_module(): check chassisdb.config existence and combine with the platform_env.conf supervisor definition to determine if a platform is chassis module (LC or Supervisor).
-- Add function is_database_chassis_supported(): check chassisdb.conf existence and also "start_chassis_db" is defined in the chassisdb.conf
files/scripts/asic_status.sh
-- Modify the is_chassis_module() to use platform_env.conf and its "supervisor=1" define to identify if a platform is a Supervisor instead of using chassisdb.conf.
files/build_template/docker_image_ctl.j2
files/image_config/config-setup/config-setup
-- Modify the existing code to use the existing definition "supervisor=1" in platform_env.conf to determine if reliable TSA/TSB are only supported on Chassis Supervisor
dockers/docker-fpm-frr/base_image_files/TSA
dockers/docker-fpm-frr/base_image_files/TSB
dockers/docker-fpm-frr/base_image_files/TSC
dockers/docker-fpm-frr/base_image_files/idf_isolation
dockers/docker-fpm-frr/base_image_files/platform_utils
rules/docker-fpm-frr.mk
--Follow the existing design to enhance the platform_utils to check the platform_env.conf and chassisdb.conf and export the IS_SUPERVISOR and IS_CHASSIS_MODULE for the TSA/TSB/TSC to use.
files/image_config/monit/container
src/system-health/health_checker/service_checker.py
-- Modify these two files to use is_database_chassis_supported() to database-chassis container and service are expected for th emonitoring
How to verify it
-- make sure database-chassis are created on Supervisor and functioning correctly.
-- Run the TSA/TSB/TSC on both LC and Supervisor to make they work as expected.
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
Description for the changelog
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)