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

Set up testing environments for kubeadm #34136

Closed
luxas opened this issue Oct 5, 2016 · 15 comments
Closed

Set up testing environments for kubeadm #34136

luxas opened this issue Oct 5, 2016 · 15 comments
Assignees
Labels
area/kubeadm area/test priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle.
Projects

Comments

@luxas
Copy link
Member

luxas commented Oct 5, 2016

First we should make small integration tests that are spinning up a two-node cluster (maybe in containers) and verifying that the cluster comes up and basic functionality works

Then full-featured e2e testing that runs the e2e conformance suite on a kubeadm-created cluster should follow as a presubmit check so we can be sure that we're not breaking things when submitting PRs

Hopefully we're doing this in containers, @errordeveloper and @marun were experimenting with that.

Anything else we need for testing kubeadm?

cc @kubernetes/sig-cluster-lifecycle @kubernetes/sig-testing

@errordeveloper
Copy link
Member

I've started doing some work on integration tests, using Docker-in-Docker and systemd (of course). It's sort of very experimental and exploratory, e.g. I used Drone and not Jenkins, and I am still to look at test-infra repo and see how well it suites our needs, I have some doubts if there much that can be reused for deb/rpm+systemd integration test in particular.

See these repos (sorry, no docs yet):

I'll continue playing with this, unless someone thinks it's a really bad idea... Let's discuss in more details on Slack, I just thought I can start something unless anyone else commits to it. It's not ready to show and it's a 65% functional PoC, but I just want to make sure folks know that I'm working on something in this are, and I also would really appreciate any help!

@bgrant0607 bgrant0607 added sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. and removed sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. labels Oct 7, 2016
@ivan4th
Copy link
Contributor

ivan4th commented Oct 11, 2016

See also https://groups.google.com/d/msg/kubernetes-sig-cluster-lifecycle/nb-To3C8eZ8/_5o2hs6SFAAJ
I've made a version of kubernetes-dind-cluster (original version by @sttts) that is capable of starting kubeadm cluster based on locally-built binaries for kubeadm, kubelet, kubectl & hyperkube. I'll add support for this to my k8s-devbox project soon. The devbox has some tests already and I'll add some tests that bring up cluster with kubeadm and run conformance tests against it (runnable on GCE).
Proper DIND support requires this PR: #34522

This being said, I think @errordeveloper's kubeadm-ci-* is necessary, too, because my implementation doesn't do any packaging.

Also, thanks to @marun for his dkr-systemd-dind project and to @errordeveloper for kubeadm-ci-* projects, I took some bits from there too.

@mikedanese mikedanese added this to the v1.5 milestone Oct 14, 2016
@mikedanese mikedanese added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label Oct 14, 2016
@roberthbailey
Copy link
Contributor

/cc @kubernetes/sig-testing

@roberthbailey
Copy link
Contributor

It would be great if we could get e2es running in our existing test-infra using kubeadm.

@mikedanese
Copy link
Member

I'd like to do this by adapting kubernetes-anywhere to use kubeadm instead of iginition and write bindings for kubernetes-anywhere using @zmerlynn 's new hack/e2e.go features.

@pires
Copy link
Contributor

pires commented Oct 14, 2016

/cc @dmmcquay

@dims
Copy link
Member

dims commented Nov 16, 2016

This needs to be triaged as a release-blocker or not for 1.5 @luxas @pires @mikedanese

@mikedanese mikedanese removed this from the v1.5 milestone Nov 16, 2016
@mikedanese
Copy link
Member

@dims This is very close to done. This won't be a release blocker. I'm ok with moving this out of the milestone even though it will likely be done by the release. Last release didn't we have a v1.4-nonblocking milestone?

@luxas
Copy link
Member Author

luxas commented Nov 16, 2016

@mikedanese Have you set up a jenkins ci?

@dims
Copy link
Member

dims commented Nov 16, 2016

@mikedanese : nice! let's ask Saad. @saad-ali : we need a v1.5-nonblocking milestone this time?

@mikedanese mikedanese added this to the v1.5 milestone Nov 16, 2016
@mikedanese
Copy link
Member

Ok, @saad-ali Informed me that I should leave in v1.5 but add non-release blocker.

@luxas, very soon we will. One more PR left.

@dims
Copy link
Member

dims commented Nov 17, 2016

@mikedanese sounds good to me.

@dims
Copy link
Member

dims commented Dec 9, 2016

@luxas @pipejakob Is it appropriate to move this to the next milestone or clear the 1.5 milestone? (and remove the non-release-blocker tag as well)

@mikedanese mikedanese removed this from the v1.5 milestone Dec 9, 2016
@luxas
Copy link
Member Author

luxas commented Dec 9, 2016

@mikedanese Actually we can move this issue to kubernetes/kubeadm

deads2k pushed a commit to deads2k/kubernetes that referenced this issue Feb 6, 2017
…te_has_unit_tests

Automatic merge from submit-queue (batch tested with PRs 39681, 39321, 41018, 40883)

kubeadm: app/util/template.go has unit tests

**What this PR does / why we need it**: There was a TODO tag about adding unit tests, but unit tests have been added and the coverage for that file is ~90%.  Tag should be removed. 

Adding unit tests is a WIP from kubernetes#34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 7, 2017
Automatic merge from submit-queue (batch tested with PRs 40385, 40786, 40999, 41026, 40996)

kubeadm: change os.Remove to os.RemoveAll

**What this PR does / why we need it**: This would not correctly clean out the tmp dir, since os.Remove doesn't recursively remove dirs, which could exist in the tmp dir.

Unit tests are a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 7, 2017
Automatic merge from submit-queue (batch tested with PRs 41064, 41090, 41068, 41073, 40882)

kubeadm: updated tests in app/util pkg

**What this PR does / why we need it**: Tests did not follow the standard of being table driven. Updated to make future changes (Adding/deleting tests) easier as well as more readable

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 8, 2017
Automatic merge from submit-queue (batch tested with PRs 41061, 40888, 40664, 41020, 41085)

kubeadm: added tests cert/pkiutil pkg

raised coverage from ~37% to ~77%

**What this PR does / why we need it**: added tests to cert/pkiutil pkg and raised coverage from ~37% to ~77%

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 10, 2017
Automatic merge from submit-queue (batch tested with PRs 40796, 40878, 36033, 40838, 41210)

kubeadm: added tests for preflight checks

**What this PR does / why we need it**: There hadn't been much care to add more unit tests as more preflight checks were added. I added tests that increased coverage from ~9% to ~71%

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 14, 2017
Automatic merge from submit-queue (batch tested with PRs 41342, 41257, 41295, 41367, 41230)

kubeadm: unit tests for apis/kubeadm/validation

**What this PR does / why we need it**: added tests to apis/kubeadm/validation pkg and raised coverage from ~21% to 100%.  

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 14, 2017
Automatic merge from submit-queue (batch tested with PRs 41337, 41375, 41363, 41034, 41350)

kubeadm: adding tests for util/tokens.go

**What this PR does / why we need it**: added tests to util pkg and raised coverage from ~48% to ~67%.  Will get better coverage once migration to client-go is complete.  Included a fix for a logic error in tokens.go found through writing tests

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 14, 2017
Automatic merge from submit-queue

kubeadm: test-cmd: token{delete}

**What this PR does / why we need it**: Adding test-cmds for kubeadm ex token delete. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 14, 2017
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: test-cmd: init{config, version, api-port}

**What this PR does / why we need it**: Adding test-cmds for kubeadm init {config, version, api-port}. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 14, 2017
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: test-cmd: join{config, discovery}

**What this PR does / why we need it**: Adding test-cmds for kubeadm join {config, discovery}. Will followup with more test-cmds for other flags as soon as validation for the flags works. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Feb 14, 2017
Automatic merge from submit-queue (batch tested with PRs 41216, 41362, 41275, 41277, 41412)

kubeadm: added unit tests for discovery pkg

**What this PR does / why we need it**: added tests to discovery pkg and raised coverage from ~25% to ~71%.  

Adding unit tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas @pires 

**Release note**:
```release-note
NONE
```
k8s-github-robot pushed a commit that referenced this issue Mar 31, 2017
Automatic merge from submit-queue (batch tested with PRs 42360, 43109, 43737, 43853)

kubeadm: test-cmds for kubeadm completion

**What this PR does / why we need it**: Adding test-cmds for kubeadm completion. 

Adding tests is a WIP from #34136

**Special notes for your reviewer**: /cc @luxas

**Release note**:
```release-note
NONE
```
sttts pushed a commit to sttts/kubernetes that referenced this issue Apr 28, 2017
Automatic merge from submit-queue (batch tested with PRs 42432, 44628, 45101, 44921)

kubeadm: join test cmds for new flags

**What this PR does / why we need it**: Adding test-cmds for new kubeadm join flags. 

Adding tests is a WIP from kubernetes#34136

This is a continuation from kubernetes#42812 since it had to be closed.

**Special notes for your reviewer**: /cc @luxas 

**Release note**:
```release-note
NONE
```
@luxas
Copy link
Member Author

luxas commented May 28, 2017

@pipejakob @mikedanese I think this issue can be closed now given that we have the kubeadm e2e Prow job running?

Also @ivan4th has the kubeadm DIND project that can be used for this purpose easily by devs.

@luxas luxas closed this as completed May 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kubeadm area/test priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle.
Projects
No open projects
kubeadm
TODOs
Development

No branches or pull requests

9 participants