-
Notifications
You must be signed in to change notification settings - Fork 0
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
Conversation
The Action object is persisted as part of the Task object and the added fields provide context to installer across action steps
include a component helper method
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 |
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.
This can be simplified: cf. https://pkg.go.dev/github.com/spf13/cobra#Command.MarkFlagsMutuallyExclusive
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.
Did you a specific approach in mind here - since I do have the flags marked as mutually exclusive - https://github.com/metal-toolbox/flasher/pull/182/files/4a72d802c7d4c6603480f23a30eab371e82eea62#diff-8146f8148ccbf6711d65f532f6ab9a7c8dfbdc3960c7ffc974f17d6d224dd349R195-R196
internal/inband/actions.go
Outdated
component.Model, | ||
) | ||
if err != nil { | ||
// not a fatal error |
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.
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.
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.
Its only a fatal error if no update utility was available in ironlib, thanks for pointing this out
What does this PR do
requires,
metal-toolbox/rivets#88
metal-toolbox/ctrl#22
Note: to be merged after rivets, ctrl are tagged.