-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Celestica Seastone] fix multi sonic platform issues #13356
[Celestica Seastone] fix multi sonic platform issues #13356
Conversation
- What I did Fix the following issues for Seastone platform: 1. system-health issue: sonic-net#9530, sonic-net#11322 2. show platform firmware updates issue: sonic-net#11317 3. other platform optimization - How I did it Modify and optimize the platform implememtation. - How to verify it Manual run the test commands described in these issues.
d2eaaeb
to
5b8c308
Compare
@yxieca No reviewer assigned, please help to review this PR. |
@qnos thanks for all the efforts you put into fixing the issues. Using the sonic build from the PR branch (https://dev.azure.com/mssonic/build/_build/results?buildId=203616&view=artifacts&pathAsName=false&type=publishedArtifacts) on one of our Seastones,
Should the build be testable on real hardware or is this 'UTILITIES_UNIT_TESTING' output due to using a PR build? Summary of 'show version' of the specific PR buildadmin@sonic:~$ show version
SONiC Software Version: SONiC.master-13356.203616-0139e8d9d
Distribution: Debian 11.6
Kernel: 5.10.0-18-2-amd64
Build commit: 0139e8d9d
Build date: Mon Jan 16 02:44:03 UTC 2023
Built by: AzDevOps@vmss-soni000BGK
Platform: x86_64-cel_seastone-r0
HwSKU: Celestica-DX010
ASIC: broadcom
ASIC Count: 1
Serial Number: DX010B2F108606LK100236
Model Number: R0872-F0010-01
Hardware Revision: N/A
Uptime: 19:55:46 up 45 min, 3 users, load average: 0.85, 1.79, 2.53
Date: Mon 16 Jan 2023 19:55:46
Docker images:
REPOSITORY TAG IMAGE ID SIZE
docker-macsec latest 12987a8e4c01 375MB
docker-dhcp-relay latest b86296cf577e 366MB
docker-eventd latest 9159afb93816 356MB
docker-eventd master-13356.203616-0139e8d9d 9159afb93816 356MB
docker-orchagent latest b2a9afc7fe9b 385MB
docker-orchagent master-13356.203616-0139e8d9d b2a9afc7fe9b 385MB
docker-teamd latest 7b894989965a 373MB
docker-teamd master-13356.203616-0139e8d9d 7b894989965a 373MB
docker-fpm-frr latest 9b59b7e075a1 402MB
docker-fpm-frr master-13356.203616-0139e8d9d 9b59b7e075a1 402MB
docker-gbsyncd-broncos latest db7effe1935b 404MB
docker-gbsyncd-broncos master-13356.203616-0139e8d9d db7effe1935b 404MB
docker-gbsyncd-credo latest a880e0923e1c 374MB
docker-gbsyncd-credo master-13356.203616-0139e8d9d a880e0923e1c 374MB
docker-sonic-telemetry latest 1a9542e712e1 655MB
docker-sonic-telemetry master-13356.203616-0139e8d9d 1a9542e712e1 655MB
docker-syncd-brcm latest 38efaf0a167b 699MB
docker-syncd-brcm master-13356.203616-0139e8d9d 38efaf0a167b 699MB
docker-snmp latest 46180872509d 396MB
docker-snmp master-13356.203616-0139e8d9d 46180872509d 396MB
docker-router-advertiser latest 80774f84b2dc 356MB
docker-router-advertiser master-13356.203616-0139e8d9d 80774f84b2dc 356MB
docker-platform-monitor latest 7a9b45999e51 478MB
docker-platform-monitor master-13356.203616-0139e8d9d 7a9b45999e51 478MB
docker-sonic-p4rt latest 37f2ea8de30b 927MB
docker-sonic-p4rt master-13356.203616-0139e8d9d 37f2ea8de30b 927MB
docker-mux latest d5dd4e390b80 405MB
docker-mux master-13356.203616-0139e8d9d d5dd4e390b80 405MB
docker-lldp latest a650e58e7168 399MB
docker-lldp master-13356.203616-0139e8d9d a650e58e7168 399MB
docker-database latest 3bd7ce23baf8 356MB
docker-database master-13356.203616-0139e8d9d 3bd7ce23baf8 356MB
docker-nat latest 6440dffa811c 351MB
docker-nat master-13356.203616-0139e8d9d 6440dffa811c 351MB
docker-sflow latest a4eb8aeb28d6 349MB
docker-sflow master-13356.203616-0139e8d9d a4eb8aeb28d6 349MB
docker-sonic-mgmt-framework latest ae83fe36bb67 477MB
docker-sonic-mgmt-framework master-13356.203616-0139e8d9d ae83fe36bb67 477MB Kind regards, |
Unfortunately the command 'show platform firmware updates' still yields the same error
Kind regards, |
Using the PR build, the following issues are fixed: Output of show platform syseeprom
Output of show platform summary
Output of show platform psustatus
Output of show platform fan
Kind regards, |
In my PR #13356 , I have changed the name to "Seastone-DX010" to match the default SKU, but your built still kept using "Celestica-DX010". Please review your merged code to check it. |
There is a try .. except logic in /usr/local/lib/python3.9/dist-packages/show/system_health.py which would catch and handle this kind of exception. Please check if there are any differences in this build. @system_health.command()
def detail():
"""Show system-health detail information"""
# Mock the redis for unit test purposes #
try:
if os.environ["UTILITIES_UNIT_TESTING"] == "1":
modules_path = os.path.join(os.path.dirname(__file__), "..")
sys.path.insert(0, modules_path)
from tests.system_health_test import MockerManager
from tests.system_health_test import MockerChassis
HealthCheckerManager = MockerManager
Chassis = MockerChassis
except Exception:
# Normal run... #
if os.geteuid():
click.echo("Root privileges are required for this operation")
return
from health_checker.manager import HealthCheckerManager
from sonic_platform.chassis import Chassis |
Hi qnos, I did not build Azure Sonic on my own. Instead I used the build triggered by this PR. I presumed, a PR build will create Sonic images to be installed on real hardware in order to test them before completing the PR. Thanks for pointing this out - and sorry for the typo in your username, @qnos.
|
Hello FunForNOS, I find the difference, your device got the wrong HwSKU info, Default HwSKU should be Seastone-DX010. I guess you installed the image through sonic-installer and your device had the wrong HwSKU info in config db. admin@sonic:~$ sudo rm /etc/sonic/config_db.json
admin@sonic:~$ sudo config-setup factory
admin@sonic:~$ sudo reboot
# After reboot complete:
admin@sonic:~$ show platform summary You should see the hwsku info like this: admin@sonic:~$ show platform summary
Platform: x86_64-cel_seastone-r0
HwSKU: Seastone-DX010
ASIC: broadcom
ASIC Count: 1 |
Hi @qnos
By resetting the sonic configuration database, the HwSKU info is now correct:
But 'show platform firmware updates' still fails
with CPLD5 being introduced here. But anyway - this means, we're a step forward :) |
May be add a dummy implementation for Chassis.initialize_system_led()?
This dummy implementation can be found > 10 times for other vendors and other platforms as well. |
Yes, CPLD5 was introduced in this PR. Please make sure platform_component.json has the CPLD5 item, and chassis.py NUM_COMPONENT is 6, then the Error would disappear. Or just make sure this PR is completed merged into code base. |
My PR has added this function into chassis.py as a workaround for system-health issue. |
@yxieca please cherry-pick this to 202205 |
@qiluo-msft please cherry-pick this to 202012 |
@StormLiangMS please cherry-pick to 202211 |
@StormLiangMS, @prgeor please hold off cherry-picking. This PR has issues needs to be addressed. @assrinivasan has the details. |
Why I did it Fix the following issues for Seastone platform: - system-health issue: show system-health detail will not complete #9530, Celestica Seastone DX010-C32: show system-health detail fails with 'Chassis' object has no attribute 'initizalize_system_led' #11322 - show platform firmware updates issue: Celestica Seastone DX010-C32: show platform firmware updates #11317 - other platform optimization How I did it Modify and optimize the platform implememtation. How to verify it Manual run the test commands described in these issues.
@assrinivasan Can you give some details? |
Hi @qnos -- there was a concern that the changed HSWKU from Celestica-DX010 to Seastone-DX010 would cause issues but we confirmed that there is no direct impact (per @prgeor) . @StormLiangMS please feel free to cherry-pick. |
Why I did it Fix the following issues for Seastone platform: - system-health issue: show system-health detail will not complete sonic-net#9530, Celestica Seastone DX010-C32: show system-health detail fails with 'Chassis' object has no attribute 'initizalize_system_led' sonic-net#11322 - show platform firmware updates issue: Celestica Seastone DX010-C32: show platform firmware updates sonic-net#11317 - other platform optimization How I did it Modify and optimize the platform implememtation. How to verify it Manual run the test commands described in these issues.
Cherry-pick PR to 202205: #13485 |
Hi,
Here is another example with show ip route command
|
@FunForNOS this PR is now merged |
Why I did it Fix the following issues for Seastone platform: - system-health issue: show system-health detail will not complete sonic-net#9530, Celestica Seastone DX010-C32: show system-health detail fails with 'Chassis' object has no attribute 'initizalize_system_led' sonic-net#11322 - show platform firmware updates issue: Celestica Seastone DX010-C32: show platform firmware updates sonic-net#11317 - other platform optimization How I did it Modify and optimize the platform implememtation. How to verify it Manual run the test commands described in these issues.
Cherry-pick PR to 202211: #13653 |
Why I did it Fix the following issues for Seastone platform: - system-health issue: show system-health detail will not complete #9530, Celestica Seastone DX010-C32: show system-health detail fails with 'Chassis' object has no attribute 'initizalize_system_led' #11322 - show platform firmware updates issue: Celestica Seastone DX010-C32: show platform firmware updates #11317 - other platform optimization How I did it Modify and optimize the platform implememtation. How to verify it Manual run the test commands described in these issues.
Why I did it
Fix the following issues for Seastone platform:
How I did it
Modify and optimize the platform implememtation.
How to verify it
Manual run the test commands described in these issues.
Which release branch to backport (provide reason below if selected)
Description for 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
A picture of a cute animal (not mandatory but encouraged)