Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UDT PR 6/N] Add default controller to async controller registry #8050

Merged
merged 5 commits into from
Nov 20, 2024

Conversation

rynowak
Copy link
Contributor

@rynowak rynowak commented Nov 12, 2024

Description

This change adds a "default" controller capability to the controller registry used by the async worker. This is needed for the dynamic-rp. Because the dynamic-rp is extensible, it processes many different types of operations, it's not possible for us to statically register all of these. Instead, the dynamic-rp will use this new default capability to register a single controller with dynamic functionality.

Type of change

  • This pull request is a minor refactor, code cleanup, test improvement, or other maintenance task and doesn't change the functionality of Radius (issue link optional).

Contributor checklist

Please verify that the PR meets the following requirements, where applicable:

  • An overview of proposed schema changes is included in a linked GitHub issue.
  • A design document PR is created in the design-notes repository, if new APIs are being introduced.
  • If applicable, design document has been reviewed and approved by Radius maintainers/approvers.
  • A PR for the samples repository is created, if existing samples are affected by the changes in this PR.
  • A PR for the documentation repository is created, if the changes in this PR affect the documentation or any user facing updates are made.
  • A PR for the recipes repository is created, if existing recipes are affected by the changes in this PR.

@rynowak rynowak requested review from a team as code owners November 12, 2024 03:12
@rynowak rynowak force-pushed the async-controller-fallback branch from f300003 to 7fa4165 Compare November 12, 2024 03:13
Copy link

codecov bot commented Nov 12, 2024

Codecov Report

Attention: Patch coverage is 70.96774% with 9 lines in your changes missing coverage. Please review.

Project coverage is 59.22%. Comparing base (1cb666c) to head (e94bf87).

Files with missing lines Patch % Lines
pkg/armrpc/asyncoperation/worker/worker.go 14.28% 5 Missing and 1 partial ⚠️
pkg/armrpc/asyncoperation/worker/registry.go 87.50% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8050      +/-   ##
==========================================
+ Coverage   59.21%   59.22%   +0.01%     
==========================================
  Files         579      579              
  Lines       38697    38723      +26     
==========================================
+ Hits        22914    22934      +20     
- Misses      14145    14150       +5     
- Partials     1638     1639       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rynowak rynowak temporarily deployed to functional-tests November 12, 2024 03:28 — with GitHub Actions Inactive
@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 12, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref 7fa4165
Unique ID func67359e8ab2
Image tag pr-func67359e8ab2
Click here to see the list of tools in the current test run
  • gotestsum 1.12.0
  • KinD: v0.20.0
  • Dapr: 1.12.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func67359e8ab2
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func67359e8ab2
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func67359e8ab2
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func67359e8ab2
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func67359e8ab2
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp-cloud functional tests...
⌛ Starting corerp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
❌ corerp-cloud functional test failed. Please check the logs for more details

@rynowak
Copy link
Contributor Author

rynowak commented Nov 13, 2024

Functional test failure appeared to be contention in azure on a storage account. If it happens again I'll disable it.

This change adds a "default" controller capability to the controller registry used by the async worker. This is needed for the dynamic-rp. Because the dynamic-rp is extensible, it processes many different types of operations, it's not possible for us to statically register all of these. Instead, the dynamic-rp will use this new default capability to register a single controller with dynamic functionality.

Signed-off-by: Ryan Nowak <nowakra@gmail.com>
@rynowak rynowak force-pushed the async-controller-fallback branch from 8c9dcf0 to e91fcb0 Compare November 13, 2024 06:20
@rynowak
Copy link
Contributor Author

rynowak commented Nov 13, 2024

@ytimocin - updated

@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 13, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref e91fcb0
Unique ID func626fccb12b
Image tag pr-func626fccb12b
Click here to see the list of tools in the current test run
  • gotestsum 1.12.0
  • KinD: v0.20.0
  • Dapr: 1.12.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func626fccb12b
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func626fccb12b
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func626fccb12b
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func626fccb12b
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func626fccb12b
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting ucp-cloud functional tests...
⌛ Starting corerp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
✅ corerp-cloud functional tests succeeded

@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 13, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref 01a35e4
Unique ID func1f0506eed3
Image tag pr-func1f0506eed3
Click here to see the list of tools in the current test run
  • gotestsum 1.12.0
  • KinD: v0.20.0
  • Dapr: 1.12.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func1f0506eed3
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func1f0506eed3
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func1f0506eed3
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func1f0506eed3
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func1f0506eed3
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting corerp-cloud functional tests...
⌛ Starting ucp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
✅ corerp-cloud functional tests succeeded

@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 13, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref e94bf87
Unique ID funca67b65b471
Image tag pr-funca67b65b471
Click here to see the list of tools in the current test run
  • gotestsum 1.12.0
  • KinD: v0.20.0
  • Dapr: 1.12.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-funca67b65b471
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-funca67b65b471
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-funca67b65b471
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-funca67b65b471
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-funca67b65b471
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting corerp-cloud functional tests...
⌛ Starting ucp-cloud functional tests...
✅ corerp-cloud functional tests succeeded
✅ ucp-cloud functional tests succeeded

@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 19, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref a4617d2
Unique ID func0635d2abec
Image tag pr-func0635d2abec
Click here to see the list of tools in the current test run
  • gotestsum 1.12.0
  • KinD: v0.20.0
  • Dapr: 1.12.0
  • Azure KeyVault CSI driver: 1.4.2
  • Azure Workload identity webhook: 1.3.0
  • Bicep recipe location ghcr.io/radius-project/dev/test/testrecipes/test-bicep-recipes/<name>:pr-func0635d2abec
  • Terraform recipe location http://tf-module-server.radius-test-tf-module-server.svc.cluster.local/<name>.zip (in cluster)
  • applications-rp test image location: ghcr.io/radius-project/dev/applications-rp:pr-func0635d2abec
  • dynamic-rp test image location: ghcr.io/radius-project/dev/dynamic-rp:pr-func0635d2abec
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func0635d2abec
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func0635d2abec
  • deployment-engine test image location: ghcr.io/radius-project/deployment-engine:latest

Test Status

⌛ Building Radius and pushing container images for functional tests...
✅ Container images build succeeded
⌛ Publishing Bicep Recipes for functional tests...
✅ Recipe publishing succeeded
⌛ Starting corerp-cloud functional tests...
⌛ Starting ucp-cloud functional tests...
✅ ucp-cloud functional tests succeeded
✅ corerp-cloud functional tests succeeded

@rynowak rynowak merged commit 654ce08 into radius-project:main Nov 20, 2024
28 checks passed
@rynowak rynowak deleted the async-controller-fallback branch November 20, 2024 00:06
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