-
Notifications
You must be signed in to change notification settings - Fork 22
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
Merge upstream 2021-06-15 #156
Merge upstream 2021-06-15 #156
Conversation
Modify the value of power_interface so that soft power off can be used directly. When irmc power interface is used, Soft Reboot (Graceful Reset) and Soft Power Off (Graceful Power Off) are only available if ServerView agents are installed. Signed-off-by: Zhou Hao <zhouhao@cn.fujitsu.com>
Most linters are disabled by default when using golangci-lint, we need to explicitely enable them if we want them to run. This change enables the basic golint support. For more info please check https://golangci-lint.run/usage/quick-start Also remove useless or duplicated entries from Makefile.
Fix adoption in ExternallyProvisioned state
Make run command for ironic-inspector explicit and define the entrypoint for local run.
Enable golint with golangci-lint
It's already included in the golint job
modify power_interface for irmc
Add go.mod for BMH api
This will let you set IPA_BASEURI in your environment in metal3-dev-env and have this variable propagate to the ipa-downloader image, so that the Ironic Python Agent can be downloaded from a defined location.
Code to generate UpdateOpts to set options values in ironic is repetitive and verbose, and often lacks niceties such as checking whether the correct value is already set before initiating an update. Add a nodeUpdater type that accumulates UpdateOpts, adding or removing desired values from either the Properties or InstanceInfo sections, only when needed.
Since c0373bb we set the image options on every registration. This is necessary, because we may have failed to set these options immediately after creating the node, and also because the image options are no longer passed in the Registration state but may be needed in the ExternallyProvisioned state. However, currently we do not check for the presence of the correct option values, which means we are doing an extra unconditional write to ironic on virutally every reconcile. Reduce the load on ironic by not setting the options unless we are changing or adding values.
Use the nodeUpdater type to greatly simplify the code for updating the node's properties.
Take advantage of the infrastructure we have built for lazily setting the properties and instance_info options to set top-level options. This simplifies the code and ensures consistent logging. A new convenience function is added to ensure a simple interface. To avoid doing reflection on the Node object, we just pass the current value as a parameter.
The nodeUpdater contains a list of updates, so just pass a single one of those around rather than creating a new one each time we have updates and concatenating the result onto an external updates list. Since we are changing function signatures, get rid of all the error returns that are not used as well.
Use a common implementation to update config options in an ironic Node based on the operations accumulated in a nodeUpdater.
Always lazily update Node options in Ironic
Add unit and lint test in travis
Propagate IPA_BASEURI env var to local ironic containers
Fix travis lint test
After ironic-inspector merges with ironic image, we need to change the reference of the ironic-inspector container to point to the ironic image in quay. This should happen after metal3-io/ironic-image#253
Signed-off-by: Zou Yu <zouy.fnst@cn.fujitsu.com>
Remove govet script and test
Don't assigne variable is to itself. Reference: https://github.com/koalaman/shellcheck/wiki/SC2269
Revert "Add unit and lint test in travis"
Fix some typos
Define command for ironic-inspector run
Signed-off-by: Zou Yu <zouy.fnst@cn.fujitsu.com>
Signed-off-by: Zou Yu <zouy.fnst@cn.fujitsu.com>
Signed-off-by: Zou Yu <zouy.fnst@cn.fujitsu.com>
…os_config Extend BaremetalHost CRD to support BIOS configuration in baremetal server
Instead of defaulting the $BMO_CONCURRENCY value (the maximum number of Hosts to reconcile concurrently) to a hard-coded value of 3, set it instead to the number of CPU threads available, but constrained to a range between 2 and 8. We never default to 1 so that we don't inadvertantly rely on single-threadedness in tests. 8 seems to be a reasonable value for a large scale deployment, while still being substantially below the default $PROVISIONING_LIMIT of 20. There remains no restriction on the value that can be passed in the environment variable. Fixes metal3-io#905
We never call the provisioner in this state, so speed it up by never checking the current registration status.
Increase the default $BMO_CONCURRENCY for scale
Redfish virtual media supports pre-generated ISO ramdisks in addition to a kernel/initramfs pair. Other drivers will catch up as well once https://storyboard.openstack.org/#!/story/2008880 is fixed.
Signed-off-by: Zou Yu <zouy.fnst@cn.fujitsu.com>
Disable raid feature for iRMC server
Currently it's not clear that the `baremetalhost.metal3.io/detached` annotation ignores the value. This PR makes it clear in the API documentation that the annotation is not a boolean value so that setting it as `"false"` may not have an expected result.
Unify `kubectl apply -f` format
Also run controller-gen on the controller directory to get rbac
Support deploy_iso in addition to deploy_kernel/ramdisk
Extend docs for "baremetalhost.metal3.io/detached" annotation
Careful attention was given to the prepare_test.go file where the downstream-only change was carried.
/test e2e-metal-ipi-serial-ipv4 |
2 similar comments
/test e2e-metal-ipi-serial-ipv4 |
/test e2e-metal-ipi-serial-ipv4 |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: honza, sadasu The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Careful attention was given to the prepare_test.go file where the downstream-only change was carried.