Skip to content

[Mellanox] Add sysfs labels ready check#17

Closed
jianyuewu wants to merge 1 commit intomaster_trixiefrom
master_trixie_sysfs_labels_ready_check
Closed

[Mellanox] Add sysfs labels ready check#17
jianyuewu wants to merge 1 commit intomaster_trixiefrom
master_trixie_sysfs_labels_ready_check

Conversation

@jianyuewu
Copy link
Owner

Why I did it

There will be errors, when accessing sysfs files before the hardware management system is fully ready.

How I did it

  • Added _wait_for_sysfs_labels_ready() method in Chassis class to wait for the sysfs labels ready indicator file
  • The method checks both file existence and that its content is non-zero (ready state)
  • Implemented 30-second timeout with 1-second polling interval to avoid indefinite blocking
  • Added appropriate logging for success, timeout, and error cases
  • Modified initialize_thermals() to call the wait function before creating thermal objects

How to verify it

  1. Boot the system and monitor the thermal initialization logs
  2. Verify that thermal sensors are properly detected: show platform temperature
  3. Check that no "sysfs does not exist" errors appear in the logs during boot
  4. Confirm thermal monitoring works correctly after system startup

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

  • master_trixie

Tested branch (Please provide the tested image version)

  • master_trixie

Wait for /var/run/hw-management/sysfs_labels_rdy to exist and contain
non-zero value before initializing chassis thermals. This prevents
accessing sysfs files before hw-management is fully ready.

- Add _wait_for_sysfs_labels_ready() with 30s timeout
- Poll every 1 second with appropriate logging

Signed-off-by: Jianyue Wu <[email protected]>
@jianyuewu jianyuewu closed this Dec 3, 2025
jianyuewu pushed a commit that referenced this pull request Dec 18, 2025
…tically (sonic-net#678)

#### Why I did it
src/sonic-sairedis
```
* fcf2cd0 - (HEAD -> 202412, origin/HEAD, origin/202412) [hash] update ECMP/LAG hash VS lib with SAI_NATIVE_HASH_FIELD_IPV6_FLOW_LABEL (#17) (6 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
jianyuewu pushed a commit that referenced this pull request Dec 18, 2025
…omatically (sonic-net#696)

#### Why I did it
src/sonic-swss-common
```
* b750cc1 - (HEAD -> 202412, origin/HEAD, origin/202412) [code sync] Merge code from sonic-net/sonic-swss-common:202411 to 202412 (#17) (21 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
jianyuewu pushed a commit that referenced this pull request Dec 18, 2025
…tomatically (sonic-net#695)

#### Why I did it
src/sonic-linux-kernel
```
* b2ed221 - (HEAD -> 202412, origin/HEAD, origin/202412) [optoe] Reset page select byte to 0 before upper memory access on page 0h (sonic-net#464) (#17) (21 hours ago) [mssonicbld]
```
#### How I did it
#### How to verify it
#### Description for the changelog
jianyuewu pushed a commit that referenced this pull request Dec 18, 2025
…UT so that we can get back to back Paladin ports up with Arista-7060X6-16PE-384C-O128S2 (sonic-net#1144)

<!--
 Please make sure you've read and understood our contributing guidelines:
 https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

 failure_prs.log skip_prs.log 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

Currently when we loaded HWSKU `Arista-7060X6-16PE-384C-O128S2` on two moby devices and connect their Paladin ports back to back, we can't get link up. It may help if we can get these links up and run the tests.

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it

Created a new `FANOUT` HWSKU containing special lanemap and polarity configs so that we can load `Arista-7060X6-16PE-384C-O128S2` on one Moby and `Arista-7060X6-16PE-384C-O128S2-FANOUT` and get Paladin ports up when connecting them back to back with the following setup:
```
Moby1 Moby2
HWSKU: Arista-7060X6-16PE-384C-O128S2 HWSKU: Arista-7060X6-16PE-384C-O128S2-FANOUT
#17 <-> #18
#19 <-> #20
#21 <-> #22
#23 <-> #24

#18 <-> #17
#20 <-> #19
#22 <-> #21
#24 <-> #23
```

#### How to verify it
Verified that all the Paladin ports can link up with the above setup.

<!--
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
- [ ] 202305
- [x] msft-202412

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->
- [x] msft-202412

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->
Created `Arista-7060X6-16PE-384C-O128S2-FANOUT` based on `Arista-7060X6-16PE-384C-O128S2` and only update lanemap and polarity settings in bcm config.

<!--
 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant