Skip to content

[VoQ_T2_PizzaBox] Modify the existing common code to support VOQ T2 on PizzaBox (X3B platform)#21709

Merged
yxieca merged 6 commits intosonic-net:masterfrom
mlok-nokia:voq_t2_pizzabox_support
Apr 9, 2025
Merged

[VoQ_T2_PizzaBox] Modify the existing common code to support VOQ T2 on PizzaBox (X3B platform)#21709
yxieca merged 6 commits intosonic-net:masterfrom
mlok-nokia:voq_t2_pizzabox_support

Conversation

@mlok-nokia
Copy link
Copy Markdown
Contributor

@mlok-nokia mlok-nokia commented Feb 11, 2025

Why I did it

Modified the existing code to support VoQ T2 on multiasic PizzaBox (X3B platform)

Work item tracking
  • Microsoft ADO (number only):

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

  1. running image on chassis.
    -- 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.
  2. Running image on VoQ Pizzabox (x3b) to make sure everything works as expetced.

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305
  • 202411

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)

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mlok-nokia
Copy link
Copy Markdown
Contributor Author

@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

@mlok-nokia
Copy link
Copy Markdown
Contributor Author

@saksarav-nokia Common code changes to support x3b VoQ PizzaBox. Please review it

@mlok-nokia
Copy link
Copy Markdown
Contributor Author

@deepak-singhal0408 @tjchadaga FYI

@rlhui rlhui requested review from arlakshm and tjchadaga February 21, 2025 16:26
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please add some comments here to explain the logic? Please clarify the files/flags on chassis, vs pizza box

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add comments to explain the file checks here as well.

Copy link
Copy Markdown
Contributor Author

@mlok-nokia mlok-nokia Mar 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add comments to explain the file checks here as well.

Add comments as suggestion.

@arlakshm arlakshm requested a review from judyjoseph March 5, 2025 21:56
@mlok-nokia
Copy link
Copy Markdown
Contributor Author

@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.

judyjoseph
judyjoseph previously approved these changes Mar 12, 2025
Copy link
Copy Markdown
Contributor

@judyjoseph judyjoseph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

sry wrong PR .. this one still reviewing

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mlok-nokia mlok-nokia force-pushed the voq_t2_pizzabox_support branch from cf1aa9f to c435e07 Compare March 19, 2025 17:29
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

yxieca pushed a commit that referenced this pull request Mar 19, 2025
…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>
Comment thread files/scripts/asic_status.sh Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@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

Copy link
Copy Markdown
Contributor Author

@mlok-nokia mlok-nokia Mar 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This modification is because of platform -- mellanox/x86_64-nvidia_sn4280-r0/chassisdb.conf. Thi splatform does not have platform_env.conf

@mlok-nokia mlok-nokia force-pushed the voq_t2_pizzabox_support branch from c435e07 to 6906a92 Compare March 26, 2025 16:28
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mlok-nokia mlok-nokia force-pushed the voq_t2_pizzabox_support branch from f2ae651 to e7982e4 Compare April 3, 2025 23:40
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

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>
Comment thread dockers/docker-fpm-frr/base_image_files/TSA Outdated
@mssonicbld
Copy link
Copy Markdown
Collaborator

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Copy Markdown
Contributor

@judyjoseph judyjoseph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@tjchadaga tjchadaga requested a review from yxieca April 9, 2025 22:24
@yxieca yxieca merged commit 08f26a1 into sonic-net:master Apr 9, 2025
19 checks passed
arlakshm added a commit to Azure/sonic-buildimage-msft that referenced this pull request Apr 16, 2025
…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)
vmittal-msft pushed a commit to vmittal-msft/sonic-buildimage that referenced this pull request Oct 20, 2025
…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>
vmittal-msft pushed a commit to vmittal-msft/sonic-buildimage that referenced this pull request Oct 20, 2025
…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>
vmittal-msft pushed a commit to vmittal-msft/sonic-buildimage that referenced this pull request Oct 20, 2025
…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)
@mlok-nokia mlok-nokia deleted the voq_t2_pizzabox_support branch March 25, 2026 20:11
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.

6 participants