Skip to content
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

[Mellanox] Modified Platform API to support all firmware updates in single boot #9608

Merged
merged 33 commits into from
Jan 24, 2022

Conversation

alexrallen
Copy link
Contributor

DEPENDS ON sonic-net/sonic-platform-common#254 AND #9607 DO NOT MERGE WITHOUT

Why I did it

Requirements from Microsoft for fwutil update all state that all firmwares which support this upgrade flow must support upgrade within a single boot cycle. This conflicted with a number of Mellanox upgrade flows which have been revised to safely meet this requirement.

How I did it

  • Added --no-power-cycle flags to SSD and ONIE firmware scripts
  • Modified Platform API to call firmware upgrade flows with this new flag during fwutil update all
  • Added a script to our reboot plugin to handle installing firmwares in the correct order with prior to reboot

How to verify it

  1. Populate platform_components.json with firmware for CPLD / BIOS / ONIE / SSD
  2. Execute fwutil update all fw --boot cold
    CPLD will burn / ONIE and BIOS images will stage / SSD will schedule for reboot
  3. Reboot the switch
    SSD will install / CPLD will refresh / switch will power cycle into ONIE
    ONIE installer will upgrade ONIE and BIOS / switch will reboot back into SONiC
  4. In SONiC run fwutil show status to check that all firmware upgrades were successful

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

None

Description for the changelog

[mellanox] Modified Platform API to support all firmware updates in single boot

A picture of a cute animal (not mandatory but encouraged)

red-panda-full-body

@alexrallen
Copy link
Contributor Author

Note: This is failing due to aforementioned dependencies.

@lgtm-com
Copy link

lgtm-com bot commented Dec 21, 2021

This pull request introduces 1 alert when merging 9fd75b5 into 3aec728 - view on LGTM.com

new alerts:

  • 1 for Unused import

@liat-grozovik liat-grozovik changed the title [mellanox] Modified Platform API to support all firmware updates in single boot [Mellanox] Modified Platform API to support all firmware updates in single boot Jan 2, 2022
@liat-grozovik liat-grozovik added Platform: Mellanox Request for 202111 Branch For PRs being requested for 202111 branch labels Jan 2, 2022
@lgtm-com
Copy link

lgtm-com bot commented Jan 5, 2022

This pull request introduces 1 alert when merging 07c6709 into 9dfdb43 - view on LGTM.com

new alerts:

  • 1 for Unused import

@lgtm-com
Copy link

lgtm-com bot commented Jan 18, 2022

This pull request introduces 1 alert when merging dc436e9 into 4076194 - view on LGTM.com

new alerts:

  • 1 for Unused import

@sujinmkang sujinmkang merged commit 8a07af9 into sonic-net:master Jan 24, 2022
judyjoseph pushed a commit that referenced this pull request Jan 31, 2022
…ingle boot (#9608)

Why I did it
Requirements from Microsoft for fwutil update all state that all firmwares which support this upgrade flow must support upgrade within a single boot cycle. This conflicted with a number of Mellanox upgrade flows which have been revised to safely meet this requirement.

How I did it
Added --no-power-cycle flags to SSD and ONIE firmware scripts
Modified Platform API to call firmware upgrade flows with this new flag during fwutil update all
Added a script to our reboot plugin to handle installing firmwares in the correct order with prior to reboot
How to verify it
Populate platform_components.json with firmware for CPLD / BIOS / ONIE / SSD
Execute fwutil update all fw --boot cold
CPLD will burn / ONIE and BIOS images will stage / SSD will schedule for reboot
Reboot the switch
SSD will install / CPLD will refresh / switch will power cycle into ONIE
ONIE installer will upgrade ONIE and BIOS / switch will reboot back into SONiC
In SONiC run fwutil show status to check that all firmware upgrades were successful
liat-grozovik pushed a commit that referenced this pull request Jan 16, 2023
Partial cherry-pick of: [Mellanox] Modified Platform API to support all firmware updates in single boot #9608

- Why I did it
To allow user manual reboot control over ONiE FW upgrade

- How I did it
Added a dedicated script argument handling

- How to verify it
mlnx-onie-fw-update.sh update --no-reboot

Signed-off-by: Nazarii Hnydyn <[email protected]>
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.

4 participants