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

feat(controller): add canary steps plugin #3521

Open
wants to merge 44 commits into
base: master
Choose a base branch
from

Conversation

agaudreault
Copy link
Member

@agaudreault agaudreault commented Apr 10, 2024

Implementation of #3480
Related to #2685

Additional work

The following work can be done in subsequent pull request to facilitate the review of the feature

  • Create Official step plugin example with best practice in argoproj-labs
  • Configurable defaults for error, requeue and minRequeue.
  • Health status in ArgoCD should reflect the "cause"
  • ArgoCD UI extensions to add plugin step information
  • Run step plugin e2e on CI
  • Allow to reload config without restarting container
  • Documentation
    • Explain step plugin behavior
    • Explain configuration
    • Example repository

Other

  • Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
  • The title of the PR is (a) conventional with a list of types and scopes found here, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
  • I've signed my commits with DCO
  • I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
  • My builds are green. Try syncing with master if they are not.
  • My organization is added to USERS.md.

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Copy link
Contributor

github-actions bot commented Apr 10, 2024

Go Published Test Results

2 241 tests   2 241 ✅  2m 57s ⏱️
  128 suites      0 💤
    1 files        0 ❌

Results for commit 1fda169.

♻️ This comment has been updated with latest results.

Copy link
Contributor

github-actions bot commented Apr 10, 2024

E2E Tests Published Test Results

  4 files    4 suites   3h 27m 50s ⏱️
111 tests  98 ✅  7 💤  6 ❌
466 runs  416 ✅ 28 💤 22 ❌

For more details on these failures, see this check.

Results for commit 1fda169.

♻️ This comment has been updated with latest results.

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Copy link

codecov bot commented Apr 18, 2024

Codecov Report

Attention: Patch coverage is 75.09960% with 125 lines in your changes are missing coverage. Please review.

Project coverage is 78.14%. Comparing base (8405f2e) to head (b1d0963).
Report is 102 commits behind head on master.

❗ Current head b1d0963 differs from pull request most recent head 1fda169. Consider uploading reports for the commit 1fda169 to get more accurate results

Files Patch % Lines
rollout/steps/plugin/client/client.go 0.00% 44 Missing ⚠️
rollout/steps/plugin/resolver.go 0.00% 22 Missing ⚠️
rollout/stepplugin.go 86.71% 10 Missing and 9 partials ⚠️
rollout/steps/plugin/plugin.go 88.97% 10 Missing and 5 partials ⚠️
utils/plugin/types/steps.go 0.00% 9 Missing ⚠️
rollout/canary.go 50.00% 3 Missing and 1 partial ⚠️
utils/config/config.go 85.18% 2 Missing and 2 partials ⚠️
utils/plugin/plugin.go 63.63% 2 Missing and 2 partials ⚠️
rollout/steps/plugin/rpc/rpc.go 97.50% 1 Missing and 1 partial ⚠️
metricproviders/plugin/client/client.go 0.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3521      +/-   ##
==========================================
- Coverage   81.83%   78.14%   -3.70%     
==========================================
  Files         135      165      +30     
  Lines       20688    18867    -1821     
==========================================
- Hits        16931    14744    -2187     
- Misses       2883     3199     +316     
- Partials      874      924      +50     

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

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
func (s *StepPluginSuite) SetupSuite() {
s.E2ESuite.SetupSuite()
if !IsStepPluginConfigured(&s.Common, s.GetControllerConfig()) {
s.T().SkipNow()
Copy link
Member Author

Choose a reason for hiding this comment

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

Should I configure E2E by default with a valid step plugin

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
@agaudreault agaudreault marked this pull request as ready for review May 1, 2024 21:28
@agaudreault agaudreault requested a review from zachaller May 1, 2024 21:29
@agaudreault agaudreault changed the title feat(canary): define steps as plugins feat(controller): define steps as plugins May 1, 2024
@agaudreault agaudreault changed the title feat(controller): define steps as plugins feat(controller): add canary steps plugin May 1, 2024
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Copy link

sonarcloud bot commented May 7, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
B Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

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

1 participant