Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Support Firmware Interface #2795

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

Merged
merged 1 commit into from
Oct 16, 2023
Merged

Conversation

iurygregory
Copy link
Contributor

@iurygregory iurygregory commented Oct 5, 2023

  • Driver updated to support
  • default_firmware_interface and enabled_firmware_interfaces
  • Node updated to support
  • firmware_interface field can be specified
  • List the Firmware Components requires API 1.86

Fixes #2794

Links to the line numbers/files in the OpenStack source code that support the
code in this PR:

[https://review.opendev.org/c/openstack/ironic/+/885276]
[https://review.opendev.org/c/openstack/ironic/+/885425]
[https://docs.openstack.org/api-ref/baremetal/#node-firmware-nodes]

@github-actions github-actions bot added the semver:major Breaking change label Oct 5, 2023
@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 5, 2023
@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 5, 2023
@@ -404,6 +405,7 @@ const SingleNodeBody = `
"driver_internal_info": {},
"extra": {},
"fault": null,
"firmwrae_interface": "no-firmware",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo: firmware

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tks! , already updated

@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 5, 2023
@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 5, 2023
@coveralls
Copy link

coveralls commented Oct 5, 2023

Coverage Status

coverage: 77.458% (+0.01%) from 77.445% when pulling 8b13ac9 on iurygregory:firmware_interface into 9c3ed38 on gophercloud:master.

@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 6, 2023
@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 6, 2023
Copy link
Contributor

@mandre mandre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @iurygregory, could you rebase your PR on top of master so that we get the bobcat jobs you recently added?

I was curious as to why go-apidiff flags your PR as a breaking change:

github.com/gophercloud/gophercloud/openstack/baremetal/v1/nodes/testing
  Incompatible changes:
  - NodeListDetailBody: value changed from "\n {\n  \"nodes\": [\n    {\n      \"automated_clean\": null,\n     ... to "\n {\n  \"nodes\": [\n    {\n      \"automated_clean\": null,\n     ...
  - NodeValidationBody: value changed from "\n{\n  \"bios\": {\n    \"reason\": \"Driver ipmi does not support b... to "\n{\n  \"bios\": {\n    \"reason\": \"Driver ipmi does not support b...
  - SingleNodeBody: value changed from "\n{\n  \"automated_clean\": null,\n  \"bios_interface\": \"no-bios\"... to "\n{\n  \"automated_clean\": null,\n  \"bios_interface\": \"no-bios\"...
  Compatible changes:
  - HandleListFirmwareSuccessfully: added
  - NodeFirmwareList: added
  - NodeFirmwareListBody: added

github.com/gophercloud/gophercloud/openstack/baremetal/v1/nodes
  Compatible changes:
  - CreateOpts.FirmwareInterface: added
  - FirmwareComponent: added
  - InterfaceFirmware: added
  - ListFirmware: added
  - ListFirmwareResult: added
  - Node.FirmwareInterface: added
  - NodeValidation.Firmware: added

github.com/gophercloud/gophercloud/openstack/baremetal/v1/drivers/testing
  Incompatible changes:
  - SingleDriverDetails: value changed from "\n{\n  \"default_bios_interface\": \"no-bios\",\n  \"default_boot_in... to "\n{\n  \"default_bios_interface\": \"no-bios\",\n  \"default_boot_in...

github.com/gophercloud/gophercloud/openstack/baremetal/v1/drivers
  Compatible changes:
  - Driver.DefaultFirmwareInterface: added
  - Driver.EnabledFirmwareInterfaces: added

It's because of the changes you made to the fixtures, which we should not consider part of the API. We may need to move that to an internal directory like we did with #2786. While we do that, we can overwrite the label to semver:patch.

Also, it looks like devstack install is broken for ironic on ubuntu 20.04:

Setting up grub-efi-amd64-signed (1.187.6~20.04.1+2.06-2ubuntu14.4) ...
mount: /var/lib/grub/esp: special device /dev/disk/by-id/scsi-14d53465420202020d8446e3f9983954098f1e80336f3baf3-part15 does not exist.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 installed grub-efi-amd64-signed package post-installation script subprocess returned error exit status 32
Errors were encountered while processing:
 grub-efi-amd64-signed
E: Sub-process /usr/bin/dpkg returned an error code (1)

Is that something you're looking into?

@iurygregory
Copy link
Contributor Author

@mandre hey, we are looking into it, but I don't think the failure is related to the code change since the same tests failed when I added bobcat jobs see https://github.com/gophercloud/gophercloud/actions/runs/6434009366
I will take a look at #2786 and rebase =)

@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 9, 2023
@github-actions github-actions bot added semver:major Breaking change and removed semver:major Breaking change labels Oct 13, 2023
@iurygregory
Copy link
Contributor Author

@mandre when you have a chance please take a second look =) Tks!

Copy link
Contributor

@mandre mandre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies, we've merged #2811 that renamed the fixtures files to fixtures_test.go. This is the reason why you're getting a conflict. You'll have to rebase once more and fix the conflict. Sorry about that. But there's a good news too: the bot should no longer flag your PR as a breaking change.

PR looks fine to me otherwise.

* Driver updated to support
- default_firmware_interface and enabled_firmware_interfaces

* Node updated to support
- firmware_interface field can be specified
- List the Firmware Components requires API 1.86

Acceptance tests added
- show that the node has the field FirmwareInterface and that returns
no Firmware Components since is ipmi.
@github-actions github-actions bot removed the semver:major Breaking change label Oct 16, 2023
@iurygregory
Copy link
Contributor Author

Thanks @mandre I've rebased the PR, let's see how it goes

@github-actions github-actions bot added the semver:minor Backwards-compatible change label Oct 16, 2023
Copy link
Contributor

@mandre mandre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Success! Thanks @iurygregory.

@mandre mandre added the backport-v1 This PR will be backported to v1 label Oct 16, 2023
@mandre mandre merged commit c6bd7d9 into gophercloud:master Oct 16, 2023
@mandre mandre added backport-v1 This PR will be backported to v1 and removed backport-v1 This PR will be backported to v1 labels Oct 17, 2023
@iurygregory iurygregory deleted the firmware_interface branch February 24, 2025 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-v1 This PR will be backported to v1 semver:minor Backwards-compatible change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

baremetal: support firmware interface
4 participants