-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Make start and stop timeouts for test controlplane configurable #169
Make start and stop timeouts for test controlplane configurable #169
Conversation
/assign @DirectXMan12 |
dc633c5
to
23ec656
Compare
@@ -32,6 +35,8 @@ const ( | |||
envEtcdBin = "TEST_ASSET_ETCD" | |||
envKubectlBin = "TEST_ASSET_KUBECTL" | |||
envKubebuilderPath = "KUBEBUILDER_ASSETS" | |||
envStartTimeout = "KUBEBUILDER_CONTROLPLANE_START_TIMEOUT" | |||
envStopTimeout = "KUBEBUILDER_CONTROLPLANE_STOP_TIMEOUT" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend making these part of Environment
struct below as public args, so that callers can override the defaults and lets tweak the defaults on the basis of your experience. Lets avoid passing these through environment variables.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hey @droot , thanks for your feedback.
While I think adding them to the struct is a good idea I believe it still makes sense to populate them from the environment, because a controller-manager may contain more than one controller and this is a setting one does not want to set per controller but globally for all controllers, since there is no reason to believe that the test apiserver and etcd will have a different startup time per controller.
What do you think about adding them to the environment struct but populating them from environment variables in case they are unset?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think about adding them to the environment struct but populating them from environment variables in case they are unset?
Picking the defaults (if unspecified) from environment variables sounds reasonable to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@droot I've updated the PR to add the start/stop timeout options to the Environment
struct and only default from environment variables if they are unspecified, please take another look
ea8ce45
to
6e2c361
Compare
6e2c361
to
88bfd77
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR.
@droot Is there something else I need to do here? Should I |
oh... It was missing lgtm label, just did that. Thanks for the reminder. |
[APPROVALNOTIFIER] This PR is APPROVED Approval requirements bypassed by manually added approval. This pull-request has been approved by: alvaroaleman The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…-control-plane-start-timeout Make start and stop timeouts for test controlplane configurable
This allows configuring the start and stop timeouts for the controlplane. I've created this PR after repeated test failures in the kubernetes-sigs/cluster-api repo due to
timeout waiting for process kube-apiserver to start
, e.G. in kubernetes-sigs/cluster-api#523