Skip to content

Auto-detect default machine type based on base image architecture.#121

Merged
vinayakumarb merged 4 commits into
GoogleCloudDataproc:mainfrom
aakashminochaCS:patch-1
Mar 26, 2026
Merged

Auto-detect default machine type based on base image architecture.#121
vinayakumarb merged 4 commits into
GoogleCloudDataproc:mainfrom
aakashminochaCS:patch-1

Conversation

@aakashminochaCS
Copy link
Copy Markdown
Contributor

@aakashminochaCS aakashminochaCS commented Jan 8, 2026

The default machine type for custom image builds is now "c4a-standard-2" when an ARM base image is specified, and remains "n1-standard-1" for x86 images.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @aakashminochaCS, 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 custom image build process by introducing an intelligent auto-detection mechanism for default machine types. It allows the system to automatically select an appropriate machine type (either ARM-based 't2a-standard-2' or x86-based 'n1-standard-1') based on the architecture of the provided base image, thereby streamlining the build configuration and reducing the need for manual specification.

Highlights

  • ARM Architecture Detection: A new regular expression, _ARM_ARCH_REGEX, has been introduced to accurately identify ARM-based images by matching terms like 'arm', 'arm64', or 'aarch64' within the base image URI.
  • Dynamic Default Machine Type: The --machine-type argument's default value has been changed from a fixed 'n1-standard-1' to None, enabling the system to dynamically determine the appropriate machine type.
  • Automatic Machine Type Assignment: The system now automatically assigns 't2a-standard-2' as the default machine type for ARM base images and retains 'n1-standard-1' for x86 images when no machine type is explicitly specified by the user.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

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.

Copy link
Copy Markdown
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 introduces auto-detection of the default machine type based on the base image's architecture. The changes are generally in the right direction, adding a regex for ARM detection and constants for machine types. However, there is a critical flaw in the implementation. The logic to determine the machine type is executed before all arguments are fully inferred, which will cause it to select the wrong machine type when using --dataproc-version or --base-image-family for ARM images. I've provided a detailed comment and a partial fix, but a structural change is needed for a complete solution.

Comment thread custom_image_utils/args_parser.py
Comment thread custom_image_utils/args_parser.py Outdated
aakashminochaCS and others added 4 commits March 26, 2026 08:59
The default machine type for custom image builds is now "t2a-standard-2" when an ARM base image is specified, and remains "n1-standard-1" for x86 images.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@vinayakumarb vinayakumarb left a comment

Choose a reason for hiding this comment

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

LGTM

@vinayakumarb vinayakumarb merged commit e88fca3 into GoogleCloudDataproc:main Mar 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants