Skip to content

Add support for boot.method constraint in testcloud provision plugin#4540

Merged
happz merged 4 commits intomainfrom
fvagner-testcloud-uefi
Feb 5, 2026
Merged

Add support for boot.method constraint in testcloud provision plugin#4540
happz merged 4 commits intomainfrom
fvagner-testcloud-uefi

Conversation

@therazix
Copy link
Contributor

@therazix therazix commented Feb 2, 2026

Adds support for the boot.method hardware constraint in the testcloud provision plugin. The boot method can be selected only for the x86_64 architecture. For other architectures, the boot method is set automatically and cannot be changed.

Resolves #4203

Pull Request Checklist

  • implement the feature
  • write the documentation
  • extend the test coverage
  • update the specification
  • adjust plugin docstring
  • modify the json schema
  • mention the version
  • include a release note

@therazix therazix added this to the 1.67 milestone Feb 2, 2026
@therazix therazix requested a review from lbrabec as a code owner February 2, 2026 20:51
@therazix therazix added this to planning Feb 2, 2026
@therazix therazix added step | provision Stuff related to the provision step plugin | testcloud The testcloud virtual provision plugin ci | full test Pull request is ready for the full test execution labels Feb 2, 2026
@github-project-automation github-project-automation bot moved this to backlog in planning Feb 2, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @therazix, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the testcloud provision plugin by integrating support for the boot.method hardware constraint. This allows users to precisely define the boot firmware (BIOS or UEFI) for virtual machines, particularly on x86_64 architectures, thereby offering more granular control over the testing environment's setup. The implementation also includes robust handling for other architectures, ensuring compatibility and providing informative warnings when boot methods are automatically adjusted.

Highlights

  • Boot Method Constraint Support: The testcloud provision plugin now supports the boot.method hardware constraint, allowing for explicit selection of boot firmware.
  • x86_64 Specific Control: Users can now explicitly choose between BIOS or UEFI boot for virtual machines provisioned on x86_64 systems.
  • Architecture-Specific Handling: For other architectures (aarch64, ppc64le, s390x), the boot method is automatically determined, and any conflicting user-specified methods are ignored with a warning.
  • New Helper Function: A new internal function, _get_hw_boot_method, has been introduced to extract and interpret the boot.method from hardware constraints.
  • Test Coverage and Documentation: Unit tests for the new boot method extraction logic have been added, and the hardware boot specification and a release note have been updated.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@therazix therazix moved this from backlog to review in planning Feb 2, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds support for the boot.method hardware constraint in the testcloud provision plugin, which is a great feature. The implementation is solid, and the test coverage is good. I've found a few minor areas for improvement related to code quality and maintainability, including a small typing issue in a test, some unreachable code, and an opportunity to refactor some duplicated logic. Overall, this is a well-executed change.

@tcornell-bus
Copy link
Collaborator

It looks like other hardware options are tested for in tests/provision/virtual.testcloud/test.sh. Could that test be expanded to verify boot.method as well?

@therazix therazix force-pushed the fvagner-testcloud-uefi branch from 7f442eb to 417af1d Compare February 3, 2026 21:26
@therazix
Copy link
Contributor Author

therazix commented Feb 3, 2026

It looks like other hardware options are tested for in tests/provision/virtual.testcloud/test.sh. Could that test be expanded to verify boot.method as well?

Added in 417af1d.

@happz happz moved this from review to merge in planning Feb 4, 2026
@psss psss force-pushed the fvagner-testcloud-uefi branch from 417af1d to 4f3ad24 Compare February 5, 2026 14:38
@happz happz merged commit 86cb2e3 into main Feb 5, 2026
28 checks passed
@happz happz deleted the fvagner-testcloud-uefi branch February 5, 2026 20:32
@github-project-automation github-project-automation bot moved this from merge to done in planning Feb 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci | full test Pull request is ready for the full test execution plugin | testcloud The testcloud virtual provision plugin step | provision Stuff related to the provision step

Projects

Status: done

Development

Successfully merging this pull request may close these issues.

Support configuring UEFI on x86_64 in testcloud provision

4 participants