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

Merge upstream 2021-06-15 #156

Merged
merged 104 commits into from Jun 17, 2021

Conversation

honza
Copy link
Member

@honza honza commented Jun 15, 2021

Careful attention was given to the prepare_test.go file where the downstream-only change was carried.

Zhou Hao and others added 30 commits April 6, 2021 13:33
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.
It's already included in the golint job
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
Propagate IPA_BASEURI env var to local ironic containers
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>
Revert "Add unit and lint test in travis"
Define command for ironic-inspector run
Hellcatlk and others added 19 commits June 6, 2021 17:15
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.
@openshift-ci openshift-ci bot requested review from dtantsur and stbenjam June 15, 2021 10:48
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 15, 2021
@honza
Copy link
Member Author

honza commented Jun 16, 2021

/test e2e-metal-ipi-serial-ipv4

2 similar comments
@sadasu
Copy link

sadasu commented Jun 16, 2021

/test e2e-metal-ipi-serial-ipv4

@honza
Copy link
Member Author

honza commented Jun 17, 2021

/test e2e-metal-ipi-serial-ipv4

@sadasu
Copy link

sadasu commented Jun 17, 2021

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jun 17, 2021
@openshift-ci
Copy link

openshift-ci bot commented Jun 17, 2021

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-robot openshift-merge-robot merged commit aabec75 into openshift:master Jun 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet