Skip to content

baremetal: add vendor/model/serial_number to FirmwareComponent - #3849

Merged
mandre merged 1 commit into
gophercloud:mainfrom
karampok:feat/firmware-component-fields
Aug 20, 2026
Merged

mandre merged 1 commit into
gophercloud:mainfrom
karampok:feat/firmware-component-fields

Conversation

@karampok

Copy link
Copy Markdown
Contributor

Summary

  • Add Vendor, Model, SerialNumber pointer fields to FirmwareComponent struct
  • Prepares gophercloud for Ironic microversion 1.114 which adds hardware identity fields to GET /v1/nodes/{ident}/firmware
  • Fields use *string per gophercloud convention: nil when API does not return them (microversion < 1.114)

Reference

Test plan

  • Unit tests updated with new fields in fixture

Assisted-By: Claude [email protected]

@winiciusallan

Copy link
Copy Markdown
Contributor

Hey @karampok, sorry for the delay. Per the api-ref[1] and the source code[2], we currently don't have those fields available. I saw there is a patch in gerrit in progress[3]. I would say that we can't merge this until this land the upstream code. Please ping us when you think it is ready for review.

[1] https://docs.openstack.org/api-ref/baremetal/#node-firmware-nodes
[2] https://github.com/openstack/ironic/blob/master/ironic/db/sqlalchemy/models.py#L559
[3] https://review.opendev.org/c/openstack/ironic/+/992034

@karampok
karampok marked this pull request as draft July 20, 2026 07:20
@karampok

Copy link
Copy Markdown
Contributor Author

Sounds good, I made the PR draft until then. Thanks for the comment

@karampok
karampok marked this pull request as ready for review August 19, 2026 08:55
@karampok

Copy link
Copy Markdown
Contributor Author

hi @winiciusallan this https://review.opendev.org/c/openstack/ironic/+/992034 has been merged. Not sure the 1, 2 will be updated automatically i need to check. But we can start looking if the PR is ok or missing something. Thanks

@winiciusallan

Copy link
Copy Markdown
Contributor

@karampok looks like github actions had some degradation early today. would you mind rebasing and pushing it again so we can trigger the jobs?

Prepares gophercloud for Ironic microversion 1.114 which adds hardware
identity fields to GET /v1/nodes/{ident}/firmware (spec:
https://review.opendev.org/c/openstack/ironic-specs/+/985800).

Operators currently cannot correlate a firmware record with inventory
entries. Ironic will populate vendor/model/serial_number from Redfish
resources already fetched during firmware caching -- no extra BMC calls.

Fields use pointer types (*string) per gophercloud convention: nil when
the API does not return them (microversion < 1.114), non-nil otherwise.

Assisted-By: Claude <[email protected]>
@karampok
karampok force-pushed the feat/firmware-component-fields branch from 5438daa to 72cdeba Compare August 19, 2026 15:25
@github-actions github-actions Bot added semver:minor Backwards-compatible change backport-v2 This PR will be backported to v2 labels Aug 19, 2026
@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 63.562%. remained the same — karampok:feat/firmware-component-fields into gophercloud:main

@winiciusallan winiciusallan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good, thanks! Unfortunately, we do not use Redfish in our acceptance tests, so we can't reliably test your changes against an operational OpenStack deployment.

Maybe it'd be good to have it in near future.

@karampok

Copy link
Copy Markdown
Contributor Author

Hi thanks for looking

Maybe it'd be good to have it in near future.

I am not sure what you mean, that the PR cannot be merged any time soon or?
Is there something I can do?

Context: I need this for metal3-io/baremetal-operator#3424 which uses the project as dependency and I suppose.

Thanks!

@mandre
mandre added this pull request to the merge queue Aug 20, 2026
Merged via the queue into gophercloud:main with commit 1a87865 Aug 20, 2026
70 checks passed
@winiciusallan

Copy link
Copy Markdown
Contributor

Maybe it'd be good to have it in near future.

I am not sure what you mean, that the PR cannot be merged any time soon or? Is there something I can do?

yes, it can! just taking notes because we need to improve our CI to cover more cases and reliably test and merge

thank you for your contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-v2 This PR will be backported to v2 edit:baremetal This PR updates baremetal code semver:minor Backwards-compatible change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants