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

Inband firmware install #182

Merged
merged 20 commits into from
Aug 22, 2024
Merged

Inband firmware install #182

merged 20 commits into from
Aug 22, 2024

Conversation

joelrebel
Copy link
Member

@joelrebel joelrebel commented Aug 16, 2024

What does this PR do

  • Implements support to install firmware inband
  • Implements Task action, step resumption

requires,
metal-toolbox/rivets#88
metal-toolbox/ctrl#22

Note: to be merged after rivets, ctrl are tagged.

The Action object is persisted as part of the Task object and the added
fields provide context to installer across action steps
Enables flasher to pick up from the action/step where it left off before a power cycle
when executing inband work.
The 60 second timeout crossed easily in the sandbox
when downloaded large update files like the dell BMC firmware blob
…response

The InbandInstall bool is required for flasher inband to plan and
execute the inband install
instead of powercycling post each component firwmare install
if its not the final install action
@@ -23,29 +26,40 @@ var cmdRun = &cobra.Command{
Use: "run",
Short: "Run flasher service to listen for events and install firmware",
Run: func(cmd *cobra.Command, _ []string) {
runWorker(cmd.Context())
var mode model.RunMode
Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

component.Model,
)
if err != nil {
// not a fatal error
Copy link
Contributor

Choose a reason for hiding this comment

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

How do we know its not a fatal error? Could it also be something else? We shouldnt assume that the only error here is there are no install requirements.

Copy link
Member Author

Choose a reason for hiding this comment

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

Its only a fatal error if no update utility was available in ironlib, thanks for pointing this out

jakeschuurmans
jakeschuurmans previously approved these changes Aug 22, 2024
@joelrebel joelrebel merged commit ca39a70 into main Aug 22, 2024
7 checks passed
@joelrebel joelrebel deleted the inband-3 branch August 22, 2024 15:12
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.

3 participants