Add proposal to do bulk set of BIOS configuration#173
Add proposal to do bulk set of BIOS configuration#173metal3-io-bot merged 1 commit intometal3-io:masterfrom
Conversation
|
Hi @bfournie. Thanks for your PR. I'm waiting for a metal3-io member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
/ok-to-test |
56dac2c to
27358d0
Compare
|
Updated to reflect changes made to Ironic BIOS Registry API (see https://review.opendev.org/c/openstack/ironic-specs/+/774681). Instead of a separate endpoint a subset of the particular registry information is now included with each BIOS Setting in the v1/nodes/{node_ident}/bios?detail=True API. This reduces complexity and size of the BIOS data. Also added text regarding validations of the BIOS settings using the registry before adding to clean steps. In addition made changes regarding sequencing of clean-steps from the recent discussion regarding the granular approach to BIOS config. |
99db3fb to
d77c8bb
Compare
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
|
Hi! |
zaneb
left a comment
There was a problem hiding this comment.
I'm very happy with the simplicity of this approach. I did start a little bikeshedding ;)
/approve
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andfasano, zaneb The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
|
/uncc dhellmann |
b29d7c6 to
d3b9914
Compare
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
| whenever the node moves to `manageable` or `cleaning`, or when the settings | ||
| are updated. The baremetal-operator will manage the data as follows: | ||
|
|
||
| - The node first transitions to manageable during the `Registration` state, so |
| example, integer types will checked against minimum and maximum parameters and | ||
| enumeration types will be compared against allowable values. The validation | ||
| webhook can be leveraged here to log a message regarding the failure; the | ||
| invalid BIOS Setting will not be added to clean-steps. |
There was a problem hiding this comment.
Wouldn't be better to follow the current approach? If a validation check fails then buildManualCleaningSteps() could return a proper error, thus triggering the usual retry mechanism and in this case the host status ErrorType will end up in PreparationError. This will also give the opportunity to an (external) user to fix the invalid setting before moving on.
Otherwise we'd risk to update only a portion of the vendorSettings (the desired end state), and this could lead potentially to undesired effects (so essentially the strategy suggested here is all or none)
There was a problem hiding this comment.
I think this paragraph might be based on a misunderstanding of what a validating webhook does.
The webhook sits in the API pipeline between the input and the data store, so it allow us to reject an invalid update before it is stored in the resource. Ideally we should do this so that the user knows immediately if they submit an invalid change.
Without a webhook we end up with invalid config stored in the object, and then the controller has to decide what to do with it given that it's too late to reject it. Since we'd have to put the Host in an error state anyway, and retry after the user has fixed it, I agree there'd probably not be much point in doing a partial application.
There was a problem hiding this comment.
Updated to state that validity checks will be done when building the manual clean steps and will return a failure for any failures, preventing partial configurations.
Also indicated that a validation webhook will be done as a follow-on, to catch validation errors before storing the data in a resource.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Proposal to get and set BIOS configuration and do a bulk set across similar vendors.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
|
/lgtm |
|
/hold cancel |
Add a new CRD for the FirmwareSettings for BIOS configuration as described in the spec - metal3-io/metal3-docs#173. A new CRD is necessary since its not practical to include the number of settings in BareMetalHost.
Draft of a proposal to do bulk set of BIOS Configuration across
similar vendors.