[VoQ_T2_PizzaBox] Modify the existing common code to support VOQ T2 on PizzaBox (X3B platform)#21709
Conversation
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
@judyjoseph @arlakshm and @rlhui This PR modifies/enhances the existing code to support the x3b which is multiasic VoQ Pizzabox. Please help to review it. Thanks |
|
@saksarav-nokia Common code changes to support x3b VoQ PizzaBox. Please review it |
There was a problem hiding this comment.
Could you please add some comments here to explain the logic? Please clarify the files/flags on chassis, vs pizza box
There was a problem hiding this comment.
Could you please add some comments here to explain the logic? Please clarify the files/flags on chassis, vs pizza box
Added comments as suggestion
There was a problem hiding this comment.
@mlok-nokia - would it be possible to add flags in platform_env.conf file to identify chassis, line card and disagg chassis to make this logic cleaner?
There was a problem hiding this comment.
@mlok-nokia - would it be possible to add flags in platform_env.conf file to identify chassis, line card and disagg chassis to make this logic cleaner?
The current design/implementation does not add any new flag. The reason is avoid touch other vendor's platfrom_env file. And also it needs to handle the backward compatibility for platform x86_64-nvidia_sn4280-r0 which has /etc/sonic/chassisdb.conf but No platform_env.conf file
There was a problem hiding this comment.
please add comments to explain the file checks here as well.
There was a problem hiding this comment.
please add comments to explain the file checks here as well.
Add comments as suggestion.
|
@judyjoseph, @arlakshm and @tjchadaga I have modified the asic_status.sh and other file to use combination of the /etc/sonic/chassisdb.conf and platform_env.conf (and its supervisor=1 definition) to determine if it is a supervisor or a Pizzabox with database-chassis support. I have verified the changes on both Chassis and Pizzabox. Please review it. Thanks. |
889eb45 to
cf1aa9f
Compare
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
cf1aa9f to
c435e07
Compare
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…3B platform) (#21710) Why I did it Nokia adds X3B platform support: Platform: x86_64-nokia_ixr7250_x3b-r0 Hwsku: Nokia-IXR7250-X3B How I did it Add new platform Nokia-IXR7250-X3B. platform string: x86_64-nokia_ixr7250_x3b-r0. Hwsku: Nokia-IXR7250-X3B. Nokia-IXR7250-X3B support VoQ T2 feature. Follow the existing multi-asic chassis design, database-chassis is required to be created and support on the PizzaBox. It means that chassisdb.conf will be defined and used in the platform. To support the database-chassis, docker0 (240.127.1.1) will be used for the redis-chassis.server. Key file platform_env.conf will be defined without "supervisor=1" definition to differentiate the x3b and Chassis Supervisor. This Platform support requires PR #21709 This PR requires PR #21737 to pass the image build How to verify it Install and run the image on X3B platform and verify all features Signed-off-by: mlok <marty.lok@nokia.com>
There was a problem hiding this comment.
@mlok-nokia find these checks for supervisor at multiple places. I feel we should just add a flag like may be "diaggregatedT2=1" in one of the platform files (It will be great if there is a way to identify without the need of an explicit flag , eg: https://github.com/sonic-net/sonic-buildimage/blob/master/dockers/docker-fpm-frr/base_image_files/platform_utils). This can be used in bash scripts
we can have a similar API in
, like is_diagg_chassis(), and can be used in all python libraries.This way no need to touch the existing checks for the current supervisor based chassis
There was a problem hiding this comment.
This modification is because of platform -- mellanox/x86_64-nvidia_sn4280-r0/chassisdb.conf. Thi splatform does not have platform_env.conf
c435e07 to
6906a92
Compare
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Azure Pipelines successfully started running 1 pipeline(s). |
f2ae651 to
e7982e4
Compare
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…izzaBox -- Modify the existing to use the platform_env.conf attribuite "supervisor", and combine with chassisdb.conf to differentiate if platform is Chassis module or Pizzabox -- Add new method device_info.is_database_chassis_supported() insteaf of just using the existence of /etc/sonic/chassisdb.conf to identify if database-chassis should be supported (for container_check and service_check) -- Using platform_env.conf and chassisdb.conf to determine if reliable TSA/TSB is supported on Chassis platform only. Signed-off-by: mlok <marty.lok@nokia.com>
|
/azp run Azure.sonic-buildimage |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…or PizzaBox (#996) Why I did it [VoQ_T2_PizzaBox] Modify the existing common code to support VOQ T2 PizzaBox -- Modify the existing to use the platform_env.conf attribuite "supervisor", and combine with chassisdb.conf to differentiate if platform is Chassis module or Pizzabox -- Add new method device_info.is_database_chassis_supported() insteaf of just using the existence of /etc/sonic/chassisdb.conf to identify if database-chassis should be supported (for container_check and service_check) -- Using platform_env.conf and chassisdb.conf to determine if reliable TSA/TSB is supported on Chassis platform only. port sonic-net/sonic-buildimage#21709 Work item tracking Microsoft ADO (32337430): How I did it port sonic-net/sonic-buildimage#21709 to 202503 --------- <!-- Please make sure you've read and understood our contributing guidelines: https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md ** Make sure all your commits include a signature generated with `git commit -s` ** If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx" or "resolves #xxxx" Please provide the following information: --> #### Why I did it * [VoQ_T2_PizzaBox] Modify the existing common code to support VOQ T2 PizzaBox -- Modify the existing to use the platform_env.conf attribuite "supervisor", and combine with chassisdb.conf to differentiate if platform is Chassis module or Pizzabox -- Add new method device_info.is_database_chassis_supported() insteaf of just using the existence of /etc/sonic/chassisdb.conf to identify if database-chassis should be supported (for container_check and service_check) -- Using platform_env.conf and chassisdb.conf to determine if reliable TSA/TSB is supported on Chassis platform only. port sonic-net/sonic-buildimage#21709 ##### Work item tracking - Microsoft ADO **(32337430)**: #### How I did it port sonic-net/sonic-buildimage#21709 to `202503` #### How to verify it <!-- If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012. --> #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 - [ ] 202211 #### Tested branch (Please provide the tested image version) <!-- - Please provide tested image version - e.g. - [x] 20201231.100 --> - [ ] <!-- image version 1 --> - [ ] <!-- image version 2 --> #### Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: --> <!-- Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU. --> #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
…n PizzaBoxw (sonic-net#21709) * [VoQ_T2_PizzaBox] Modify the existing common code to support VOQ T2 PizzaBox -- Modify the existing to use the platform_env.conf attribuite "supervisor", and combine with chassisdb.conf to differentiate if platform is Chassis module or Pizzabox -- Add new method device_info.is_database_chassis_supported() insteaf of just using the existence of /etc/sonic/chassisdb.conf to identify if database-chassis should be supported (for container_check and service_check) -- Using platform_env.conf and chassisdb.conf to determine if reliable TSA/TSB is supported on Chassis platform only. --------- Signed-off-by: mlok <marty.lok@nokia.com>
…3B platform) (sonic-net#21710) Why I did it Nokia adds X3B platform support: Platform: x86_64-nokia_ixr7250_x3b-r0 Hwsku: Nokia-IXR7250-X3B How I did it Add new platform Nokia-IXR7250-X3B. platform string: x86_64-nokia_ixr7250_x3b-r0. Hwsku: Nokia-IXR7250-X3B. Nokia-IXR7250-X3B support VoQ T2 feature. Follow the existing multi-asic chassis design, database-chassis is required to be created and support on the PizzaBox. It means that chassisdb.conf will be defined and used in the platform. To support the database-chassis, docker0 (240.127.1.1) will be used for the redis-chassis.server. Key file platform_env.conf will be defined without "supervisor=1" definition to differentiate the x3b and Chassis Supervisor. This Platform support requires PR sonic-net#21709 This PR requires PR sonic-net#21737 to pass the image build How to verify it Install and run the image on X3B platform and verify all features Signed-off-by: mlok <marty.lok@nokia.com>
…3B platform) (sonic-net#21710) (sonic-net#1022) <!-- Please make sure you've read and understood our contributing guidelines: https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md ** Make sure all your commits include a signature generated with `git commit -s` ** If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx" or "resolves #xxxx" Please provide the following information: --> #### Why I did it Nokia adds X3B platform support: Platform: x86_64-nokia_ixr7250_x3b-r0 Hwsku: Nokia-IXR7250-X3B ##### Work item tracking - Microsoft ADO **[32398643](https://msazure.visualstudio.com/One/_workitems/edit/32398643)**: #### How I did it Add new platform Nokia-IXR7250-X3B. platform string: x86_64-nokia_ixr7250_x3b-r0. Hwsku: Nokia-IXR7250-X3B. Nokia-IXR7250-X3B support VoQ T2 feature. Follow the existing multi-asic chassis design, database-chassis is required to be created and support on the PizzaBox. It means that chassisdb.conf will be defined and used in the platform. To support the database-chassis, docker0 (240.127.1.1) will be used for the redis-chassis.server. Key file platform_env.conf will be defined without "supervisor=1" definition to differentiate the x3b and Chassis Supervisor. This Platform support requires PR sonic-net#21709 #### How to verify it Install and run the image on X3B platform and verify all features <!-- If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012. --> #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 - [ ] 202211 #### Tested branch (Please provide the tested image version) <!-- - Please provide tested image version - e.g. - [x] 20201231.100 --> - [ ] <!-- image version 1 --> - [ ] <!-- image version 2 --> #### Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: --> <!-- Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU. --> #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
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 is_disaggregated_chassis() to check if "disaggregated_chassis=1" is defined in platform_env.conf file
files/scripts/asic_status.sh
-- Modify the is_chassis_supervisor() to use platform_env.conf file and its "disaggregated_chassis=1" define to identify if a platform is a Supervisor or disaggregated_chassis.
files/build_template/docker_image_ctl.j2
files/image_config/config-setup/config-setup
-- Modify the existing code to source platform_env.conf to determine if its disaggregated_chassis or 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
-- Modify scripts to source platform_env.conf and check if "disaggregated_chassis=1" is defined to differentiate Supervisor and disaggregated_chassis
files/image_config/monit/container
src/system-health/health_checker/service_checker.py
-- Modify scripts to call is_disaggregated_chassis() to check if database-chassis container and service are expected for the monitoring
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)