Commit Graph

223 Commits

Author SHA1 Message Date
Patrick Ohly
1822895ce2 update Bazel 2019-07-04 17:15:14 +02:00
vikaschoudhary16
53c0641686 Add stub device plugin for e2e tests 2019-06-21 11:07:12 +05:30
Kubernetes Prow Robot
518f16636f Merge pull request #78593 from RobertKrawitz/ephemeral-storage-quota-cleanup
Ephemeral storage quota cleanup
2019-06-14 05:33:18 -07:00
Kubernetes Prow Robot
b8ba75bcd9 Merge pull request #77526 from alejandrox1/framework_util_pod_refactor
Refactored pod-related functions from framework/util.go
2019-06-13 23:06:19 -07:00
Robert Krawitz
10d37bb748 Rename pkg/volume/util/quota -> pkg/volume/util/fsquota 2019-05-31 13:57:44 -04:00
Jorge Alarcon Ochoa
4969a05327 Refactored pod-related functions from framework/util.go
This a refactoring of framework/utils.go into framework/pod.

Signed-off-by: Jorge Alarcon Ochoa <alarcj137@gmail.com>
2019-05-30 09:30:26 -04:00
Robert Krawitz
46b3c75113 Add e2e test for quota-based eviction.
Positive test is skipped if quotas not available.
2019-05-29 15:12:28 -04:00
SataQiu
d3a902ff5b e2e refactor: cleanup Logf form framework/util 2019-05-24 16:39:46 +08:00
SataQiu
252cabf155 [e2e] test/e2e/framework/volume_util.go -> test/e2e/framework/volume/fixtures.go 2019-04-13 16:58:37 +08:00
Jiatong Wang
7814865b40 Move gpu_util.go to e2e/framework/gpu 2019-04-10 14:30:24 -07:00
Davanum Srinivas
33081c1f07 New staging repository for cri-api
Change-Id: I2160b0b0ec4b9870a2d4452b428e395bbe12afbb
2019-03-26 18:21:04 -04:00
Kubernetes Prow Robot
535064773a Merge pull request #73946 from dashpole/prometheus_core_metrics
Add kubelet resource metrics v1alpha1 endpoint
2019-03-07 22:43:28 -08:00
David Ashpole
6051664c0f add kubelet prometheus resource metrics endpoint 2019-03-07 15:39:37 -08:00
Kubernetes Prow Robot
98fa2c7d32 Merge pull request #74222 from Huang-Wei/kubelet-mirrorpod
kubelet: return mirror pod in GetActivePods()
2019-03-05 13:22:02 -08:00
Daniel (Shijun) Qian
d648ba856b Move pkg/api/v1/node to pkg/util/node (#73656)
* merge pkg/api/v1/node with pkg/util/node

* update test case for utilnode

* remove package pkg/api/v1/node

* move isNodeReady to internal func

* Split GetNodeCondition into e2e and controller pkg

* fix import errors
2019-02-26 11:05:32 -08:00
Wei Huang
76174b3d0f e2e: ensure static system-node-critical pod not to be evicted 2019-02-25 14:26:24 -08:00
Jeff Grafton
7a938eb541 Create work-around wrappers for pure attribute on go_binary and go_test
This enables cgo when cross-compiling certain tests and binaries to
Linux, while disabling cgo for Windows and Darwin.
2019-02-22 18:08:34 -08:00
Bobby (Babak) Salamat
1dac6d03e3 generated files 2019-02-22 10:51:15 -08:00
Robert Krawitz
2597a1d97e Implement SupportNodePidsLimit, hand-tested 2019-02-13 14:56:17 -05:00
Kubernetes Prow Robot
5d19fda5e8 Merge pull request #72844 from dashpole/fork_bomb_test
Fix PidPressure, and add fork-bomb e2e-node test
2019-01-16 15:59:01 -08:00
ailusazh
10995f661d clean containers in reconcileState of cpuManager 2019-01-15 16:09:28 +08:00
David Ashpole
8b440c6424 Fix PidPressure, make it evict by priority, and add fork-bomb node e2e test 2019-01-14 09:41:36 -08:00
Kubernetes Prow Robot
e44330dfab Merge pull request #72455 from rojkov/test-e2e-node-gke
e2e-node-tests: fix path to system specs
2019-01-11 03:30:37 -08:00
Dmitry Rozhkov
43fce8d6e4 e2e-node-tests: fix path to system specs
e2e-node tests may use custom system specs for validating nodes to
conform the specs. The functionality is switched on when the tests
are run with this command:

    make SYSTEM_SPEC_NAME=gke test-e2e-node

Currently the command fails with the error:

    F1228 16:12:41.568836   34514 e2e_node_suite_test.go:106] Failed to load system spec: open /home/rojkov/go/src/k8s.io/kubernetes/k8s.io/kubernetes/cmd/kubeadm/app/util/system/specs/gke.yaml: no such file or directory

Move the spec file under `test/e2e_node/system/specs` and introduce a single
public constant referring the file to use instead of multiple private constants.
2019-01-10 10:37:55 +02:00
Derek Carr
bce9d5f204 SupportPodPidsLimit feature beta with tests 2019-01-09 10:50:59 -05:00
David Ashpole
630cb53f82 add kubelet grpc server for pod-resources service 2018-11-15 09:43:20 -08:00
Davanum Srinivas
954996e231 Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Mayank Gaikwad
8f557da3c8 Port kubelet e2e_node tests to e2e 2018-09-17 11:33:30 +05:30
Balaji Subramaniam
7c4411eb28 Initial node performance testing framework. 2018-09-05 11:24:44 -07:00
Lucas Käldström
8b6a7ee075 autogenerated go code, godeps, bazel and gofmt 2018-09-02 14:38:59 +03:00
Kubernetes Submit Queue
8ba06eff79 Merge pull request #67571 from mgdevstack/master-commit-runtime
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Transitioning container-runtime e2e_node test to e2e

**What this PR does / why we need it**:
This is a continuation of an existing PR #67258 to transition [few runtime NodeConformance tests](https://github.com/kubernetes/kubernetes/issues/67103#issuecomment-411483640) from e2e_node to e2e (e2e/common).

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #67103

**Special notes for your reviewer**:
In order to make simple clear naming of test, they are updated to 
> "_Container Runtime blackbox test when starting a container that exits should run with the expected status [NodeConformance]_" 
>"~~_Container Runtime Conformance Test container runtime conformance blackbox test when starting a container that exits it should run with the expected status [NodeConformance]_~~"

which requires updation of test names in test/test_owners.csv and test_owners.json file. Do we have any automated script to update these test_owners file or do we need to update them manually in both files?

Please feel free to comment incase we don't want to change test name.

Newly updated codebase includes following changes accomplishing all previously [mentioned](https://github.com/kubernetes/kubernetes/pull/67258#pullrequestreview-147294021) requested changes(reviews)
- [Test name](https://github.com/kubernetes/kubernetes/pull/67258/files#diff-0dc16dc0a015699e53bda03495adc49eR36) change.
- Container's [image name](https://github.com/kubernetes/kubernetes/pull/67258/files#diff-0dc16dc0a015699e53bda03495adc49eR144)
- [By()](https://github.com/kubernetes/kubernetes/pull/67258/files#diff-0dc16dc0a015699e53bda03495adc49eR109) statement
- [Removed test](https://github.com/kubernetes/kubernetes/pull/67258/files#diff-178a0a673bda44ea7a86bd94070df78cR137) from conformance golden list

This would close existing PR #67258
 
**Release note**:

```release-note
NONE
```
/area conformance
@kubernetes/sig-node-pr-reviews
2018-08-31 20:37:27 -07:00
Lucas Käldström
844487aea4 autogenerated 2018-08-29 20:21:17 +03:00
Mayank Gaikwad
74bc8a3211 transitioning container-runtime from e2e_node to e2e/common 2018-08-24 07:54:19 +05:30
Kubernetes Submit Queue
99fab84c7a Merge pull request #67100 from mkurylec/promotion-lifecycle-hook-to-conformance
Automatic merge from submit-queue (batch tested with PRs 67100, 67426). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

porting e2e_node lifecycle testcases into e2e folder under common

a) Shifted (and renamed) file existing in e2e_node to e2e/common.
b) Added these tests to the conformance suite:
- "should execute poststart exec hook properly"
-  "should execute prestop exec hook properly"
- "should execute poststart http hook properly"
- "should execute prestop http hook properly"

[reference issue](https://github.com/kubernetes/kubernetes/issues/67086) explaining the effort.
2018-08-16 11:57:28 -07:00
Kubernetes Submit Queue
b6f0aed056 Merge pull request #66906 from tnozicka/rename-until
Automatic merge from submit-queue (batch tested with PRs 67071, 66906, 66722, 67276, 67039). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

#50102 Task 1: Move apimachinery/pkg/watch.Until into client-go/tools/watch.UntilWithoutRetry

**What this PR does / why we need it**:
This is a split off from https://github.com/kubernetes/kubernetes/pull/50102 to go in smaller pieces.

Moves `apimachinery/pkg/watch.Until` into `client-go/tools/watch.UntilWithoutRetry` and adds context so it is cancelable.

**Release note**:
```release-note
NONE
```

**Dev release note**:
```dev-release-note
`apimachinery/pkg/watch.Until` has been moved to `client-go/tools/watch.UntilWithoutRetry`.
While switching please consider using the new `client-go/tools/watch.UntilWithSync` or `client-go/tools/watch.Until`.
```

/cc @smarterclayton @kubernetes/sig-api-machinery-pr-reviews 
/milestone v1.12
/priority important-soon
/kind bug
(bug after the main PR which is this split from)
2018-08-14 22:43:19 -07:00
Tomas Nozicka
4d7747a5a3 Update Bazel 2018-08-10 09:55:41 +02:00
Maria Alejandra Kurylec
21c0cae4e9 a) fixing dependencies. 2018-08-08 09:44:05 -03:00
Maria Alejandra Kurylec
f79d5a19d4 a) porting e2e_node lifecycle testcases into e2e folder, under common.
b) placing them under conformance golden list.
2018-08-08 09:44:05 -03:00
wackxu
f3823cc2cf fix e2e tests which set PodPriority are failing 2018-07-23 09:31:26 +08:00
Yuanbin.Chen
f2eee3fe2a Fix kubeadm checks import error
kubeadm checks package import path exist "kubernetes/test",
So change the import path.

  * move "k8s.io/kubernetes/test/e2e_node/system" directory file
    to "k8s.io/kubernetes/cmd/kubeadm/app/util/system"
  * change system package import path
  * remove "k8s.io/kubernetes/test/e2e_node/system" directory

Issues report link:
https://github.com/kubernetes/kubeadm/issues/976

Signed-off-by: Yuanbin.Chen <cybing4@gmail.com>
2018-07-13 14:27:46 +08:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Jeff Grafton
a725660640 Update to gazelle 0.12.0 and run hack/update-bazel.sh 2018-06-22 16:22:18 -07:00
Kubernetes Submit Queue
15cd355281 Merge pull request #64213 from dashpole/eviction_event_annotation
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add metadata to kubelet eviction event annotations

**What this PR does / why we need it**:
Add annotations to kubelet eviction events.  Annotations include 
"offending_containers" : comma-seperated list of containers.
"offending_containers_usage": comma-seperated list of usage.
"starved_resource": v1.ResourceName of the starved resource

**Special notes for your reviewer**:
Adding annotations to events required changing the `EventRecorder` interface to add a `AnnotatedEventf` function, which can add annotations to an event.

**Release note**:
```release-note
NONE
```
/assign @dchen1107 
cc @mwielgus @schylek @kgrygiel
2018-05-29 23:37:47 -07:00
David Ashpole
fd1f19fc42 add metadata to kubelet eviction event annotations 2018-05-23 16:12:54 -07:00
Michael Taufen
fd3432ef05 add dynamic config metrics
This PR exports config-releated metrics from the Kubelet.
The Guages for active, assigned, and last-known-good config can be used
to identify config versions and produce aggregate counts across several
nodes. The error-reporting Gauge can be used to determine whether a node
is experiencing a config-related error, and to prodouce an aggregate
count of nodes in an error state.
2018-05-22 14:08:55 -07:00
Kubernetes Submit Queue
2accf11f1a Merge pull request #57849 from dashpole/eviction_test_event
Automatic merge from submit-queue (batch tested with PRs 63865, 57849, 63932, 63930, 63936). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Eviction Node e2e test checks for eviction reason

**What this PR does / why we need it**:
Currently, the eviction test simply ensures that pods are marked `Failed`.  However, this could occur because of an OOM, rather than an eviction.
To ensure that pods are actually being evicted, check for the Reason in the pod status to ensure it is evicted.

**Release note**:
```release-note
NONE
```

cc @kubernetes/sig-node-pr-reviews
2018-05-17 00:28:19 -07:00
Michael Taufen
fcc1f8e7b6 Move to a structured status for dynamic Kubelet config
Updates dynamic Kubelet config to use a structured status, rather than a
node condition. This makes the status machine-readable, and thus more
useful for config orchestration.

Fixes: #56896
2018-05-15 11:25:12 -07:00
David Ashpole
a5df208866 eviction test ensures failed pods are evicted 2018-05-08 16:08:35 -07:00
Kubernetes Submit Queue
44b57338d5 Merge pull request #59692 from mtaufen/dkcfg-unpack-configmaps
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

unpack dynamic kubelet config payloads to files

This PR unpacks the downloaded ConfigMap to a set of files on the node.

This enables other config files to ride alongside the
KubeletConfiguration, and the KubeletConfiguration to refer to these
cohabitants with relative paths.

This PR also stops storing dynamic config metadata (e.g. current,
last-known-good config records) in the same directory as config
checkpoints. Instead, it splits the storage into `meta` and
`checkpoints` dirs.

The current store dir structure is as follows:
```
- dir named by --dynamic-config-dir (root for managing dynamic config)
| - meta (dir for metadata, e.g. which config source is currently assigned, last-known-good)
  | - current (a serialized v1 NodeConfigSource object, indicating the assigned config)
  | - last-known-good (a serialized v1 NodeConfigSource object, indicating the last-known-good config)
| - checkpoints (dir for config checkpoints)
  | - uid1 (dir for unpacked config, identified by uid1)
    | - file1
    | - file2
    | - ...
  | - uid2
  | - ...
```

There are some likely changes to the above structure before dynamic config goes beta, such as renaming "current" to "assigned" for clarity, and extending the checkpoint identifier to include a resource version, as part of resolving #61643.

```release-note
NONE
```

/cc @luxas @smarterclayton
2018-04-24 12:01:37 -07:00
Michael Taufen
c9d398d01e unpack dynamic kubelet config payloads to files
This PR unpacks the downloaded ConfigMap to a set of files on the node.

This enables other config files to ride alongside the
KubeletConfiguration, and the KubeletConfiguration to refer to these
cohabitants with relative paths.

This PR also stops storing dynamic config metadata (e.g. current,
last-known-good config records) in the same directory as config
checkpoints. Instead, it splits the storage into `meta` and
`checkpoints` dirs.
2018-04-19 09:18:53 -07:00