Greenfield: Implement direct controller, E2E fixtures, and fuzzer for RunWorkerPool - #12928
ada-coder-bot wants to merge 3 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Here are the Google Cloud audit logs proving successful actuation against real GCP: insertId: -na5gmid60c4
logName: projects/cnrm-barni-4/logs/cloudaudit.googleapis.com%2Fsystem_event
protoPayload:
'@type': type.googleapis.com/google.cloud.audit.AuditLog
methodName: /WorkerPools.DeleteWorkerPool
resourceName: namespaces/cnrm-barni-4/workerpools/runworkerpool-vr4ugx5pdvbidvi
response:
'@type': type.googleapis.com/google.cloud.run.v2.WorkerPool
createTime: '2026-09-14T02:26:53.154521Z'
creator: overseer-kcc-tester@cnrm-barni-4.iam.gserviceaccount.com
deleteTime: '2026-09-14T02:27:02.238057Z'
description: Updated Minimal WorkerPool description
etag: '"CPa2ndUGELD57KgC/cHJvamVjdHMvY25ybS1iYXJuaS00L2xvY2F0aW9ucy91cy1jZW50cmFsMS93b3JrZXJQb29scy9ydW53b3JrZXJwb29sLXZyNHVneDVwZHZiaWR2aQ"'
expireTime: '2026-10-14T02:27:02.238057Z'
generation: '3'
instanceSplitStatuses:
- percent: 100
type: INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST
instanceSplits:
- percent: 100
type: INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST
labels:
cnrm-test: 'true'
managed-by-cnrm: 'true'
lastModifier: overseer-kcc-tester@cnrm-barni-4.iam.gserviceaccount.com
latestCreatedRevision: projects/cnrm-barni-4/locations/us-central1/workerPools/runworkerpool-vr4ugx5pdvbidvi/revisions/runworkerpool-vr4ugx5pdvbidvi-00001-ksp
latestReadyRevision: projects/cnrm-barni-4/locations/us-central1/workerPools/runworkerpool-vr4ugx5pdvbidvi/revisions/runworkerpool-vr4ugx5pdvbidvi-00001-ksp
launchStage: GA
name: projects/cnrm-barni-4/locations/us-central1/workerPools/runworkerpool-vr4ugx5pdvbidvi
observedGeneration: '3'
scaling:
manualInstanceCount: 1
scalingMode: MANUAL
template:
containers:
- image: us-docker.pkg.dev/cloudrun/container/hello
resources:
limits:
cpu: 1000m
memory: 512Mi
serviceAccount: 600845353393-compute@developer.gserviceaccount.com
terminalCondition:
lastTransitionTime: '2026-09-14T02:27:02.622542Z'
state: CONDITION_SUCCEEDED
type: Ready
uid: 8c54d1a9-0432-4ec4-b08b-833d2a777b91
updateTime: '2026-09-14T02:27:02.622542Z'
serviceName: run.googleapis.com
status:
message: Ready condition status changed to True for WorkerPool runworkerpool-vr4ugx5pdvbidvi.
receiveTimestamp: '2026-09-14T02:27:03.247525981Z'
resource:
labels:
configuration_name: ''
location: us-central1
project_id: cnrm-barni-4
revision_name: ''
worker_pool_name: runworkerpool-vr4ugx5pdvbidvi
type: cloud_run_worker_pool
severity: INFO
timestamp: '2026-09-14T02:27:02.641400Z'And: insertId: -w5xatjd2xf0
logName: projects/cnrm-barni-4/logs/cloudaudit.googleapis.com%2Fsystem_event
protoPayload:
'@type': type.googleapis.com/google.cloud.audit.AuditLog
methodName: /WorkerPools.UpdateWorkerPool
resourceName: namespaces/cnrm-barni-4/workerpools/runworkerpool-vr4ugx5pdvbidvi
response:
'@type': type.googleapis.com/google.cloud.run.v2.WorkerPool
createTime: '2026-09-14T02:26:53.154521Z'
creator: overseer-kcc-tester@cnrm-barni-4.iam.gserviceaccount.com
description: Updated Minimal WorkerPool description
etag: '"CPK2ndUGEMCKrqUD/cHJvamVjdHMvY25ybS1iYXJuaS00L2xvY2F0aW9ucy91cy1jZW50cmFsMS93b3JrZXJQb29scy9ydW53b3JrZXJwb29sLXZyNHVneDVwZHZiaWR2aQ"'
generation: '2'
instanceSplitStatuses:
- percent: 100
type: INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST
instanceSplits:
- percent: 100
type: INSTANCE_SPLIT_ALLOCATION_TYPE_LATEST
labels:
cnrm-test: 'true'
managed-by-cnrm: 'true'
lastModifier: overseer-kcc-tester@cnrm-barni-4.iam.gserviceaccount.com
latestCreatedRevision: projects/cnrm-barni-4/locations/us-central1/workerPools/runworkerpool-vr4ugx5pdvbidvi/revisions/runworkerpool-vr4ugx5pdvbidvi-00001-ksp
latestReadyRevision: projects/cnrm-barni-4/locations/us-central1/workerPools/runworkerpool-vr4ugx5pdvbidvi/revisions/runworkerpool-vr4ugx5pdvbidvi-00001-ksp
launchStage: GA
name: projects/cnrm-barni-4/locations/us-central1/workerPools/runworkerpool-vr4ugx5pdvbidvi
observedGeneration: '2'
scaling:
manualInstanceCount: 1
scalingMode: MANUAL
template:
containers:
- image: us-docker.pkg.dev/cloudrun/container/hello
resources:
limits:
cpu: 1000m
memory: 512Mi
serviceAccount: 600845353393-compute@developer.gserviceaccount.com
terminalCondition:
lastTransitionTime: '2026-09-14T02:26:56.635758Z'
state: CONDITION_SUCCEEDED
type: Ready
uid: 8c54d1a9-0432-4ec4-b08b-833d2a777b91
updateTime: '2026-09-14T02:26:58.883656Z'
serviceName: run.googleapis.com
status:
message: Ready condition status changed to True for WorkerPool runworkerpool-vr4ugx5pdvbidvi.
receiveTimestamp: '2026-09-14T02:26:59.241579818Z'
resource:
labels:
configuration_name: ''
location: us-central1
project_id: cnrm-barni-4
revision_name: ''
worker_pool_name: runworkerpool-vr4ugx5pdvbidvi
type: cloud_run_worker_pool
severity: INFO
timestamp: '2026-09-14T02:26:58.986415Z' |
|
🤖 AI Factory started investigating CI check failures for this pull request. |
2 similar comments
|
🤖 AI Factory started investigating CI check failures for this pull request. |
|
🤖 AI Factory started investigating CI check failures for this pull request. |
|
🤖 AI Factory has attempted to investigate/fix CI check failures for this pull request 3 times since the last commit or update without success. To prevent infinite loops, I am pausing automated investigation and attaching the To request another attempt or resume automated processing, please remove the |
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
Investigating fuzz-roundtrippers-8-of-8 failureRun: 34801794263 (https://github.com/GoogleCloudPlatform/k8s-config-connector/actions/runs/34801794263/job/103845767150) Investigating fuzz-roundtrippers-7-of-8 failureRun: 34801794263 (https://github.com/GoogleCloudPlatform/k8s-config-connector/actions/runs/34801794263/job/103845767178) Investigating test-mockgcp failureRun: 34801794263 (https://github.com/GoogleCloudPlatform/k8s-config-connector/actions/runs/34801794263/job/103845767175)
Investigating presubmit-gatekeeper failureRun: 34801794263 (https://github.com/GoogleCloudPlatform/k8s-config-connector/actions/runs/34801794263/job/103848322892) (This report was generated by overseer) |
7ef6351 to
083bd15
Compare
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
1 similar comment
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
083bd15 to
cd49936
Compare
Investigating fuzz-roundtrippers-3-of-8 failureRun: 35014146090 Investigating test-fuzz-random-mappers failureRun: 35014146090 Investigating unit-tests-2-of-4 failureRun: 35014146090 Investigating unit-tests-3-of-4 failureRun: 35014146090 Investigating test-mockgcp failureRun: 35014146090 Investigating presubmit-gatekeeper failureRun: 35014146090 (This report was generated by overseer) |
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
1 similar comment
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
6793c72 to
8bf9953
Compare
Investigating unit-tests-3-of-4 failureRun: 35026835550 Investigating test-mockgcp failureRun: 35026835550 Investigating presubmit-gatekeeper failureRun: 35026835550 (This report was generated by overseer) |
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
1 similar comment
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
Investigating test-mockgcp failureRun: 35051721029 Investigating presubmit-gatekeeper failureRun: 35051721029 (This report was generated by overseer) |
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
Investigating test-mockgcp failureRun: 35051721029 Investigating presubmit-gatekeeper failureRun: 35051721029 (This report was generated by overseer) |
|
🤖 AI Factory has attempted to investigate/fix CI check failures for this pull request 3 times since the last commit or update without success. To prevent infinite loops, I am pausing automated investigation and attaching the To request another attempt or resume automated processing, please remove the |
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
Investigating tests-scenarios-${{ matrix.suite }} / tests-e2e-samples-${{ matrix.service }} / tests-e2e-fixtures-${{ matrix.service }} failureRun: 35797072001 (This report was generated by overseer) |
|
🤖 AI Factory has attempted to investigate/fix CI check failures for this pull request 3 times since the last commit or update without success. To prevent infinite loops, I am pausing automated investigation and attaching the To request another attempt or resume automated processing, please remove the |
|
Please rebase against real GCP first, then address issues about the handling of 1. The Issue: Why
|
|
🤖 AI Factory started addressing review feedback for this pull request. |
|
Hi @maqiuyujoyce, I have updated the MBUR handling for
(This comment was generated by overseer) |
|
🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
2809ec0 to
417c980
Compare
|
🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
417c980 to
857e069
Compare
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
2 similar comments
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
|
🤖 AI Factory started investigating CI check failures for this pull request. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
|
🤖 AI Factory has attempted to investigate/fix CI check failures for this pull request 3 times since the last commit or update without success. To prevent infinite loops, I am pausing automated investigation and attaching the To request another attempt or resume automated processing, please remove the |
maqiuyujoyce
left a comment
There was a problem hiding this comment.
Please follow the pattern established by CompareLastModifiedCookie and SetLastModifiedCookie in directbase.Operation, making the MBUR computation configurable by each adapter:
-
Add
CompareMBURandSetMBURtodirectbase.Operation:CompareMBUR(computeMBUR func() (string, error)) (bool, error): Computes the MBUR value for the desired state and compares it against the persistedcnrm.cloud.google.com/mutable-unreadable-fields-hashannotation.SetMBUR(ctx context.Context, computeMBUR func() (string, error)) error: Computes the MBUR value of the desired state and updates the annotation on the KRM object viao.client.Update(handling both update and deletion/clearing).
-
Define
computeMBURinWorkerPoolAdapter:- Computes the SHA-256 hash of
desired.CustomAudiences(or returns""if empty).
- Computes the SHA-256 hash of
-
Use in
WorkerPoolAdapter:- In
compareWorkerPool/Update: CallupdateOp.CompareMBUR(a.computeMBUR). Iftrue, copydesired.CustomAudiencestomaskedActual.CustomAudiencesto suppress false diffs. - In
CreateandUpdate: Callop.SetMBUR(ctx, a.computeMBUR)to persist the hash to the KRM object.
- In
|
🤖 AI Factory started addressing review feedback for this pull request. |
857e069 to
6f38b1b
Compare
|
Hi @maqiuyujoyce, I have refactored the MBUR (Mutable-But-Unreadable) handling to follow the pattern established in
All presubmits, formatting, unit tests, and E2E mock tests pass cleanly! (This comment was generated by overseer) |
|
🤖 AI Factory started resolving merge conflicts / rebasing this pull request in a sandbox. Note: We recommend waiting for the 'ready-for-human' label before leaving review comments. Comments added while the system is actively working may be associated with outdated commits once a new commit is pushed, causing them to be ignored. |
… RunWorkerPool This PR implements the direct controller and records/verifies E2E fixtures for RunWorkerPool. 1. Registers RunWorkerPool under direct reconcilers in static_config.go. 2. Implements unspecified spec fields alignment with server-side defaults in the controller comparison function (e.g. launch_stage, scaling, instance_splits, and container limits/service_account) to prevent unwanted PATCH requests during re-reconciliation. 3. Implements the 'Mutable-but-Unreadable Fields' pattern for CustomAudiences to prevent false-positive diffs during re-reconciliation (since CustomAudiences is missing from GET responses). 4. Adds normalization rules for deleteTime and expireTime timestamps in tests/e2e/normalize.go and tests/e2e/normalize_legacy.go to ensure HTTP golden traffic log stability. 5. Registers and records both minimal and maximal E2E fixtures (and reduces missing fields in alpha exceptions file). Issue: 12927 This PR was generated by the **overseer,overseer,greenfield,step/controller,overseer/review** agent (powered by the gemini-3.8-flash model). ```release-note NONE ```
…or RunWorkerPool customAudiences
6f38b1b to
405dac4
Compare
This PR implements the direct controller and records/verifies E2E fixtures for RunWorkerPool.
Key Changes:
Fixes #12927
This PR was generated by the overseer,overseer,greenfield,step/controller,overseer/review agent (powered by the gemini-3.8-flash model).