Skip to content

e2e test should take GKE node version as an input #603

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

Merged
merged 1 commit into from
Sep 3, 2020

Conversation

saikat-royc
Copy link
Member

For GKE clusters, node-version flag can be provided during cluster
creation to specify worker node k8s version. This change is needed
to test node and master version skew combinations.

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind api-change
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

PD CSI e2e test infra should take GKE node version as an optional input argument.

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Aug 31, 2020
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: saikat-royc

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Aug 31, 2020
@saikat-royc
Copy link
Member Author

/assign @verult @mattcary

Copy link
Contributor

@mattcary mattcary left a comment

Choose a reason for hiding this comment

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

lgtm module one nit

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Sep 1, 2020
@saikat-royc
Copy link
Member Author

/retest

Copy link
Contributor

@verult verult left a comment

Choose a reason for hiding this comment

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

LGTM, one minor nit

@@ -167,6 +167,10 @@ func clusterUpGKE(gceZone, gceRegion string, numNodes int, imageType string, use
cmdParams = append(cmdParams, "--enable-autorepair")
}

if isVariableSet(gkeNodeVersion) {
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: should there be validation against specifying both release channel and node version?

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think that's an error. I just ran

gcloud beta container clusters create --release-channel rapid --node-version 1.16.8-gke.15 skewed

and it succeeded. It might be useful to test such skewed deployments (although it looks like one might need to be careful about auto-upgrade---maybe that should be automatically disabled whenever both release channel and node version are specified? Or maybe we should just disable auto-upgrade all the time anyway as we probably never want that to happen during a test?)

Copy link
Member Author

Choose a reason for hiding this comment

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

It works if we specify release channel and node version. Master version picks the release version, while nodes pickup the node version.

Copy link
Contributor

Choose a reason for hiding this comment

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

ah ok thanks for checking. Yeah in hindsight if this were not the case, the skew tests we have planned with node version = master version - 2 would be tough.

Disabling auto-upgrade all the time makes sense to me. Removes the possible confusion during the rare occasion when a short-lived test cluster is running while an auto-upgrade is being pushed out.

Copy link
Member Author

@saikat-royc saikat-royc Sep 2, 2020

Choose a reason for hiding this comment

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

I see error when using release channels, and --no-enable-autoupgrade option.
e.g.

gcloud beta container clusters create gcp-pd-csi-driver-test-cluster --zone us-central1-c --num-nodes 3 --quiet --machine-type n1-standard-2 --release-channel rapid --enable-autorepair --no-enable-autoupgrade --node-version 1.16 --addons GcePersistentDiskCsiDriver
...
Auto_upgrade cannot be false when release_channel RAPID is set

however --no-enable-autoupgrade works with cluster-version and node-version option

gcloud beta container clusters create gcp-pd-csi-driver-test-cluster --zone us-central1-c --num-nodes 3 --quiet --machine-type n1-standard-2 --image-type cos --cluster-version latest --no-enable-autoupgrade --node-version 1.16 --addons GcePersistentDiskCsiDriver

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, let's defer the autoupgrade fiddling until we understand the use cases a bit better. It may be that it's not a problem for tests, we'd have to dig into the details more.

@verult
Copy link
Contributor

verult commented Sep 2, 2020

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 2, 2020
@verult
Copy link
Contributor

verult commented Sep 2, 2020

/hold

Saikat do you think we should always disable auto upgrade? If so does it make sense to add it in this PR?

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 2, 2020
@verult
Copy link
Contributor

verult commented Sep 2, 2020

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Sep 2, 2020
@saikat-royc
Copy link
Member Author

/retest

For GKE clusters, node-version flag can be provided during cluster
creation to specify worker node k8s version. This change is needed
to test node and master version skew combinations.
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 3, 2020
@mattcary
Copy link
Contributor

mattcary commented Sep 3, 2020

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 3, 2020
@k8s-ci-robot k8s-ci-robot merged commit 71387ca into kubernetes-sigs:master Sep 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants