Commit Graph

6268 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
86657a1fcf Merge pull request #38153 from Random-Liu/node-conformance-ci
Automatic merge from submit-queue

Node Conformance: Node Conformance CI

For https://github.com/kubernetes/kubernetes/issues/37252.

The first 2 commits of this PR are from #38150 and #38152. Please review those 2 PRs first, they are both minor cleanup.

This PR:
* Add `TestSuite` interface in `test/e2e_node/remote` to separate test suite logic (packaging, deploy, run test) from VM lifecycle management logic, so that different test suites can share the same VM lifecycle management logic.
  * Different test suites such as node e2e, node conformance, node soaking, cri validation etc. should implement different `TestSuite`.
  * `test/e2e_node/runner/remote` will initialize and run different test suite based on the subcommand.
* Add `run-kubelet-mode` which only starts and monitors kubelet, similar with `run-services-mode`. The reason we need this:
  * Unlike node e2e, node conformance test doesn't start kubelet inside the test suite (in fact, in the future node e2e shouldn't do that either), it assumes kubelet is already running before the test.
  * In fact, node e2e should use similar node bootstrap script like cluster e2e, and the bootstrap script should initialize the node with all necessary node software including kubelet. However, it's not the case now.
  * The easiest way for now is to reuse the kubelet start logic in the test suite. So in this PR, we added `run-kubelet-mode`, and use the test binary as a kubelet launcher to start kubelet before running the test.
* Implement node e2e `TestSuite`.
* Implement node conformance `TestSuite`. Use `docker save` and `docker load` to create and deploy conformance docker image; Start kubelet by running test binary in `run-kubelet-mode`; Run conformance test with `docker run`.

This PR will make it easy to implement continuous integration node soaking test and cri validation test (https://github.com/kubernetes/kubernetes/pull/35266).

/cc @kubernetes/sig-node
2016-12-14 00:48:09 -08:00
Kubernetes Submit Queue
f55fc7a9e3 Merge pull request #38734 from bprashanth/ing_cleanup_timeout
Automatic merge from submit-queue (batch tested with PRs 38689, 38743, 38734, 38430)

Temporarily bump e2e cleanup timeout
2016-12-13 21:25:35 -08:00
Random-Liu
02e96df55c Update log level. 2016-12-13 19:08:55 -08:00
Random-Liu
54c874f2c6 Update bazel. 2016-12-13 19:08:55 -08:00
Random-Liu
4cdd1b788a Add node conformance ci test. 2016-12-13 19:08:55 -08:00
Random-Liu
b7ec229e2c Add run kubelet mode. 2016-12-13 19:08:55 -08:00
Random-Liu
bca5aea5ba Refactor RunRemote to support TestSuite interface. 2016-12-13 19:08:55 -08:00
Random-Liu
99dc80ccc2 Add TestSuite interface and update the CreateTestArchive function. 2016-12-13 19:08:55 -08:00
Kubernetes Submit Queue
aca523f586 Merge pull request #38664 from dashpole/flaky_inode
Automatic merge from submit-queue

Inode Eviction Test is Flaky

This Pull Request:
Marks the InodeEviciton test as flaky
Increases the timeout for disk pressure because coreos has nearly 2 million inodes.
Decreases the status polling interval so we can see eviction ordering better.
@Random-Liu
2016-12-13 16:22:40 -08:00
bprashanth
f898bc5ecf Temporarily bump e2e cleanup timeout 2016-12-13 15:13:32 -08:00
Kubernetes Submit Queue
a9c5f67509 Merge pull request #38668 from bprashanth/glbc_version
Automatic merge from submit-queue

Bump glbc version, cleanup test

Matches https://github.com/kubernetes/ingress/pull/55
2016-12-13 13:27:01 -08:00
Kubernetes Submit Queue
4505224cd3 Merge pull request #35436 from danwinship/utilversion
Automatic merge from submit-queue

Add a package for handling version numbers (including non-"Semantic" versions)

As noted in #32401, we are using Semantic Version-parsing libraries to parse version numbers that aren't necessarily "Semantic". Although, contrary to what I'd said there, it turns out that this wasn't actually currently a problem for the iptables code, because the regexp used to extract the version number out of the "iptables --version" output only pulled out three components, so given "iptables v1.4.19.1", it would have extracted just "1.4.19". Still, it could be a problem if they later release "1.5" rather than "1.5.0", or if we eventually need to _compare_ against a 4-digit version number.

Also, as noted in #23854, we were also using two different semver libraries in different parts of the code (plus a wrapper around one of them in pkg/version).

This PR adds pkg/util/version, with code to parse and compare both semver and non-semver version strings, and then updates kubernetes to use it everywhere (including getting rid of a bunch of code duplication in kubelet by making utilversion.Version implement the kubecontainer.Version interface directly).

Ironically, this does not actually allow us to get rid of either of the vendored semver libraries, because we still have other dependencies that depend on each of them. (cadvisor uses blang/semver and etcd uses coreos/go-semver)

fixes #32401, #23854
2016-12-13 12:10:38 -08:00
Kubernetes Submit Queue
d13067ed37 Merge pull request #38507 from gmarek/res-gat-kubemark
Automatic merge from submit-queue (batch tested with PRs 38695, 38507)

Fix resource gatherer for kubemark

Not working yet...
2016-12-13 07:30:35 -08:00
gmarek
1b1a4aef6a Fix resource gatherer for kubemark 2016-12-13 14:59:22 +01:00
Kubernetes Submit Queue
380ad617f3 Merge pull request #38461 from gmarek/job
Automatic merge from submit-queue

Add an option to run Job in Density/Load config

cc @timothysc @jeremyeder 

@erictune @soltysh - I run this test and it seems to me that Job has noticeably worse performance than Deployment. I'll create an issue for this, but this PR is for easy repro.
2016-12-13 05:57:18 -08:00
Dan Winship
f369372dad Drop version-parsing from pkg/version
pkg/version is now just version constants, etc, not version parsing
2016-12-13 08:53:19 -05:00
Dan Winship
bb60f0415a Add a package for handling version numbers (including non-semvers) 2016-12-13 08:53:00 -05:00
gmarek
c9e78f1cd5 Add an option to run Job in Density/Load config 2016-12-13 13:21:30 +01:00
Kubernetes Submit Queue
b14f57ca7e Merge pull request #38620 from wojtek-t/increase_wait_for_nodes_timeout
Automatic merge from submit-queue (batch tested with PRs 38617, 38620)

Increase timeout for waiting for nodes
2016-12-13 03:46:29 -08:00
Dmitry Shulyak
2e9dd13aee Move recreate evicted test to Basic StatefulSet functionality block
Change-Id: I08af6cc9a1f77213fa0b922c3bc964487169cdca
2016-12-13 13:01:20 +02:00
Kubernetes Submit Queue
0a0294cad6 Merge pull request #38227 from shyamjvs/kubemark-master-migrate
Automatic merge from submit-queue (batch tested with PRs 38609, 38227)

On kubemark master, kubelet now runs as a supervisord process and all master components as pods

This PR fixes issue #37485
On kubemark, previously we had a custom setup that runs master components as top-level processes under supervisord, which is lighter than running kubelet and docker.
This PR makes kubelet run as a process under supervisord and the master components (apiserver, controller-manager, scheduler, etcd) as pods, making testing on kubemark mimic real clusters better.
Also, start-kubemark-master.sh now closely resembles cluster/gce/gci/configure-helper.sh, allowing easy integration in future.

cc @kubernetes/sig-scalability @wojtek-t @gmarek
2016-12-13 02:12:34 -08:00
Kubernetes Submit Queue
99f876bb78 Merge pull request #38609 from wojtek-t/cleanup_annoying_test_logs
Automatic merge from submit-queue

Reduce amount of annoing logs in large clusters
2016-12-13 02:12:07 -08:00
Wojciech Tyczynski
6051870a48 Allow for configuring timeout for waiting for nodes 2016-12-13 09:55:34 +01:00
bprashanth
fc57d76018 Delete static-ip after ingress has cleaned up 2016-12-12 19:06:08 -08:00
David Ashpole
0ec482308e increase timeout and marked as flaky. decreased polling interval to better monitor eviction ordering 2016-12-12 17:31:24 -08:00
Mike Danese
82d9ed770c fix examples/ compilation so that test/ also compiles
fix network-tester cauldron serve_hostnames
2016-12-12 15:14:49 -08:00
Mike Danese
c87de85347 autoupdate BUILD files 2016-12-12 13:30:07 -08:00
Kubernetes Submit Queue
00e5777b66 Merge pull request #38607 from Random-Liu/update-node-e2e-cvm-version
Automatic merge from submit-queue (batch tested with PRs 38419, 38457, 38607)

Node E2E: Update CVM version to e2e-node-containervm-v20161208-image.

I built the new node e2e image from e2e-node-containervm-v20161208-image.

@timstclair 
/cc @kubernetes/sig-node
2016-12-12 12:48:09 -08:00
bprashanth
ee6e4bd832 Don't check nodeport for nginx ingress 2016-12-12 12:04:51 -08:00
Wojciech Tyczynski
ebdef4d57e Reduce amount of annoing logs in large clusters 2016-12-12 14:43:41 +01:00
Kubernetes Submit Queue
59c313730c Merge pull request #38510 from kargakis/declutter-deployment-logs
Automatic merge from submit-queue

test: cleanup test logs for deployments

@mfojtik @janetkuo this will help with the deployment logs (should make them a bit cleaner) ptal
2016-12-12 04:58:30 -08:00
Shyam Jeedigunta
f7ce6a7d10 On kubemark master, kubelet now runs as a supervisord process and all master components as pods 2016-12-12 13:56:07 +01:00
Michail Kargakis
0d95d71e65 test: cleanup test logs for deployments 2016-12-12 12:19:51 +01:00
Wojciech Tyczynski
9439453527 Increase single logfile size in kubemark 2016-12-12 11:18:20 +01:00
Random-Liu
b27776a25f Update CVM version to e2e-node-containervm-v20161208-image. 2016-12-12 01:50:37 -08:00
Wojciech Tyczynski
b1da629374 Fix services in load test 2016-12-12 09:40:43 +01:00
Clayton Coleman
c52d510a24 refactor: generated 2016-12-10 18:05:53 -05:00
Clayton Coleman
596d9de8fa update: linted packages 2016-12-10 18:05:37 -05:00
Clayton Coleman
38127a4e7e Update disruption test 2016-12-10 18:05:37 -05:00
Clayton Coleman
42d410fdde Switch to use pkg/apis/meta/v1/unstructured and the new interfaces
Avoid directly accessing an unstructured type if it is not required.
2016-12-10 18:05:28 -05:00
Kubernetes Submit Queue
4e7dc587f6 Merge pull request #38522 from Random-Liu/add-default-node-e2e-filter
Automatic merge from submit-queue (batch tested with PRs 34002, 38535, 37330, 38522, 38423)

Node E2E: `make test-e2e-node` runs the same test with pr builder by default.

This PR makes `make test-e2e-node` run non-serial, non-flaky, non-slow test by default.
This will make it easier to use.

/cc @timstclair
2016-12-09 18:21:45 -08:00
Random-Liu
486ddae35a make test-e2e-node runs the same test with pr builder by default. 2016-12-09 16:06:18 -08:00
Janet Kuo
0e2b0a6f55 Rename pet to stateful pods in statefulset e2e tests logs 2016-12-09 16:01:13 -08:00
Kubernetes Submit Queue
b72c006eb3 Merge pull request #34554 from derekwaynecarr/quota-storage-class
Automatic merge from submit-queue (batch tested with PRs 37270, 38309, 37568, 34554)

Ability to quota storage by storage class

Adds the ability to quota storage by storage class.
1. `<storage-class>.storageclass.storage.k8s.io/persistentvolumeclaims` - quota the number of claims with a specific storage class
2. `<storage-class>.storageclass.storage.k8s.io/requests.storage` - quota the cumulative request for storage in a particular storage class.

For example:

```
$ cat quota.yaml
apiVersion: v1
kind: ResourceQuota
metadata:
  name: storage-quota
spec:
  hard:
    requests.storage: 100Gi
    persistentvolumeclaims: 100
    gold.storageclass.storage.k8s.io/requests.storage: 50Gi
    gold.storageclass.storage.k8s.io/persistentvolumeclaims: 5
    silver.storageclass.storage.k8s.io/requests.storage: 75Gi
    silver.storageclass.storage.k8s.io/persistentvolumeclaims: 10
    bronze.storageclass.storage.k8s.io.kubernetes.io/requests.storage: 100Gi
    bronze.storageclass.storage.k8s.io/persistentvolumeclaims: 15
$ kubectl create -f quota.yaml
$ cat pvc-bronze.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  generateName: pvc-bronze-
  annotations:
    volume.beta.kubernetes.io/storage-class: "bronze"
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 8Gi
$ kubectl create -f pvc-bronze.yaml
$ kubectl get quota storage-quota -o yaml
apiVersion: v1
kind: ResourceQuota
...
status:
  hard:
    bronze.storageclass.storage.k8s.io/persistentvolumeclaims: "15"
    bronze.storageclass.storage.k8s.io/requests.storage: 100Gi
    gold.storageclass.storage.k8s.io/persistentvolumeclaims: "5"
    gold.storageclass.storage.k8s.io/requests.storage: 50Gi
    persistentvolumeclaims: "100"
    requests.storage: 100Gi
    silver.storageclass.storage.k8s.io/persistentvolumeclaims: "10"
    silver.storageclass.storage.k8s.io/requests.storage: 75Gi
  used:
    bronze.storageclass.storage.k8s.io/persistentvolumeclaims: "1"
    bronze.storageclass.storage.k8s.io/requests.storage: 8Gi
    gold.storageclass.storage.k8s.io/persistentvolumeclaims: "0"
    gold.storageclass.storage.k8s.io/requests.storage: "0"
    persistentvolumeclaims: "1"
    requests.storage: 8Gi
    silver.storageclass.storage.k8s.io/persistentvolumeclaims: "0"
    silver.storageclass.storage.k8s.io/requests.storage: "0"
```
2016-12-09 14:11:21 -08:00
Kubernetes Submit Queue
59cfdfb8db Merge pull request #38463 from jszczepkowski/hpa-e2e-fix5
Automatic merge from submit-queue (batch tested with PRs 37860, 38429, 38451, 36050, 38463)

HPA e2e tests: fixed waiting for service creation.
2016-12-09 13:22:20 -08:00
Kubernetes Submit Queue
9e3fc8de9e Merge pull request #36050 from linux-on-ibm-z/master
Automatic merge from submit-queue (batch tested with PRs 37860, 38429, 38451, 36050, 38463)

[Part 2] Adding s390x cross-compilation support for gcr.io images in this repo

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**: This PR enables s390x support to kube-dns , pause, addon-manager, etcd, hyperkube, kube-discovery etc. This PR also includes the changes due to which it can be cross compiled on x86 host architecture.

**Which issue this PR fixes #34328

**Special notes for your reviewer**:  In existing file "build-tools/build-image/cross/Dockerfile" the repository mentioned for installing cross build tool chains for supporting architecture does not have a tool chain for s390x hence in my PR I am changing the repository so that it will be cross compiled for s390x.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```
Allows cross compilation of Kubernetes on x86 host for s390x also enables s390x support to kube-dns , pause, addon-manager, etcd, hyperkube, kube-discovery etc  
```
2016-12-09 13:22:18 -08:00
Derek Carr
459a7a05f1 Ability to quota storage by storage class 2016-12-09 13:26:59 -05:00
Kubernetes Submit Queue
695fbb8fb6 Merge pull request #38284 from Crassirostris/kibana-test-fix-2
Automatic merge from submit-queue

Increase Kibana e2e test timeout

10 minutes is not always enough to start kibana instance, most probably increasing the timeout will fix https://github.com/kubernetes/kubernetes/issues/36809

Follow-up of https://github.com/kubernetes/kubernetes/pull/36192

CC @piosz
2016-12-09 08:49:42 -08:00
Kubernetes Submit Queue
f5f109ca11 Merge pull request #38292 from gmarek/daemon
Automatic merge from submit-queue

Add Daemons to Load/Density tests

cc @jeremyeder @timstclair @sjug
2016-12-09 07:29:15 -08:00
Kubernetes Submit Queue
72b52d4334 Merge pull request #38302 from Crassirostris/revert-logging-e2e-verbosity
Automatic merge from submit-queue

Revert "Make logging for gcl e2e test more verbose"

Revert test change in favor of https://github.com/kubernetes/kubernetes/pull/38213

CC @piosz
2016-12-09 06:49:21 -08:00