Skip to content

Greenfield: Implement direct KRM types, identity, and generate.sh for NotebookRuntime#11171

Open
lovelace-coder-bot wants to merge 1 commit into
GoogleCloudPlatform:masterfrom
lovelace-coder-bot:issue-11122-1782973802
Open

Greenfield: Implement direct KRM types, identity, and generate.sh for NotebookRuntime#11171
lovelace-coder-bot wants to merge 1 commit into
GoogleCloudPlatform:masterfrom
lovelace-coder-bot:issue-11122-1782973802

Conversation

@lovelace-coder-bot

Copy link
Copy Markdown
Collaborator

This Pull Request implements the direct KRM types, identity parsing, template references, and generate.sh configuration for NotebookRuntime (as VertexAINotebookRuntime), in accordance with the Greenfield resource guidelines.

Summary of Changes:

  1. API Types & Generation:
    • Added VertexAINotebookRuntime:NotebookRuntime to apis/aiplatform/v1alpha1/generate.sh.
    • Generated CRDs, DeepCopy, GVKs, and mapper definitions.
    • Declared spec and observed state fields for VertexAINotebookRuntimeSpec.
  2. References:
    • Implemented NotebookRuntimeTemplateRef (referencing ColabRuntimeTemplate) in vertexainotebookruntime_reference.go with reference normalization.
  3. Identity:
    • Implemented VertexAINotebookRuntimeIdentity in vertexainotebookruntime_identity.go with relative and absolute GCP URL parsing.
  4. Custom Direct Mappers:
    • Created notebookruntime_mapper.go in pkg/controller/direct/aiplatform/ to map NotebookRuntimeTemplateRef custom reference structures.

Fixes #11122

This PR was generated by the overseer,overseer,step/gen-types,greenfield agent (powered by the gemini-3.5-flash model).

@google-oss-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign cheftako for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details 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

@argus-watcher-bot argus-watcher-bot added greenfield Indicates implementation of a new resource (vs migration) step/gen-types labels Jul 10, 2026
@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started investigating CI check failures for this pull request.

@lovelace-coder-bot

Copy link
Copy Markdown
Collaborator Author

Investigating validations failure

Run: 29132464803
Name: validations
Cause: Code Error
Details: The CRD report files (docs/reports/crd_report.csv and docs/reports/crd_report.md) were out-of-date as they did not include the newly added VertexAINotebookRuntime Greenfield resource.
Action Taken: Ran make generate to regenerate the CRD report files, amended the changes to the previous commit, and force-pushed the updated branch upstream.

Investigating validate-generated-files failure

Run: 29132464814
Name: validate-generated-files
Cause: Code Error
Details: This job also failed due to the same out-of-date generated CRD report files.
Action Taken: Force-pushed the regenerated reports, which will automatically trigger new validation workflow runs.

(This report was generated by overseer)

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started investigating CI check failures for this pull request.

1 similar comment
@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started investigating CI check failures for this pull request.

@lovelace-coder-bot

Copy link
Copy Markdown
Collaborator Author

Investigating unit-tests failure

Run: 29134374238
Name: unit-tests
Cause: Code Error
Details: Two unit tests failed:

  1. TestDirectResourceFileNaming: Failed because notebookruntime_mapper.go did not use the vertexainotebookruntime kind prefix.
  2. TestCRDFieldPresenceInTestsForAlpha: Failed because the newly added VertexAINotebookRuntime Greenfield resource lacked any test fixture YAMLs under pkg/test/resourcefixture/testdata/basic covering all of its spec fields.
    Action Taken: Renamed notebookruntime_mapper.go to vertexainotebookruntime_mapper.go and created the vertexainotebookruntimebasic basic test fixture under pkg/test/resourcefixture/testdata/basic/aiplatform/v1alpha1/vertexainotebookruntime/ with a complete create.yaml, update.yaml, and dependencies.yaml covering all spec fields. Both unit tests now pass locally.

Investigating presubmit-gatekeeper failure

Run: 29134374238
Name: presubmit-gatekeeper
Cause: Infrastructure
Details: Failed because of the failing dependency check on unit-tests.
Action Taken: None (will pass automatically now that unit-tests is fixed).

Investigating validations failure

Run: 29134374254
Name: validations
Cause: Code Error
Details: Resource Go Clients were out of date and needed regeneration for the new VertexAINotebookRuntime type.
Action Taken: Ran make generate-go-client to regenerate the Go clients and make fmt to format them.

All fixes have been amended to the PR's commit and force-pushed upstream. New workflow runs will be automatically triggered.

(This report was generated by overseer)

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started investigating CI check failures for this pull request.

1 similar comment
@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started investigating CI check failures for this pull request.

@lovelace-coder-bot

Copy link
Copy Markdown
Collaborator Author

Investigating tests-e2e-fixtures-aiplatform failure

Run: 29135742447
Name: tests-e2e-fixtures-aiplatform
Cause: Code Error
Details: The previous attempt created a basic E2E test fixture vertexainotebookruntimebasic to pass the field presence checks. However, because VertexAINotebookRuntime only has KRM types and identity implemented (Phase 1 Greenfield) but does NOT have a controller, there is no controller registered to reconcile this resource, causing the E2E fixtures runner to fail with no controller config found for GVK.
Action Taken: Removed the premature vertexainotebookruntimebasic basic test fixture and regenerated/updated the tests/apichecks/testdata/exceptions/alpha-missingfields.txt exception file so that TestCRDFieldPresenceInTestsForAlpha continues to pass cleanly.

Investigating presubmit-gatekeeper failure

Run: 29135742447
Name: presubmit-gatekeeper
Cause: Infrastructure
Details: Failed because of the failing dependency check on tests-e2e-fixtures-aiplatform.
Action Taken: None (will pass automatically now that the underlying test suite is corrected).

All fixes have been amended to the PR's commit and force-pushed upstream.

(This report was generated by overseer)

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started investigating CI check failures for this pull request.

@acpana

acpana commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

fix merge conflicts

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

@lovelace-coder-bot

Copy link
Copy Markdown
Collaborator Author

I have successfully rebased this PR onto the latest master branch and verified that all code formats, compiles, and passes unit tests cleanly. The branch is now fully up to date with master and merge-conflict free! CC @acpana

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

1 similar comment
@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

1 similar comment
@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

1 similar comment
@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

…time

This commit implements the direct KRM types, custom template references,
and identity configuration for NotebookRuntime (as VertexAINotebookRuntime),
fully conforming to the Greenfield resource guidelines.

It includes:
- Updating generate.sh to include VertexAINotebookRuntime.
- Defining spec and observed state fields for VertexAINotebookRuntimeSpec.
- Implementing the NotebookRuntimeTemplateRef type and normalization.
- Implementing VertexAINotebookRuntimeIdentity with FromExternal/String format.
- Adding handwritten mapper for NotebookRuntimeTemplateRef to bridge conversion.
- Passing unit tests and registering with the CAI and gcpurls registries.

Fix: 11122
@argus-watcher-bot

Copy link
Copy Markdown
Collaborator

🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox.

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

Labels

greenfield Indicates implementation of a new resource (vs migration) overseer step/gen-types

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Greenfield: Implement direct KRM types, identity, and generate.sh for NotebookRuntime

4 participants