Skip to content

Conversation

andrii-korotkov-verkada
Copy link
Contributor

@andrii-korotkov-verkada andrii-korotkov-verkada commented Nov 25, 2024

Closes #20941

Batch some kubectl operations, create gpg using APIs instead of CLI.

Checklist:

  • Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this does not need to be in the release notes.
  • The title of the PR states what changed and the related issues number (used for the release note).
  • The title of the PR conforms to the Toolchain Guide
  • I've included "Closes [ISSUE #]" or "Fixes [ISSUE #]" in the description to automatically close the associated issue.
  • I've updated both the CLI and UI to expose my feature, or I plan to submit a second PR with them.
  • Does this PR require documentation updates?
  • I've updated documentation as required by this PR.
  • I have signed off all my commits as required by DCO
  • I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
  • My build is green (troubleshooting builds).
  • My new feature complies with the feature status guidelines.
  • I have added a brief description of why this PR is necessary and/or what this PR solves.
  • Optional. My organization is added to USERS.md.
  • Optional. For bug fixes, I've indicated what older releases this fix should be cherry-picked into (this may or may not happen depending on risk/complexity).

@andrii-korotkov-verkada andrii-korotkov-verkada requested a review from a team as a code owner November 25, 2024 09:51
Copy link

bunnyshell bot commented Nov 25, 2024

❌ Preview Environment deleted from Bunnyshell

Available commands (reply to this comment):

  • 🚀 /bns:deploy to deploy the environment

@andrii-korotkov-verkada andrii-korotkov-verkada force-pushed the 20941-optimize-e2e-tests-by-improving-ensure-clean-state branch from 6bc0692 to c67bcae Compare November 25, 2024 10:04
@andrii-korotkov-verkada
Copy link
Contributor Author

Hm, namespace deletion is slow, so waiting for it is too bad.

@andrii-korotkov-verkada andrii-korotkov-verkada force-pushed the 20941-optimize-e2e-tests-by-improving-ensure-clean-state branch 2 times, most recently from 6523fea to ba114a0 Compare November 25, 2024 13:43
Copy link

codecov bot commented Nov 25, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (master@8bce61e). Learn more about missing BASE report.
Report is 385 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master   #20942   +/-   ##
=========================================
  Coverage          ?   55.03%           
=========================================
  Files             ?      324           
  Lines             ?    55465           
  Branches          ?        0           
=========================================
  Hits              ?    30523           
  Misses            ?    22331           
  Partials          ?     2611           

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

@andrii-korotkov-verkada
Copy link
Contributor Author

Seems to save just about 1 minute, but I'll take it.

@andrii-korotkov-verkada andrii-korotkov-verkada added the ready-for-review An approver should give a final review and merge the PR label Nov 25, 2024
@blakepettersson
Copy link
Member

@andrii-korotkov-verkada it's not clear to me why this change would be faster than the current implementation. If it saves 1m it seems more like background noise than anything else...

@andrii-korotkov-verkada
Copy link
Contributor Author

We don't run extra kubectl commands if there's nothing to cleanup, saving ~50ms per call. Also, I think directly using APIs to create gpg is a bit faster than running cli. I've expected more savings, but I'll take even 1 minute.

@andrii-korotkov-verkada
Copy link
Contributor Author

There's been log messages for kubectl with label selector saying there's nothing to remove, so I'm getting rid of those. Also, I batch multiple resources of the same type to be deleted together, via one command. Not sure how much this saves, but seems good.

@crenshaw-dev
Copy link
Member

If savings are <5min, I think simpler code is worth the time.

Cleaning up logs is an independently good thing, but also probably not worth more difficult-to-read code.

@crenshaw-dev
Copy link
Member

New code reads fine to me except the if len(args) > stuff. That's difficult to read.

@andrii-korotkov-verkada
Copy link
Contributor Author

I'll get rid of len(args) > and replace with something more readable.

@andrii-korotkov-verkada andrii-korotkov-verkada force-pushed the 20941-optimize-e2e-tests-by-improving-ensure-clean-state branch from ba114a0 to a656f9b Compare November 25, 2024 15:32
Closes argoproj#20941

Batch some kubectl operations, create gpg using APIs instead of CLI.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
@crenshaw-dev crenshaw-dev merged commit 19bdbca into argoproj:master Nov 28, 2024
28 checks passed
dvcanton pushed a commit to dvcanton/argo-cd that referenced this pull request Dec 2, 2024
Closes argoproj#20941

Batch some kubectl operations, create gpg using APIs instead of CLI.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
adriananeci pushed a commit to adriananeci/argo-cd that referenced this pull request Dec 4, 2024
Closes argoproj#20941

Batch some kubectl operations, create gpg using APIs instead of CLI.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Signed-off-by: Adrian Aneci <aneci@adobe.com>
revitalbarletz pushed a commit to revitalbarletz/argo-cd that referenced this pull request Jan 20, 2025
Closes argoproj#20941

Batch some kubectl operations, create gpg using APIs instead of CLI.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-review An approver should give a final review and merge the PR
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Optimize e2e tests runtime by improving EnsureCleanState
3 participants