Commit Graph

7215 Commits (0b549190b44efd3de2c47c55c33eeea259ebfc69)

Author SHA1 Message Date
Kubernetes Submit Queue d4ece0abc3 Merge pull request #37499 from fabianofranz/kubectl_plugins
Automatic merge from submit-queue

kubectl binary plugins

**What this PR does / why we need it**:

Introduces the ability to extend `kubectl` by adding third-party plugins that will be exposed through `kubectl`.

Plugins are executable commands written in any language. To be included as a plugin, a binary or script file has to

1. be located under one of the supported plugin path locations:
1.1 `~/.kubectl/plugins` dir
1.2. one or more directory set in the `KUBECTL_PLUGINS_PATH` env var
1.3. the `kubectl/plugins` dir under one or more directory set in the `XDG_DATA_DIRS` env var, which defaults to `/usr/local/share:/usr/share`
2. in any of the plugin path above, have a subfolder with the plugin file(s)
3. in the subfolder, contain at least a `plugin.yaml` file that describes the plugin

Example:

```
$ cat ~/.kube/plugins/myplugin/plugin.yaml
name: "myplugin"
shortDesc: "My plugin's short description"
command: "echo Hello plugins!"

$ kubectl myplugin
Hello plugins!
```

~~In case the plugin declares `tunnel: true`, the plugin engine will pass the `KUBECTL_PLUGIN_API_HOST` env var when calling the plugin binary. Plugins can then access the Kube REST API in "http://$KUBECTL_PLUGIN_API_HOST/api" using the same context currently in use by `kubectl`.~~

Test plugins are provided in `pkg/kubectl/plugins/examples`. Just copy (or symlink) the files to `~/.kube/plugins` to test.

**Which issue this PR fixes**:

Related to the discussions in the proposal document: https://github.com/kubernetes/kubernetes/pull/30086 and https://github.com/kubernetes/community/pull/122.

**Release note**:
```release-note
Introduces the ability to extend kubectl by adding third-party plugins. Developer preview, please refer to the documentation for instructions about how to use it.
```
2017-04-28 12:23:59 -07:00
Davanum Srinivas f4f95be4e7 Mark PersistentVolumes as [Feature:Volumes]
Just so that we know that we need a cloud provider that
supports volumes to run this test. This is similar to
the change in 63bc42c872.

Ran into this when i was trying to run e2e tests with
local-up-cluster locally and figured out this test will
not work since we don't support local storage persistent
volumes.
2017-04-28 08:19:49 -04:00
Fabiano Franz 2b178ad608 Basic support for kubectl plugins 2017-04-28 01:34:07 -03:00
Kubernetes Submit Queue 600ab29e52 Merge pull request #41254 from shashidharatd/federation-service-e2e-1
Automatic merge from submit-queue (batch tested with PRs 45052, 44983, 41254)

[Federation][e2e] Add 2 new testcases to federation service e2e

**What this PR does / why we need it**:
Add 2 new test cases for federation services
- Federation service updation should update clustered service
- Federation service controller should recreate service shard in cluster, if it gets deleted.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #27623, #35827
Handles one of the tasks discussed in #41253

**Special notes for your reviewer**:

**Release note**:
`NONE`

cc @kubernetes/sig-federation-bugs, @nikhiljindal @madhusudancs
2017-04-27 17:14:06 -07:00
Kubernetes Submit Queue 8efb5c9957 Merge pull request #44983 from caesarxuchao/easy-remove-client-go-api-scheme
Automatic merge from submit-queue (batch tested with PRs 45052, 44983, 41254)

Non-controversial part of #44523

For easier review of #44523, i extracted the non-controversial part out to this PR.
2017-04-27 17:14:04 -07:00
Kubernetes Submit Queue c2595909e9 Merge pull request #44966 from a-robinson/insecure
Automatic merge from submit-queue

Fix cockroachdb statefulset test read/write commands

Explicitly specifying `--insecure` is required on insecure clusters,
which started being enforced in a very recent release. In 2 weeks
we'll have a stable image version that we can reliably pin the
relevant statefulset yaml file to in order to avoid stupid failures
like this. I'm really sorry for the flakes!

**What this PR does / why we need it**:

It fixes the currently broken statefulset test suite - https://storage.googleapis.com/k8s-gubernator/triage/index.html?job=gci-gce-statefulset&test=CockroachDB

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

N/A

**Special notes for your reviewer**:

N/A

**Release note**:

```release-note
NONE
```

@kow3ns
2017-04-27 14:56:35 -07:00
Kubernetes Submit Queue a3c4d9d603 Merge pull request #45039 from shyamjvs/report-metrics-grabber-error
Automatic merge from submit-queue (batch tested with PRs 42740, 44980, 45039, 41627, 45044)

Log the error (if any) in e2e metrics gathering step

Because why not.

Ref https://github.com/kubernetes/kubernetes/issues/45038

cc @wojtek-t @gmarek
2017-04-27 13:27:04 -07:00
Kubernetes Submit Queue a984a7ed09 Merge pull request #44980 from csbell/sync-daemonset
Automatic merge from submit-queue (batch tested with PRs 42740, 44980, 45039, 41627, 45044)

[Federation] Convert Daemonset to use the generic sync controller

To be rebased on master when @perotinus's configmaps PR merges.

Tested integration and e2e.
2017-04-27 13:27:02 -07:00
Kubernetes Submit Queue 8ab63dd9ea Merge pull request #42740 from mtaufen/tarball-cleanup
Automatic merge from submit-queue (batch tested with PRs 42740, 44980, 45039, 41627, 45044)

Cleanup some of the tarball producing code for e2e node tests

This is some e2e node cleanup work I found sitting in a local branch while deleting old local git branches. It looks like it's still useful.
2017-04-27 13:27:00 -07:00
Kubernetes Submit Queue 33f51926f6 Merge pull request #45027 from MaciekPytel/ca_test_gcloud_log
Automatic merge from submit-queue (batch tested with PRs 41106, 44346, 44929, 44979, 45027)

Log error before failing in autoscaling e2e

The gcloud alpha command in e2e fails, but no useful information (error message) is logged.
2017-04-27 12:11:08 -07:00
Kubernetes Submit Queue 6b38c11dbe Merge pull request #44979 from shyamjvs/fix-metrics-json-filename
Automatic merge from submit-queue (batch tested with PRs 41106, 44346, 44929, 44979, 45027)

Make metrics filenames for e2e tests indicate the test better

Currently the names of the json files with metrics for e2e tests are named by appending the `SummaryKind` with a timestamp of the test. It took me some time to figure out which file corresponds to which e2e test due to this. Changing it to have the testname instead of the timestamp.

cc @wojtek-t @gmarek
2017-04-27 12:11:06 -07:00
Kubernetes Submit Queue 68850b87b1 Merge pull request #44549 from shashidharatd/federation-e2e
Automatic merge from submit-queue (batch tested with PRs 44591, 44549)

[Federation][e2e] Fix a failing federation e2e testcase in gce-serial

This is to fix the failing test case in federation [gce-serial](https://k8s-testgrid.appspot.com/cluster-federation#gce-serial) tests. The test case has been failing consistently since we registered the clusters in suite-init instead of doing it in every test case.
Instead of registering and then unregistering, we will be now unregistering and then registering the cluster to federation. this test will be run in serial and will not affect other test cases too.


**Release note**:
```
NONE
```
2017-04-27 10:54:57 -07:00
Chao Xu 958903509c bazel 2017-04-27 09:41:53 -07:00
Chao Xu 3fa7b7824a easy changes 2017-04-27 09:41:53 -07:00
Shyam Jeedigunta 87bfad85b1 Log the error (if any) in e2e metrics gathering step 2017-04-27 18:37:52 +02:00
Christian Bell 15e81959e9 [Federation] Convert Daemonset to use the generic sync controller 2017-04-27 08:07:33 -07:00
Maciej Pytel adc1d6a428 Log error before failing in autoscaling e2e 2017-04-27 16:52:53 +02:00
Kubernetes Submit Queue a2f40cafcf Merge pull request #44847 from crassirostris/sd-logging-e2e-timeout
Automatic merge from submit-queue

Increase timeout for Stackdriver Logging e2e tests

They're failing in CI, because Stackdriver Logging's List method is too slow for this purpose. Quick fix, should be gone completely when reading is implemented properly

/cc @piosz
2017-04-27 05:03:05 -07:00
Shyam Jeedigunta 647a1563dc Make metrics filenames for e2e tests indicate the test 2017-04-27 13:03:39 +02:00
Kubernetes Submit Queue 0597a85f51 Merge pull request #41197 from aleksandra-malinowska/monitoring-test
Automatic merge from submit-queue

Add Stackdriver monitoring test
2017-04-27 03:44:22 -07:00
shashidharatd 814bb0b80f Fix a failing test case for cluster object creation/deletion 2017-04-27 14:42:19 +05:30
Aleksandra Malinowska 8c335ea4db Add monitoring test 2017-04-27 11:06:37 +02:00
shashidharatd 2226625c15 test service shard recreation when deleted from federated cluster 2017-04-27 14:27:57 +05:30
shashidharatd a152b9919a Add Federated Service update test case 2017-04-27 14:27:55 +05:30
Kubernetes Submit Queue 2c8a156579 Merge pull request #43188 from vmware/VSANPolicyTest
Automatic merge from submit-queue

e2e tests for VSAN policy support in Kubernetes for vSphere

Following e2e test cases have been implemented for VSAN policy support in Kubernetes for vSphere. These e2e tests are for PR #42974 which out for review.

A total of 8 test cases for below mentioned 5 different scenarios are implemented.

Test cases:

1. Validation of VSAN capabilities.
- hostFailuresToTolerate : Minimum 1 and Max 3. Should be integer.
- stripeWidth: Minimum is 1 and Maximum is 12. Should be integer.
- proportionalCapacity: Expressed in percentage. Should be between 0 and 100. Should be integer.
- iopsLimit: Should be greater than 0. Should be integer.

2. Use a VSAN testbed setup. Try valid VSAN capabilities which are supported by VSAN testbed. Make sure the disk is created with policy configured with it.
- Ex: Using hostFailuresToTolerate=0 and cacheReservation=12
Ex: diskStripes=1 and objectSpaceReservation=30

3. Use a VSAN testbed setup. Try valid VSAN capabilities which are not supported by VSAN testbed. Make sure that the disk creation fails and PVC status is pending.

4. Try using VSAN capabilities on a non-VSAN datastore. PVC status will be pending and it errors to the user saying to VSAN capabilities are not supported on a non-VSAN testbed.

5. Try all 1 to 5 with custom datastore specified by the user.

@jeffvance  @divyenpatel

**Release note**:

```release-note
None
```
2017-04-26 17:49:08 -07:00
Kubernetes Submit Queue 7670341f56 Merge pull request #43395 from sjenning/selinux-e2e-node-lifecycle
Automatic merge from submit-queue (batch tested with PRs 43395, 44960)

e2e-node: refactor lifecycle test to avoid selinux issues

Fixes #42905

Previously, the exec hook tests mounted a HostPath volume from /tmp and touched a file as a indicator that the hook had run.  This is prohibited by selinux policy on Fedora/RHEL/Centos.

This PR refactors the test to avoid filesystem indication and use the same indication that the HTTP hooks use; a GET to a http endpoint.  The exec hooks run `curl` to hit this endpoint and trigger the indication.  This simplifies this test quite a bit as well, removing over 85 lines of code.

REVIEWER NOTE: The diff is a mess on this one.  Probably better to just review the new version of the file.

@derekwaynecarr
2017-04-26 14:29:41 -07:00
Balu Dontu a1b059245f e2e tests for VSAN policy support in Kubernetes for vSphere - using storageClass v1 new 2017-04-26 12:57:45 -07:00
Alex Robinson 4af0e640bb Fix cockroachdb statefulset test read/write commands
Explicitly specifying `--insecure` is required on insecure clusters,
which started being enforced in a very recent release. In 2 weeks
we'll have a stable image version that we can reliably pin the
relevant statefulset yaml file to in order to avoid stupid failures
like this. I'm really sorry for the flakes!
2017-04-26 15:09:15 -04:00
Ryan Hitchman 0c6fd62582 Fix the last deprecated "gcloud docker push args" usage. 2017-04-26 11:20:25 -07:00
Aleksandra Malinowska 154e8be5dc Add Stackdriver API v3 dependency 2017-04-26 18:36:54 +02:00
Jonathan MacMillan 5336f2de05 [Federation] Convert ConfigMaps to use the generic sync controller. 2017-04-25 14:13:28 -07:00
Lucas Käldström 6b5d5371d9
Bump to go1.8.1 and remove the edge GOROOT 2017-04-25 23:45:47 +03:00
Kubernetes Submit Queue 0baef890ee Merge pull request #44842 from NickrenREN/e2e-framework-cleanup
Automatic merge from submit-queue

Cleanup: replace some hardcoded vars and remove unused functions

Replace some hardcoded vars and remove unused functions

**Release note**:
```release-note
NONE
```
2017-04-25 12:43:16 -07:00
Kubernetes Submit Queue 1fd19f7fa2 Merge pull request #42477 from jsafrane/v1-2-new-api
Automatic merge from submit-queue (batch tested with PRs 42477, 44462)

Use storage.v1 instead of v1beta1

storage.v1beta1 was used to work around GKE which did not expose v1. Now that GKE is updated, we can switch everything to v1.

This is simple sed v1beta1 -> v1 + enabled a new test + changed preference of exposed interfaces in `storage/install/install.go`.

@msau42, PTAL and let me know when GKE is updated with storage v1 API and this PR can be actually merged.

@kubernetes/sig-storage-pr-reviews 

```release-note
NONE
```
2017-04-25 10:25:44 -07:00
Kubernetes Submit Queue fc843b09d5 Merge pull request #44853 from mwielgus/debug-autoscaler-e2e
Automatic merge from submit-queue (batch tested with PRs 44741, 44853, 44572, 44797, 44439)

Print executed cmd in cluster autoscaler e2e tests

cc: @MaciekPytel @fgrzadkowski
2017-04-25 01:56:37 -07:00
Jan Safranek 9d0c47f1db Use storage.v1 instead of v1beta1
storage.v1beta1 was used to work around GKE which does not expose v1. Now that
GKE is updated, we can switch everything to v1.
2017-04-25 10:13:38 +02:00
Kubernetes Submit Queue 45d96c72bf Merge pull request #44582 from MrHohn/esipp-e2e-moveout
Automatic merge from submit-queue

Move remain ESIPP tests to the slow suite

Continue PR of #38149.

It moves the remain ESIPP tests to the slow suite to help capture breaking changes.

/assign @thockin @freehan 

**Release note**:

```release-note
NONE
```
2017-04-24 23:54:41 -07:00
Kubernetes Submit Queue c3ec845ab6 Merge pull request #44862 from liggitt/icc-namespace-override
Automatic merge from submit-queue

Stop treating in-cluster-config namespace as an override

Fixes #44835

The namespace of an in-cluster config should behave like the namespace specified in a kubeconfig file... it should be used as the default namespace, but be able to be overridden by namespaces specified in yaml files passed to `kubectl create -f`.

```release-note
Restored the ability of kubectl running inside a pod to consume resource files specifying a different namespace than the one the pod is running in.
```
2017-04-24 19:22:42 -07:00
NickrenREN d4376599ba Cleanup: replace some hardcoded codes and remove unused functions 2017-04-25 09:38:25 +08:00
Kubernetes Submit Queue 6236dfb594 Merge pull request #44859 from sttts/sttts-e2e-rs-nil
Automatic merge from submit-queue (batch tested with PRs 44788, 44859)

e2e: handle nil ReplicaSet in checkDeploymentRevision
2017-04-24 12:53:59 -07:00
Jordan Liggitt 1305559abb
Stop treating in-cluster-config namespace as an override 2017-04-24 14:33:02 -04:00
Dr. Stefan Schimanski 6b066ee135 e2e: handle nil ReplicaSet in checkDeploymentRevision
deploymentutil.GetNewReplicaSet is allowed to return nil.
2017-04-24 17:33:44 +02:00
Marcin Wielgus 5082626cfc Print executed cmd in cluster autoscaler e2e tests 2017-04-24 16:12:47 +02:00
Mik Vyatskov e7918897b4 Lower limit for allowed losses in Stackdriver Logging tests 2017-04-24 13:48:08 +02:00
Mik Vyatskov 5456655a85 Increase timeout for Stackdriver Logging e2e tests 2017-04-24 13:26:23 +02:00
Davanum Srinivas 9b586b0762 Remove unused function - verifyDNSPodIsRunning
In ea4a7e24ad, we removed the cluster
DNS verification check from the test, but neglected to remove the
method itself.
2017-04-23 20:53:34 -04:00
Kristian Klausen eb882a3d1a Remove redis-proxy example
The docker image is nowhere to be found, so lets remove it.
There have been a request for the Dockerfile here [1], but nobody
seems to care.

redis-proxy is replaced with redis-master in test-cmd-util.sh, to
ensure that the tests still works.
The redis-proxy pod in test/fixtures/doc-yaml/user-guide/multi-pod.yaml
is replaced with valid-pod from test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml,
so redis-proxy is removed every where.

[1] https://github.com/kubernetes/kubernetes/issues/4914#issuecomment-77209779
2017-04-23 16:59:23 +02:00
Kubernetes Submit Queue a121d1c674 Merge pull request #44404 from bsalamat/config_fix
Automatic merge from submit-queue

Scheduler configurator looks for a specific key in ConfigMap.Data

**What this PR does / why we need it**: Changes scheduler configurator to look for a specific key in ConfigMap.Data instead of the old logic which expected only one entry to exist in the map. The key is a constant whose value is "policy.cfg".

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-04-21 19:50:08 -07:00
Kubernetes Submit Queue fa750c02be Merge pull request #44570 from liggitt/namespace-icc
Automatic merge from submit-queue

Explicit namespace from kubeconfig should override in-cluster config

Fixes #43662 

If an explicitly specified namespace is read from a kubeconfig file, we should not fall back to in-cluster config

```release-note
kubectl commands run inside a pod using a kubeconfig file now use the namespace specified in the kubeconfig file, instead of using the pod namespace. If no kubeconfig file is used, or the kubeconfig does not specify a namespace, the pod namespace is still used as a fallback.
```
2017-04-21 14:45:23 -07:00
Kubernetes Submit Queue 20b2f2e065 Merge pull request #43594 from mikedanese/csr-e2e
Automatic merge from submit-queue (batch tested with PRs 44625, 43594, 44756, 44730)

e2e test client creation using the certificates API

@liggitt
2017-04-21 13:49:01 -07:00