-
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
Automatic fw upgrade for mlnx platform (#18) #31
Conversation
Implement script for firmware upgrade to required version Add firmware binary and script to ops-syncd-mlnx container Add pciutils and usbutils to sonic-generic.bin Signed-off-by: marian-pritsak <[email protected]>
Why including firmware upgrade into syncd docker? Is it one-time thing? |
@@ -183,7 +183,9 @@ sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install \ | |||
bsdmainutils \ | |||
ca-certificates \ | |||
i2c-tools \ | |||
efibootmgr | |||
efibootmgr \ | |||
usbutils \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
which component requires this usbutils?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mst utility uses usbutils and pciutils to talk to detect ASIC device
@@ -8,6 +8,10 @@ function clean_up { | |||
|
|||
trap clean_up SIGTERM SIGKILL | |||
|
|||
# fw-upgrade will exit if firmware was actually upgraded or if some error | |||
# occures | |||
. mlnx-fw-upgrade.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
after upgrading the fw, do we need to restart the sxd kernel driver?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we need to restart sxd kernel in order to run newly burned firmware
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then it is needed to add restart sxdkernel driver logic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, correct
If firmware is actually updated, mlnx-fw-upgrade.sh will exit, causing syncd service to restart
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is actually a trick to exit directly from mlnx-fw-upgrade.sh. Please add your comment as code comment.
BTW, syncd service to restart == restart sxdkernel driver?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@qiluo-msft yes. restart syncd service will restart sxdkernel driver
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is actually a trick to exit directly from mlnx-fw-upgrade.sh. Please add your comment as code comment.
There is a comment in start.sh line 11 and mlnx-fw-upgrade.sh line 51 regarding restart logic. Anything else needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, thanks!
As MLNX SDK is shipped with syncd docker, firmware upgrade utility is also going to be a part of it, so that in case of rolling out a new version of SDK, a compatible version of firmware will be installed. During syncd start firmware version is verified to be compatible with SDK shipped with current syncd, and if not - upgrade procedure is initiated. Its a one time action, which happens only when new SDK is available in syncd. |
@@ -8,6 +8,10 @@ function clean_up { | |||
|
|||
trap clean_up SIGTERM SIGKILL | |||
|
|||
# fw-upgrade will exit if firmware was actually upgraded or if some error | |||
# occures | |||
. mlnx-fw-upgrade.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is actually a trick to exit directly from mlnx-fw-upgrade.sh. Please add your comment as code comment.
BTW, syncd service to restart == restart sxdkernel driver?
if [[ ${required_fw_version} == ${fw_version} ]]; then | ||
echo "Mellanox firmware is up to date." | ||
else | ||
echo "Mellanox firmware required version is ${required_fw_version}. Upgrading..." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Downgrading is also possible here. Is it safe to downgrade? Maybe you can refine the message.
It is possible to do both upgrade and downgrade Change "Upgrading" to "Installing compatible version"
* Automatic fw upgrade for mlnx platform Implement script for firmware upgrade to required version Add firmware binary and script to ops-syncd-mlnx container Add pciutils and usbutils to sonic-generic.bin * Update firmware installation message It is possible to do both upgrade and downgrade Change "Upgrading" to "Installing compatible version" Signed-off-by: marian-pritsak <[email protected]>
* Automatic fw upgrade for mlnx platform Implement script for firmware upgrade to required version Add firmware binary and script to ops-syncd-mlnx container Add pciutils and usbutils to sonic-generic.bin * Update firmware installation message It is possible to do both upgrade and downgrade Change "Upgrading" to "Installing compatible version" Signed-off-by: marian-pritsak <[email protected]>
Signed-off-by: Sihui Han <[email protected]>
Signed-off-by: Praveen Chaudhary [email protected]
This update brings in the following commits. 86c1108 Enable arm architecture to build in addition to amd64 (sonic-net#37) 4acb2c3 fix bugs and enhance Transformer (sonic-net#35) 49e5a22 ygot related enhancements and fixes (sonic-net#34) 51224de Fix ietf yang search path for cvl schema builds (sonic-net#32) 3c6cdb3 CVL Changes sonic-net#8: 'must' and 'when' expression evaluation (sonic-net#31) dabf231 CVL Changes sonic-net#7: 'leafref' evaluation (sonic-net#28) 6f9535f CVL Changes sonic-net#6: Customized Xpath Engine integration (sonic-net#27) 5e2466b DB-Layer fixes/enhancements (sonic-net#26) 9a27302 CVL Changes sonic-net#4: Implementation of new CVL APIs (sonic-net#22) dbf1093 Translib support for authorization, yang versioning and Delete flag (sonic-net#21) 80f369e CVL Changes sonic-net#5: YParser enhancement (sonic-net#23) 904ce18 CVL Changes sonic-net#3: Multi-db instance support (sonic-net#20) 9d24a34 CVL Changes sonic-net#2: YValidator infra changes for evaluating xpath expression (sonic-net#19) f3fc40f CVL Changes sonic-net#1: Initial CVL code reorganization and common infra changes (sonic-net#18) 4922601 Bulk and RPC API support in translib (sonic-net#16) 1d730df RFC7895 yang module library implementation (sonic-net#15)
This update brings in the following commits. 86c1108 Enable arm architecture to build in addition to amd64 (#37) 4acb2c3 fix bugs and enhance Transformer (#35) 49e5a22 ygot related enhancements and fixes (#34) 51224de Fix ietf yang search path for cvl schema builds (#32) 3c6cdb3 CVL Changes #8: 'must' and 'when' expression evaluation (#31) dabf231 CVL Changes #7: 'leafref' evaluation (#28) 6f9535f CVL Changes #6: Customized Xpath Engine integration (#27) 5e2466b DB-Layer fixes/enhancements (#26) 9a27302 CVL Changes #4: Implementation of new CVL APIs (#22) dbf1093 Translib support for authorization, yang versioning and Delete flag (#21) 80f369e CVL Changes #5: YParser enhancement (#23) 904ce18 CVL Changes #3: Multi-db instance support (#20) 9d24a34 CVL Changes #2: YValidator infra changes for evaluating xpath expression (#19) f3fc40f CVL Changes #1: Initial CVL code reorganization and common infra changes (#18) 4922601 Bulk and RPC API support in translib (#16) 1d730df RFC7895 yang module library implementation (#15)
Signed-off-by: Shu0T1an ChenG <[email protected]>
* Exclude non front panel interfaces from nexthop * Fix non front panel interface matching * Fix wrong operators
f00efef Longxiang Lyu Wed Mar 16 09:12:46 2022 +0800 Add a command line option to store logs into a separate file (#41) ff2e67d Longxiang Lyu Tue Mar 15 09:10:59 2022 +0800 Add default port cable type (#39) ebbb4d8 Jing Zhang Mon Mar 14 15:41:11 2022 -0700 Prevent switching MUX to "Unknown" (#36) c779b8f Longxiang Lyu Thu Mar 10 21:35:11 2022 +0800 [nonfunctional] Use LinkProberStateMachineBase (#38) b9fedd0 Longxiang Lyu Wed Mar 9 13:03:58 2022 +0800 [NONFUNCTIONAL] Add LinkProberStateMachineBase (#37) bedd42b Longxiang Lyu Wed Mar 9 10:03:00 2022 +0800 Add .clang-format file to format code (#28) 9fe4fc6 Guohan Lu Thu Mar 3 17:51:43 2022 -0800 [doc]: add lgtm badge in README.md c1249d9 Longxiang Lyu Wed Mar 2 18:05:18 2022 +0800 Enable lgtm (#33) b8514c6 Longxiang Lyu Wed Mar 2 13:34:39 2022 +0800 Collect port cable type to use corresponding state machine (#31) 9b59ef9 Longxiang Lyu Wed Mar 2 07:19:33 2022 +0800 Improve make clean (#32)
* [BFN] Canceling PSU platform API calls on SIGTERM Signed-off-by: Andriy Kokhan <[email protected]> * [BFN] Fixed SONiC fwutil exec time (#31) Signed-off-by: Taras Keryk <[email protected]> Signed-off-by: Andriy Kokhan <[email protected]> Signed-off-by: Taras Keryk <[email protected]> Co-authored-by: Taras Keryk <[email protected]>
Why I did it Advance sonic-dhcp-relay submodule head on 202012 branch How I did it Added the following commits: a4b15d8 jcaiMR Thu Dec 29 14:18:28 2022 +0800 fix relay-reply dhcpv6 packet counter issue (#29) 677543f jcaiMR Sat Dec 17 00:24:32 2022 +0800 fix handleSwssNotification crash in dhcp6relay (#28) ed86546 jcaiMR Wed Dec 14 14:08:58 2022 +0800 Fix multiple vlan issue (#27) 5ec1f5b Vivek Thu Dec 8 09:44:15 2022 -0800 Made the Error log informative (#22) 063d41b jcaiMR Wed Nov 30 14:41:53 2022 +0800 disable cfg dynamic change (#25) d4a51f6 kellyyeh Tue Jan 31 18:09:08 2023 -0800 Add unittest infrastructure (#5) (#31) How to verify it Ran full dhcpv6 test suite on lab device
…ic-net#31) Adding support for evaluating 'must' and 'when' expression based on customized xpath engine.
speed up kernel compile. - DO_DOCS=False do not skip generate document package on 4.19, use DEB_BUILD_PROFILES=nodoc instead. - use arch_amd64_none_amd64 to build the amd64 kernel package, avoid generating cloud-amd64 package. As a result, jenkins pipeline linux-kernel-buster-build-pr job sonic-net#31 takes 1h 6min, compare to sonic-net#30 takes 1h 24min. Co-authored-by: taocy <[email protected]>
[code sync] Merge code from sonic-net/sonic-buildimage:202205 to 202205
…ic-utilities [submodule][202205] Update submodule sonic-utilities to the latest HEAD automatically * c4dcb32 - (HEAD -> 202205, origin/202205) Merge pull request sonic-net#31 from mssonicbld/sonicbld/202205-merge (3 days ago) [mssonicbld] * bb5123d - Merge branch '202205' of https://github.com/sonic-net/sonic-utilities into 202205 (3 days ago) [Sonic Automation] * ff8a064 - [202205][acl-loader] Identity ICMP v4/v6 based on IP_PROTOCOL for custom ACL table types (sonic-net#3003) (3 days ago) [Zhijian Li]
Implement script for firmware upgrade to required version
Add firmware binary and script to ops-syncd-mlnx container
Add pciutils and usbutils to sonic-generic.bin
Signed-off-by: marian-pritsak [email protected]