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

kubeadm: add test to detect panics when given certain feature gates #83369

Merged
merged 1 commit into from Oct 2, 2019
Merged

kubeadm: add test to detect panics when given certain feature gates #83369

merged 1 commit into from Oct 2, 2019

Conversation

ereslibre
Copy link
Contributor

@ereslibre ereslibre commented Oct 1, 2019

What type of PR is this?
/kind feature

What this PR does / why we need it:
This integration test allows us to detect if a given feature gate will
panic kubeadm. This builds on the assumption that a golang panic makes
the process exit with the code 2.

These tests are not trying to check if the init process succeeds or
not, their only purpose is to ensure that the exit code of the
kubeadm init invocation is not 2, thus, reflecting a golang panic.

Some refactors had to be made to the test code, so we return the exit
code along with stdout and stderr.

Which issue(s) this PR fixes:
Fixes kubernetes/kubeadm#1803

Does this PR introduce a user-facing change?:

NONE

/assign @neolit123
/assign @Arvinderpal

This integration test allows us to detect if a given feature gate will
panic kubeadm. This builds on the assumption that a golang panic makes
the process exit with the code 2.

These tests are not trying to check if the init process succeeds or
not, their only purpose is to ensure that the exit code of the
`kubeadm init` invocation is not 2, thus, reflecting a golang panic.

Some refactors had to be made to the test code, so we return the exit
code along with stdout and stderr.
@k8s-ci-robot k8s-ci-robot added the release-note-none Denotes a PR that doesn't merit a release note. label Oct 1, 2019
@k8s-ci-robot
Copy link
Contributor

@ereslibre: GitHub didn't allow me to assign the following users: Arvinderpal.

Note that only kubernetes members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

In response to this:

What type of PR is this?
/kind test

What this PR does / why we need it:
This integration test allows us to detect if a given feature gate will
panic kubeadm. This builds on the assumption that a golang panic makes
the process exit with the code 2.

These tests are not trying to check if the init process succeeds or
not, their only purpose is to ensure that the exit code of the
kubeadm init invocation is not 2, thus, reflecting a golang panic.

Some refactors had to be made to the test code, so we return the exit
code along with stdout and stderr.

Which issue(s) this PR fixes:
Fixes kubernetes/kubeadm#1803

Does this PR introduce a user-facing change?:

NONE

/assign @neolit123
/assign @Arvinderpal

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Oct 1, 2019
@k8s-ci-robot
Copy link
Contributor

@ereslibre: The label(s) kind/test cannot be applied. These labels are supported: api-review, community/discussion, community/maintenance, community/question, cuj/build-train-deploy, cuj/multi-user, platform/aws, platform/azure, platform/gcp, platform/minikube, platform/other

In response to this:

What type of PR is this?
/kind test

What this PR does / why we need it:
This integration test allows us to detect if a given feature gate will
panic kubeadm. This builds on the assumption that a golang panic makes
the process exit with the code 2.

These tests are not trying to check if the init process succeeds or
not, their only purpose is to ensure that the exit code of the
kubeadm init invocation is not 2, thus, reflecting a golang panic.

Some refactors had to be made to the test code, so we return the exit
code along with stdout and stderr.

Which issue(s) this PR fixes:
Fixes kubernetes/kubeadm#1803

Does this PR introduce a user-facing change?:

NONE

/assign @neolit123
/assign @Arvinderpal

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. kind/feature Categorizes issue or PR as related to a new feature. and removed needs-kind Indicates a PR lacks a `kind/foo` label and requires one. labels Oct 1, 2019
@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. area/kubeadm sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Oct 1, 2019
Copy link
Member

@neolit123 neolit123 left a comment

Choose a reason for hiding this comment

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

thanks @ereslibre

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 1, 2019
@neolit123
Copy link
Member

/retest

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ereslibre, neolit123

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

@neolit123
Copy link
Member

/priority important-longterm

@k8s-ci-robot k8s-ci-robot added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Oct 1, 2019
@k8s-ci-robot k8s-ci-robot merged commit 1fe922e into kubernetes:master Oct 2, 2019
@k8s-ci-robot k8s-ci-robot added this to the v1.17 milestone Oct 2, 2019
@ereslibre ereslibre deleted the feature-gates-test branch October 2, 2019 08:34
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. area/kubeadm 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. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. release-note-none Denotes a PR that doesn't merit a release note. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

create an integration test for the DualStack feature-gate
3 participants