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

Add dynamic-rp boilerplate #8029

Merged
merged 1 commit into from
Nov 6, 2024

Conversation

rynowak
Copy link
Contributor

@rynowak rynowak commented Nov 4, 2024

Description

This change adds a new control-plane microservice - the "Dynamic RP". The dynamic-rp will be responsible for implementing the bulk of UDT functionality. The naming reflects that fact that dynamic-rp behaves dynamically based on the schema definitions provided by users.

This change only contains the base layer for dynamic-rp and no user-visible functionality. Here's a brief list of what's included.

  • dynamic-rp binary
  • dynamic-rp Dockerfiles
  • dynamic-rp Kubernetes yaml
  • dynamic-rp configuration file
  • initialization and stubs for frontend and backend services
  • vscode debugging support
  • functional test integration

The actual functionality for dynamic-rp will be added in a series of follow-up pull-requests.

Please explain the changes you've made.

Type of change

  • This pull request adds or changes features of Radius and has an approved issue (issue link required).

Part of: #6688

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 4, 2024 22:29
Copy link

codecov bot commented Nov 4, 2024

Codecov Report

Attention: Patch coverage is 0% with 177 lines in your changes missing coverage. Please review.

Project coverage is 59.08%. Comparing base (e6c8911) to head (e8eb235).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
pkg/dynamicrp/frontend/service.go 0.00% 58 Missing ⚠️
pkg/dynamicrp/options.go 0.00% 46 Missing ⚠️
pkg/dynamicrp/backend/service.go 0.00% 30 Missing ⚠️
pkg/dynamicrp/server/server.go 0.00% 27 Missing ⚠️
pkg/dynamicrp/config.go 0.00% 10 Missing ⚠️
pkg/dynamicrp/frontend/routes.go 0.00% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8029      +/-   ##
==========================================
- Coverage   59.35%   59.08%   -0.27%     
==========================================
  Files         561      567       +6     
  Lines       37551    37728     +177     
==========================================
+ Hits        22287    22293       +6     
- Misses      13714    13887     +173     
+ Partials     1550     1548       -2     

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

.vscode/launch.json Show resolved Hide resolved
cmd/dynamic-rp/dynamicrp-dev.yaml Outdated Show resolved Hide resolved
deploy/Chart/templates/dynamic-rp/rbac.yaml Outdated Show resolved Hide resolved
deploy/Chart/templates/dynamic-rp/service.yaml Outdated Show resolved Hide resolved
pkg/dynamicrp/config.go Show resolved Hide resolved
pkg/dynamicrp/options.go Show resolved Hide resolved
pkg/dynamicrp/server/server.go Show resolved Hide resolved
@ytimocin ytimocin force-pushed the udt-dynamicrp-boilerplate branch from 39392e7 to 76773f5 Compare November 5, 2024 04:20
@ytimocin ytimocin temporarily deployed to functional-tests November 5, 2024 04:20 — with GitHub Actions Inactive
@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 5, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref 76773f5
Unique ID func28da2d5dec
Image tag pr-func28da2d5dec
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-func28da2d5dec
  • 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-func28da2d5dec
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-func28da2d5dec
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-func28da2d5dec
  • 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...
❌ Failed to install Radius for ucp-cloud functional test. Please check the logs for more details
❌ ucp-cloud functional test failed. Please check the logs for more details
❌ corerp-cloud functional test cancelled. Please check the logs for more details

cmd/dynamic-rp/cmd/root.go Outdated Show resolved Hide resolved
.vscode/launch.json Show resolved Hide resolved
cmd/dynamic-rp/cmd/root.go Show resolved Hide resolved
cmd/dynamic-rp/cmd/root.go Show resolved Hide resolved
@rynowak rynowak force-pushed the udt-dynamicrp-boilerplate branch from 76773f5 to b6cb602 Compare November 5, 2024 20:09
@rynowak
Copy link
Contributor Author

rynowak commented Nov 5, 2024

@kachawla @ytimocin - updated

@rynowak
Copy link
Contributor Author

rynowak commented Nov 5, 2024

Note: I'm still digging into the functional test failure. I don't have a theory yet on how this change could have broken those tests.....

ytimocin
ytimocin previously approved these changes Nov 5, 2024
@rynowak rynowak temporarily deployed to functional-tests November 5, 2024 22:08 — with GitHub Actions Inactive
@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 5, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref b6cb602
Unique ID funcf56462c2e1
Image tag pr-funcf56462c2e1
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-funcf56462c2e1
  • 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-funcf56462c2e1
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-funcf56462c2e1
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-funcf56462c2e1
  • 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...
❌ Failed to install Radius for corerp-cloud functional test. Please check the logs for more details
❌ corerp-cloud functional test failed. Please check the logs for more details
❌ Failed to install Radius for ucp-cloud functional test. Please check the logs for more details
❌ ucp-cloud functional test cancelled. Please check the logs for more details

This change adds a new control-plane microservice - the "Dynamic RP". The dynamic-rp will be responsible for implementing the bulk of UDT functionality. The naming reflects that fact that dynamic-rp behaves *dynamically* based on the schema definitions provided by users.

This change only contains the *base layer* for dynamic-rp and no user-visible functionality. Here's a brief list of what's included.

- dynamic-rp binary
- dynamic-rp Dockerfiles
- dynamic-rp Kubernetes yaml
- dynamic-rp configuration file
- initialization and stubs for frontend and backend services
- vscode debugging support
- functional test integration

The actual functionality for dynamic-rp will be added in a series of follow-up pull-requests.

Signed-off-by: Ryan Nowak <[email protected]>
@radius-functional-tests
Copy link

radius-functional-tests bot commented Nov 5, 2024

Radius functional test overview

🔍 Go to test action run

Name Value
Repository rynowak/radius
Commit ref e8eb235
Unique ID funcdb7fd0ae7a
Image tag pr-funcdb7fd0ae7a
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-funcdb7fd0ae7a
  • 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-funcdb7fd0ae7a
  • controller test image location: ghcr.io/radius-project/dev/controller:pr-funcdb7fd0ae7a
  • ucp test image location: ghcr.io/radius-project/dev/ucpd:pr-funcdb7fd0ae7a
  • 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...
❌ Failed to install Radius for corerp-cloud functional test. Please check the logs for more details
❌ corerp-cloud functional test failed. Please check the logs for more details
❌ Failed to install Radius for ucp-cloud functional test. Please check the logs for more details
❌ ucp-cloud functional test failed. Please check the logs for more details

@rynowak
Copy link
Contributor Author

rynowak commented Nov 5, 2024

Note: I'm still digging into the functional test failure. I don't have a theory yet on how this change could have broken those tests.....

This turned out to be interesting. I accidentally configured both dynamic-rp and applications-rp to read from the same queue. The logs pointed me at the problem 😆 because dynamic-rp tried to process a change it didn't understand.

@rynowak
Copy link
Contributor Author

rynowak commented Nov 6, 2024

Still fighting with the functional tests here, will report back.

@rynowak
Copy link
Contributor Author

rynowak commented Nov 6, 2024

Looks like this will need a bypass. The problem is that I need to make changes to the functional test workflow to set the new image location/tag. I'll force merge this and then babysit the build.

@rynowak rynowak merged commit 7ac2c22 into radius-project:main Nov 6, 2024
28 of 29 checks passed
@rynowak rynowak deleted the udt-dynamicrp-boilerplate branch November 6, 2024 00:16
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.

3 participants