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

Provide Configurable Timeout for Getting Kubeconfig During Phase Run #548

Closed
lb4368 opened this issue May 18, 2021 · 3 comments
Closed

Provide Configurable Timeout for Getting Kubeconfig During Phase Run #548

lb4368 opened this issue May 18, 2021 · 3 comments
Assignees
Labels
1-Core Relates to airshipctl core components (i.e. go code) design needed New Design or Redesign required enhancement New feature or request priority/low Items that are considered non-critical for functionality, such as quality of life improvements size m
Milestone

Comments

@lb4368
Copy link

lb4368 commented May 18, 2021

Problem description
The clusterctl client that is used to retrieve the kubeconfig for site cluster(s) currently does not provide any way to specify a wait timeout so a long default (300 seconds) is used. This can cause the airshipctl cluster get-kubeconfig command or any phase that gets the kubeconfig for one or more clusters to run long when a kubeconfig is inaccessible. There is an upstream clusterctl issue (kubernetes-sigs/cluster-api#4334) meant to provide this capability within the clusterctl client, but it is not implemented yet and will have to be incorporated as part of a clusterctl upgrade once it is.

Proposed change
Update the process for getting the kubeconfig when needed for a specified cluster to allow for a shorter timeout period.

Until the upstream issue is resolved, a workaround would be implemented. This may involve getting the kubeconfig using an older method (e.g. https://github.com/airshipit/airshipctl/blob/63421c8fcc11426e7af10d58733dfcaef6ad8589/pkg/k8s/kubeconfig/secret.go) and adding a timeout setting.

@lb4368 lb4368 added enhancement New feature or request triage Needs evaluation by project members labels May 18, 2021
@jezogwza jezogwza added this to the v2.1 milestone May 19, 2021
@jezogwza jezogwza added design needed New Design or Redesign required 1-Core Relates to airshipctl core components (i.e. go code) and removed triage Needs evaluation by project members labels May 19, 2021
@jezogwza jezogwza modified the milestones: v2.1, Future May 19, 2021
@lb4368 lb4368 modified the milestones: v2.1, Future May 21, 2021
@raliev12
Copy link
Contributor

Hi @lb4368,

I can work on this one, at least to prepare a workaround you mentioned.

@lb4368 lb4368 added the priority/low Items that are considered non-critical for functionality, such as quality of life improvements label May 27, 2021
@lb4368
Copy link
Author

lb4368 commented May 27, 2021

Hi @raliev12. Thanks!

@airshipbot
Copy link

airshipbot commented May 27, 2021

Related Change #793472

Subject: Allow to setup timeout and retries for get kubeconfig request
Link: https://review.opendev.org/c/airship/airshipctl/+/793472
Status: NEW
Owner: Ruslan Aliev (raliev@mirantis.com)

Approvals

Code-Review
! None
Verified
-1 ATT Airship2.0 CI
+1 Zuul
Workflow
! None

Last Updated: 2021-05-28 01:59:56 CDT

@eak13 eak13 added the size m label May 28, 2021
@lb4368 lb4368 modified the milestones: Future, v2.1 Jun 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1-Core Relates to airshipctl core components (i.e. go code) design needed New Design or Redesign required enhancement New feature or request priority/low Items that are considered non-critical for functionality, such as quality of life improvements size m
Projects
None yet
Development

No branches or pull requests

5 participants