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

fix: allow cli/ui to follow logs #8987

Merged
merged 1 commit into from
Apr 9, 2022
Merged

Conversation

danielhelfand
Copy link
Contributor

@danielhelfand danielhelfand commented Apr 4, 2022

Closes #8947

#8404 introduced a new environment var (ARGOCD_K8S_TCP_TIMEOUT) with a default of 32 seconds. This is causing requests for logs with follow configured to be timed out. Maybe the default should be no timeout and should be explicitly configured by the user if requested.

For any user looking to configure these values, we should consider including these logging considerations in documentation for these env vars. There is an issue open for documenting these vars: #8527.

Additionally, the max param for using env.ParseDurationFromEnv func is being passed as arg math.MaxInt32, which is converted to 2.147483647s as a time.Duration. This then only allows users to configure a value between 0 and 2.147483647s. This pr also updates parse duration funcs using math.MaxInt32 as a max to math.MaxInt32*time.Second to fix this issue.

Note on DCO:

If the DCO action in the integration test fails, one or more of your commits are not signed off. Please click on the Details link next to the DCO action for instructions on how to resolve this.

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).
  • 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.
  • Optional. My organization is added to USERS.md.
  • 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).

Copy link
Collaborator

@alexmt alexmt left a comment

Choose a reason for hiding this comment

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

Thank you! Cherry-picking it into 2.3

@codecov
Copy link

codecov bot commented Apr 4, 2022

Codecov Report

Merging #8987 (3a693a5) into master (a5933db) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #8987      +/-   ##
==========================================
- Coverage   45.00%   44.95%   -0.05%     
==========================================
  Files         212      212              
  Lines       25272    25272              
==========================================
- Hits        11373    11362      -11     
- Misses      12292    12306      +14     
+ Partials     1607     1604       -3     
Impacted Files Coverage Δ
applicationset/services/scm_provider/github.go 63.52% <0.00%> (-17.65%) ⬇️
applicationset/services/scm_provider/utils.go 88.50% <0.00%> (+4.59%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a5933db...3a693a5. Read the comment docs.

Signed-off-by: Daniel Helfand <[email protected]>
Copy link
Member

@crenshaw-dev crenshaw-dev left a comment

Choose a reason for hiding this comment

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

LGTM! @jannfis was there any reason you needed the default to be 32s instead of 0?

@jannfis
Copy link
Member

jannfis commented Apr 4, 2022

@crenshaw-dev Thanks for pulling me in.

The server side timeout is the timeout passed to Kubernetes API requests. The default used by the K8s API client is 32 seconds, and should imho stay this way. But probably, when set to 0, the API client will use the 32s default anyway. I was just making it explicit.

@jannfis
Copy link
Member

jannfis commented Apr 4, 2022

I think the reason why the follow logs fails is a different tho.

It's probably this addition, introduced in my change:

IdleConnTimeout: K8sTCPIdleConnTimeout,

EDIT: Hm. That's 5 minutes per default. Shouldn't be the 30s culprit then.

@danielhelfand
Copy link
Contributor Author

@jannfis Thanks for the perspective on this. I tried configuring the various options to see if any of these were the culprit. ARGOCD_K8S_TCP_TIMEOUT was the only change that stopped the timeouts.

Happy to take our time on this and debug a bit further though if you have further questions I can look into.

@danielhelfand
Copy link
Contributor Author

The default used by the K8s API client is 32 seconds

Any docs on this? Am only seeing 32 seconds as default for the discovery client.

@danielhelfand
Copy link
Contributor Author

Following up here, I think having no timeout as the default is the way to go.

Looking further into the k8s client set up, I feel pretty confident that no timeout is being set by default and the 32 second timeout is specific to the discovery client.

This would make sense since, prior to #8404, the timeout was not configurable or being set at all.

@crenshaw-dev
Copy link
Member

@jannfis is that explanation persuasive / would you be alright with merging this PR?

@crenshaw-dev crenshaw-dev added the cherry-pick/2.3 Candidate for cherry picking into the 2.3 release branch label Apr 9, 2022
@crenshaw-dev
Copy link
Member

@danielhelfand I'm not super familiar with this area of the code, but your explanation makes sense to me. We can always revert if there's trouble.

@crenshaw-dev crenshaw-dev merged commit 322c950 into argoproj:master Apr 9, 2022
danielhelfand added a commit to danielhelfand/argo-cd that referenced this pull request Apr 11, 2022
crenshaw-dev pushed a commit that referenced this pull request Apr 11, 2022
wojtekidd pushed a commit to wojtekidd/argo-cd that referenced this pull request Apr 25, 2022
Signed-off-by: Daniel Helfand <[email protected]>
Signed-off-by: wojtekidd <[email protected]>
sujeilyfonseca added a commit to sujeilyfonseca/argo-cd that referenced this pull request Jul 7, 2022
* fix(ui): Applications page incorrectly resets to tiles view. Fixes argoproj#8702 (argoproj#8718)

Signed-off-by: Yuan Tang <[email protected]>

* fix: correct jsonnet paths resolution (argoproj#8721)

Signed-off-by: Alexander Matyushentsev <[email protected]>

* chore: Bump stable version of application set addon (argoproj#8744)

Signed-off-by: Alexander Matyushentsev <[email protected]>

* fix: Retry checkbox unchecked unexpectedly; Sync up with YAML (argoproj#8682) (argoproj#8720)

Signed-off-by: Keith Chong <[email protected]>

* Bump version to 2.3.1

* Bump version to 2.3.1

* Merge pull request from GHSA-2f5v-8r3f-8pww

* fix: application resource APIs must enforce project restrictions

Signed-off-by: Alexander Matyushentsev <[email protected]>

* Fix unit tests

Signed-off-by: jannfis <[email protected]>

Co-authored-by: jannfis <[email protected]>

* chore: remove lint-docs CI task (argoproj#8722) (argoproj#8858)

* chore: remove lint-docs CI task

Signed-off-by: Alexander Matyushentsev <[email protected]>

* chore: remove not longer necessary url-allow-list

Signed-off-by: Alexander Matyushentsev <[email protected]>

Co-authored-by: Alexander Matyushentsev <[email protected]>

* chore: fix imports (argoproj#8859)

Signed-off-by: Michael Crenshaw <[email protected]>

* Bump version to 2.3.2

* Bump version to 2.3.2

* fix: Set QPS and burst rate for resource ops client (argoproj#8915)

* fix: Set QPS and burst rate for resource ops client

Signed-off-by: jannfis <[email protected]>

* fix: prevent excessive repo-server disk usage for large repos (argoproj#8845) (argoproj#8897)

fix: prevent excessive repo-server disk usage for large repos (argoproj#8845) (argoproj#8897)

Signed-off-by: Michael Crenshaw <[email protected]>

* fix: bump gitops engine version to v0.6.2

Signed-off-by: Alexander Matyushentsev <[email protected]>

* docs: update v2.4+ roadmap items (argoproj#8593)

Signed-off-by: ishitasequeira <[email protected]>

* docs: reflect v2.3 release changes in roadmap.md (argoproj#8747)

docs: reflect v2.3 release changes in roadmap.md (argoproj#8747)

Signed-off-by: Alexander Matyushentsev <[email protected]>

* Bump version to 2.3.3

* Bump version to 2.3.3

* fix: Fix docs build error (argoproj#8895)

* work with specific jinja version

Signed-off-by: pashavictorovich <[email protected]>

* fix: fix broken monaco editor collapse icons (argoproj#8709)

Signed-off-by: Alexander Matyushentsev <[email protected]>

* chore: upgrade to go 1.17.8 (argoproj#8866) (argoproj#9004)

* chore: upgrade to go 1.17.8

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: use 1.17 so it's always latest in the series

Signed-off-by: Michael Crenshaw <[email protected]>

* fix: allow cli/ui to follow logs (argoproj#8987) (argoproj#9065)

Signed-off-by: Daniel Helfand <[email protected]>

* Merge pull request from GHSA-xmg8-99r8-jc2j

Signed-off-by: Michael Crenshaw <[email protected]>

Co-authored-by: Michael Crenshaw <[email protected]>

* Merge pull request from GHSA-6gcg-hp2x-q54h

* fix: do not allow symlinks from directory-type applications

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: add new util file

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: lint

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: use t.TempDir for simpler tests

Signed-off-by: Michael Crenshaw <[email protected]>

* address comments

Signed-off-by: Michael Crenshaw <[email protected]>

* Merge pull request from GHSA-r642-gv9p-2wjj

Signed-off-by: jannfis <[email protected]>

Co-authored-by: Michael Crenshaw <[email protected]>

Co-authored-by: Michael Crenshaw <[email protected]>

* Bump version to 2.3.4

* Bump version to 2.3.4

* test: fix ErrorContains (argoproj#9445)

Signed-off-by: Michael Crenshaw <[email protected]>

* fix: missing Helm params (argoproj#9565) (argoproj#9566)

* fix: missing Helm params

Signed-off-by: Michael Crenshaw <[email protected]>

* use absolute paths, fix tests

Signed-off-by: Michael Crenshaw <[email protected]>

* fix race in test

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: upgrade golangci-lint to v1.46.2 (argoproj#9448)

* chore: upgrade golangci-lint to v1.46.2

Because:

* Installation of golangci-lint v1.45.2 is currently broken and fails
  silently due to a redacted dependency
  (blizzy78/varnamelen#13)

This commit:

* Upgrades golangci-lint to v1.46.2

Signed-off-by: Tommaso Sardelli <[email protected]>

* fix: lint

Signed-off-by: Michael Crenshaw <[email protected]>

* fix: lint

Signed-off-by: Tommaso Sardelli <[email protected]>

Co-authored-by: Michael Crenshaw <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

* fix: test race (argoproj#9469)

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: lint issues

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: update golangci-lint (argoproj#8988)

* chore: update golangci-lint

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: remove obsolete repo-server unit test (argoproj#9559)

Signed-off-by: Alexander Matyushentsev <[email protected]>

* chore: Make unit tests run on platforms other than amd64 (argoproj#8995)

Signed-off-by: jannfis <[email protected]>

Co-authored-by: Michael Crenshaw <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

* chore: eliminate go-mpatch dependency (argoproj#9045)

* chore: eliminate go-mpatch dependency

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: abstract out resource list function

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: don't exit the program in anything but the main function

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: better error messages

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: better error messages

Signed-off-by: Michael Crenshaw <[email protected]>

* test: directory app manifest generation (argoproj#9503)

* test: directory app manifest generation

Signed-off-by: Michael Crenshaw <[email protected]>

* git doesn't support empty dirs

Signed-off-by: Michael Crenshaw <[email protected]>

* Merge pull request from GHSA-h4w9-6x78-8vrj

Signed-off-by: Michael Crenshaw <[email protected]>

* Merge pull request from GHSA-2m7h-86qq-fp4v

Signed-off-by: Michael Crenshaw <[email protected]>

fix references

Signed-off-by: Michael Crenshaw <[email protected]>

use long enough state param for oauth2

Signed-off-by: Michael Crenshaw <[email protected]>

typo

Signed-off-by: Michael Crenshaw <[email protected]>

more entropy

Signed-off-by: Michael Crenshaw <[email protected]>

fix test

Signed-off-by: Michael Crenshaw <[email protected]>

* Merge pull request from GHSA-q4w5-4gq2-98vm

Signed-off-by: Michael Crenshaw <[email protected]>

* Merge pull request from GHSA-jhqp-vf4w-rpwq

Signed-off-by: Michael Crenshaw <[email protected]>

defer instead of multiple close calls

Signed-off-by: Michael Crenshaw <[email protected]>

oops

Signed-off-by: Michael Crenshaw <[email protected]>

don't count jsonnet against max

Signed-off-by: Michael Crenshaw <[email protected]>

fix codegen

Signed-off-by: Michael Crenshaw <[email protected]>

add caveat about 300x ratio

Signed-off-by: Michael Crenshaw <[email protected]>

fix versions

Signed-off-by: Michael Crenshaw <[email protected]>

fix tests/lint

Signed-off-by: Michael Crenshaw <[email protected]>

* chore: fix docs gen

Signed-off-by: Michael Crenshaw <[email protected]>

* Bump version to 2.3.5

* Bump version to 2.3.5

* docs: Changes for v2.3.5

Documented key decision factors to use Argo CD v2.3.5.

Contributes to: automation-saas/automation-saas/native-AWS#1972

Signed-off-by: Sujeily Fonseca <[email protected]>

Co-authored-by: Yuan Tang <[email protected]>
Co-authored-by: Alexander Matyushentsev <[email protected]>
Co-authored-by: Keith Chong <[email protected]>
Co-authored-by: argo-bot <[email protected]>
Co-authored-by: jannfis <[email protected]>
Co-authored-by: Michael Crenshaw <[email protected]>
Co-authored-by: Ishita Sequeira <[email protected]>
Co-authored-by: pasha-codefresh <[email protected]>
Co-authored-by: Daniel Helfand <[email protected]>
Co-authored-by: Tommaso Sardelli <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-pick/2.3 Candidate for cherry picking into the 2.3 release branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

argocd app logs [app] --follow no longer works in ArgoCD 2.3.1
4 participants