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

Requeue in approval and generic specializer #452

Merged
merged 3 commits into from
Dec 20, 2023

Conversation

johnbelamaric
Copy link
Member

In the most recent Porch builds, I have cleaned up a bunch of noisy watch notifications. This is a good thing, except that our approval controller and specializers were relying on the verbose watch events being thrown out. This means that our e2e test times will go up a lot if we bump Porch version. This PR resolves that, by requeueing when it makes sense to. There is more we could do (for example watching PackageVariants so we find out immediately when they flip to Ready state), but this is a good start. Here are the timings I have:

Test R1 Current Nephio
New Porch
This PR Nephio
New Porch
001.sh 235 secs 540 secs 235 secs
002.sh 730 secs 1307 secs 584 secs
003.sh 112 secs 53 secs 69 secs
004.sh 152 secs 432 secs 91 secs
005.sh 358 secs 388 secs 222 secs
006.sh 307 secs 413 secs 176 secs
007.sh 371 secs 484 secs 186 secs
008.sh 291 secs 289 secs 67 secs
009.sh 26 secs 30 secs 31 secs

I also added events in the approval controller for when it proposes and approves the PackageRevision.

@nephio-prow nephio-prow bot requested review from henderiw and tliron November 30, 2023 01:50
Copy link
Member Author

Choose a reason for hiding this comment

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

this is just gofmt

Copy link
Member Author

Choose a reason for hiding this comment

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

this is just gofmt

@@ -47,6 +47,7 @@ const (
DelayAnnotationName = "approval.nephio.org/delay"
PolicyAnnotationName = "approval.nephio.org/policy"
InitialPolicyAnnotationValue = "initial"
RequeueDuration = 10 * time.Second
Copy link
Collaborator

Choose a reason for hiding this comment

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

Would it make sense to expose this in the CR?

Copy link
Member Author

Choose a reason for hiding this comment

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

No, I don't think so.

@liamfallon
Copy link
Member

/lgtm
/approve

@nephio-prow nephio-prow bot removed the lgtm label Dec 19, 2023
@johnbelamaric
Copy link
Member Author

/approve

Needs a new LGTM since I had to update it. @radoslawc maybe that's something Tide is supposed todo?

Copy link
Contributor

nephio-prow bot commented Dec 19, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: johnbelamaric, liamfallon

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

The pull request process is described here

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

@nephio-prow nephio-prow bot added the approved label Dec 19, 2023
@radoslawc
Copy link
Contributor

/lgtm

@nephio-prow nephio-prow bot added the lgtm label Dec 20, 2023
@nephio-prow nephio-prow bot merged commit a6e06f3 into nephio-project:main Dec 20, 2023
nyrahul pushed a commit to nyrahul/nephio that referenced this pull request Jan 3, 2024
In the most recent Porch builds, I have cleaned up a bunch of noisy
watch notifications. This is a good thing, except that our approval
controller and specializers were relying on the verbose watch events
being thrown out. This means that our e2e test times will go up a lot if
we bump Porch version. This PR resolves that, by requeueing when it
makes sense to. There is more we could do (for example watching
PackageVariants so we find out immediately when they flip to Ready
state), but this is a good start. Here are the timings I have:

| Test | R1 | Current Nephio<br/>New Porch| This PR Nephio<br/>New Porch
|
| ---- | ---- | ----------------------- | -------------------------|
| 001.sh | 235 secs | 540 secs | 235 secs |
| 002.sh | 730 secs | 1307 secs | 584 secs |
| 003.sh | 112 secs | 53 secs | 69 secs |
| 004.sh | 152 secs | 432 secs | 91 secs |
| 005.sh | 358 secs | 388 secs | 222 secs |
| 006.sh | 307 secs | 413 secs | 176 secs |
| 007.sh | 371 secs | 484 secs | 186 secs |
| 008.sh | 291 secs | 289 secs |67 secs |
| 009.sh | 26 secs | 30 secs | 31 secs |

I also added events in the approval controller for when it proposes and
approves the PackageRevision.
PrimalPimmy pushed a commit to 5GSEC/nephio that referenced this pull request Aug 2, 2024
In the most recent Porch builds, I have cleaned up a bunch of noisy
watch notifications. This is a good thing, except that our approval
controller and specializers were relying on the verbose watch events
being thrown out. This means that our e2e test times will go up a lot if
we bump Porch version. This PR resolves that, by requeueing when it
makes sense to. There is more we could do (for example watching
PackageVariants so we find out immediately when they flip to Ready
state), but this is a good start. Here are the timings I have:

| Test | R1 | Current Nephio<br/>New Porch| This PR Nephio<br/>New Porch
|
| ---- | ---- | ----------------------- | -------------------------|
| 001.sh | 235 secs | 540 secs | 235 secs |
| 002.sh | 730 secs | 1307 secs | 584 secs |
| 003.sh | 112 secs | 53 secs | 69 secs |
| 004.sh | 152 secs | 432 secs | 91 secs |
| 005.sh | 358 secs | 388 secs | 222 secs |
| 006.sh | 307 secs | 413 secs | 176 secs |
| 007.sh | 371 secs | 484 secs | 186 secs |
| 008.sh | 291 secs | 289 secs |67 secs |
| 009.sh | 26 secs | 30 secs | 31 secs |

I also added events in the approval controller for when it proposes and
approves the PackageRevision.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants