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

doc: Add release note for 0.22.0 #1199

Merged
merged 6 commits into from
Mar 13, 2022
Merged

doc: Add release note for 0.22.0 #1199

merged 6 commits into from
Mar 13, 2022

Conversation

mumoshu
Copy link
Collaborator

@mumoshu mumoshu commented Mar 10, 2022

As it turned out to be the biggest release ever, I was afraid I might not be able to write a summary of changes that communicates well. Here is my attempt. Please review and leave any comments so that we can be more confident in this release. Thank you!

@iniinikoski
Copy link

As it turned out to be the biggest release ever, I was afraid I might not be able to write a summary of changes that communicates well. Here is my attempt. Please review and leave any comments so that we can be more confident in this release. Thank you!

I'm still quite newbie with ARC - but the notes looked very clear at least to me... :)


## GitHub API Cache

In terms of scalability, ARC now caches GitHub API responses according to their recommendation(=Cache-Control header).
Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Thanks! Added in e402b2e

The cache for List Runners API is expecially important, as their responses can be shared between every runner under the same scope (repository, organization, or enterprise).

In previous versions of ARC, the number of List Runners API calls had scaled proportional to the number of runners managed by ARC.
Thanks to the addition of cache, since v0.22.0, it may scale proportional to the number of runner scopes (=The number of repositories for your repository runners + The number of organizations for your organizational runners + The number of enterprises for your enterprises). You might be able to scale to hundreds of runners depending on your environemnt.
Copy link
Member

Choose a reason for hiding this comment

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

maybe with + The number of enterprises for your enterprise runners. 😄

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good catch 👍 Addressed in e402b2e


In terms of reliability, the first thing to note is that it has a new scale down process for both RunnerDeployment and RunnerSet.

Previously every runner pod can restart immediately after the completion, while ARC might mark the same runner pod for deletion due to scale down. That resulted in
Copy link
Member

Choose a reason for hiding this comment

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

do we want to link to the issue for more context if anyone is interested?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think so! e402b2e


## Prevention of Unnecessary Runner Pod Recreations

Another reliability enhancement is based on the addition of a new field, `EffectiveTime`, to our RunnerDeployment and RunnerSet specifications.
Copy link
Member

Choose a reason for hiding this comment

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

do we need to highlight what scale mode the EffectiveTime is good for? ex: webhook-based scale vs runner busy-based.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It's enabled for both modes and there's no way to disable it now. I tried to make it clear in 0f3ead1. Would you mind confirming? 😄

@mumoshu
Copy link
Collaborator Author

mumoshu commented Mar 11, 2022

Probably #1204 worth covered too. It has a good side-effect of mostly skipping RemoveRunner API calls for ephemeral runners which, in combination with the addition of GitHub API cache, provides us more scalability.

@mumoshu
Copy link
Collaborator Author

mumoshu commented Mar 11, 2022

TODO: #1189 needs to be included once we enabled the RUNNER_FEATURE_FLAG_EPHEMERAL by default via a controller change.

As it turned out to be the biggest release ever, I was afraid I might not be able to write a summary of changes that communicates well. Here is my attempt. Please review and leave any comments so that we can be more confident in this release. Thank you!
@mumoshu
Copy link
Collaborator Author

mumoshu commented Mar 13, 2022

Added 9acba10 to cover #1204 and #1189(PR #1211)

@mumoshu mumoshu merged commit a1c6d1d into master Mar 13, 2022
@mumoshu mumoshu deleted the releasenote-0.22.0 branch March 13, 2022 07:25
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.

None yet

3 participants