Commit Graph

11569 Commits

Author SHA1 Message Date
Paul Morie
b98ff213a9 Add godoc to kubelet/volumes.go 2016-04-06 02:16:36 -04:00
Paul Morie
e838ff2893 Make ConfigMap volume readable as non-root 2016-04-05 12:20:52 -04:00
Clayton Coleman
1f012a2bb3 Implement a simpler unversioned.Time serialization
Time is the number of seconds since the unix epoch and is consistent
with our JSON fields.
2016-04-05 11:19:24 -04:00
k8s-merge-robot
52276bcc6c Merge pull request #23843 from cjcullen/dialtimeout
Automatic merge from submit-queue

Add a timeout to the sshDialer to prevent indefinite hangs.

Prevents the SSH Dialer from hanging forever. Fixes a problem where SSH Tunnels get stuck trying to open.

Addresses #23835.
2016-04-04 21:28:52 -07:00
k8s-merge-robot
02e0b29b6d Merge pull request #23769 from saad-ali/fixVolumeCloudProvider
Automatic merge from submit-queue

Ensure object returned by volume getCloudProvider incorporates cloud config

This PR addresses https://github.com/kubernetes/kubernetes/issues/23517.

**Problem**
The existing GCE PD and AWS EBS volume plugin code were fetching cloud provider without specifying a cloud config: `cloudprovider.GetCloudProvider("gce", nil)`
This caused the cloud provider to use default auth mechanism, which is not acceptable for the provisioning controller running on GKE master.

**Fix**
This PR does the following:
* Modifies the GCE PD and AWS EBS volume plugin code to use the cloud provider object pre-constructed by the binary with a cloud config.
* Enable provisioning E2E test for GKE (to catch future issues).

Thanks to @cjcullen for debugging and finding the root cause!  👍 

This should be cherry-picked into the v1.2 branch for the next release.
2016-04-04 20:52:13 -07:00
Janet Kuo
0335f1c2cd Revert "rolling update will check whether the image is distinct or not, however the image with tag latest should be excluded"
This reverts commit d27a30df29.
2016-04-04 18:36:02 -07:00
Random-Liu
8fb7ee38b0 Set fake docker client to minimum required version. 2016-04-04 17:41:01 -07:00
Wojciech Tyczynski
49d3c3962c Small improvements in conversion generator 2016-04-05 02:10:23 +02:00
dagnello
cd7e99af1c Add OpenStack Cloud Provider Instance Tests
Adding OpenStack cloud provider instance unit tests for externalID and
instanceID.
2016-04-04 17:06:17 -07:00
dagnello
28590781c1 Extend OpenStack Cloud Provider Volume Tests
Adding test coverage for:
getVolume
AttachDisk
DetachDisk
2016-04-04 17:01:42 -07:00
CJ Cullen
cde4f6d613 Add a timeout to the sshDialer to prevent indefinite hangs. 2016-04-04 16:35:20 -07:00
gmarek
7123076b97 Add container_spec_cpu_period metric 2016-04-04 23:53:54 +02:00
saadali
e7b14e721a Ensure volume GetCloudProvider code uses cloud config 2016-04-04 10:59:13 -07:00
Wojciech Tyczynski
53f433f019 Remove Set() from storage.Interface. 2016-04-04 17:54:18 +02:00
Sami Wagiaalla
99744df6ee Add loging to the recently recycled PV section 2016-04-04 10:07:03 -04:00
Vincent Behar
efe7775578 fix typo 2016-04-04 14:40:01 +02:00
k8s-merge-robot
a2145d7b1c Merge pull request #23613 from Random-Liu/remove-out-of-date-code
Automatic merge from submit-queue

Kubelet: Remove nsinit related code and bump up minimum docker apiversion

Docker has native exec support after 1.3.x. We never need this code now.

As for the apiversion, because Kubernetes supports 1.8.x - 1.10.x now, we should bump up the minimum docker apiversion.
@yujuhong I checked the [changes](https://github.com/docker/engine-api/blob/master/types/versions/v1p20/types.go), we are not relying on any of those changes. So #23506 should work with docker 1.8.x+
2016-04-03 07:34:26 -07:00
Dr. Stefan Schimanski
7e0bb885f1 Make kubectl bash completion namespace aware and add noun aliases
- add namespace filtering to bash completion
- add --namespace flag bash completion
- add bash completion noun aliases
- adapt to new cobra package structure
2016-04-03 16:25:56 +02:00
k8s-merge-robot
9ad3b9d669 Merge pull request #23463 from mikedanese/ds-event
Automatic merge from submit-queue

add an event for when a daemonset can't place a pod due to insufficen…

…t resource or port conflict

https://github.com/kubernetes/kubernetes/issues/23013#issuecomment-201076147
2016-04-03 05:16:31 -07:00
harry
5fe773d37c Add flow control pkg
Refactor pkg names in flow control related files
2016-04-03 11:28:03 +08:00
k8s-merge-robot
7d7ca5ab72 Merge pull request #23608 from caesarxuchao/mv-typed-clients
Automatic merge from submit-queue

Move typed clients into clientset folder

Move typed clients from `pkg/client/typed/` to `pkg/client/clientset_generated/${clientset_name}/typed`.

The first commit changes the client-gen, the last commit updates the doc, other commits are just moving things around.

@lavalamp @krousey
2016-04-02 19:31:40 -07:00
k8s-merge-robot
b1b58c4165 Merge pull request #23596 from deads2k/relax-case-in-restmapper
Automatic merge from submit-queue

relax restmapper resource matching

We were matching case insensitive on Kinds, not Resources, thus driving me insane.

@liggitt @caesarxuchao
2016-04-02 14:12:32 -07:00
k8s-merge-robot
3197f31cc6 Merge pull request #23554 from nikhiljindal/swaggerInRun
Automatic merge from submit-queue

genericapiserver: Moving InstallSwaggerAPI to Run

Ref https://github.com/kubernetes/kubernetes/pull/21190#discussion_r57494673

Moving InstallSwaggerAPI() from InstallAPIGroups() to Run(). This allows the use of InstallAPIGroups() multiple times or using InstallAPIGroup() directly.

cc @jianhuiz @kubernetes/sig-api-machinery
2016-04-02 08:19:25 -07:00
k8s-merge-robot
9c2501cdf5 Merge pull request #23552 from deads2k/extend-authz-attribs
Automatic merge from submit-queue

add missing attributes to authorization interface

Plumb through missing attributes for authorization decisions.  The request parser picked them up a while back, but they were never wired up in kube.

This simply allows authorizers to use them, it doesn't require them to.

@kubernetes/kube-iam
2016-04-02 07:45:43 -07:00
k8s-merge-robot
df20dfb2e4 Merge pull request #23548 from ncdc/fix-23078
Automatic merge from submit-queue

Check claimRef UID when processing a recycled PV, take 2

Reorder code a bit so it doesn't allow a case where you get some error other than "not found"
combined with a non-nil Claim.

Add test case.

cc @kubernetes/rh-cluster-infra @kubernetes/rh-storage @liggitt
2016-04-02 05:58:55 -07:00
k8s-merge-robot
b43ccd6e2b Merge pull request #23506 from Random-Liu/new-docker-client
Automatic merge from submit-queue

Kubelet: Start using the official docker engine-api

For #23563.

This is the **first step** in the roadmap of switching to docker [engine-api](https://github.com/docker/engine-api).
In this PR, I keep the old `DockerInterface` and implement it with the new engine-api.
With this approach, we could switch to engine-api with minimum change, so that we could:
* Test the engine-api without huge refactoring.
* Send following PRs to refactor functions in `DockerInterface` separately so as to avoid a huge change in one PR.

I've tested this PR locally, it passed all the node conformance test:
```
make test_e2e_node

Ran 19 of 19 Specs in 823.395 seconds
SUCCESS! -- 19 Passed | 0 Failed | 0 Pending | 0 Skipped PASS

Ginkgo ran 1 suite in 13m49.429979585s
Test Suite Passed
```
And it also passed the jenkins gce e2e test:
```
go run hack/e2e.go -test -v --test_args="--ginkgo.skip=\[Slow\]|\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:.+\]"

Ran 161 of 268 Specs in 4570.214 seconds
SUCCESS! -- 161 Passed | 0 Failed | 0 Pending | 107 Skipped PASS

Ginkgo ran 1 suite in 1h16m16.325934558s
Test Suite Passed
2016/03/25 15:12:42 e2e.go:196: Step 'Ginkgo tests' finished in 1h16m18.918754301s
```

I'm writing the design document, and will post the switching roadmap in an umbrella issue soon.

@kubernetes/sig-node
2016-04-02 04:51:33 -07:00
k8s-merge-robot
f5c93c8ddc Merge pull request #23472 from wojtek-t/fix_object_meta_for
Automatic merge from submit-queue

Switch from api.ObjectMetaFor to meta.Accessor in most of places

Fix #23278

@smarterclayton @lavalamp
2016-04-02 02:33:40 -07:00
k8s-merge-robot
c927790cc6 Merge pull request #22877 from fabianofranz/mark_filename_flags_for_completions
Automatic merge from submit-queue

Mark filename flags for completions

Adds filename bash completion to some flags that were missing.
2016-04-01 22:38:54 -07:00
k8s-merge-robot
5c2f758517 Merge pull request #17590 from fabianofranz/cli_homedir_on_windows
Automatic merge from submit-queue

Use correct home directory on Windows

As of now the `kubectl` config mechanism that saves/loads `~/.kube/config` is broken on Windows, saving the config file in the *current* directory instead of the user's *home* dir. This happens because most Windows don't respect the `HOME` environment variable. 

This PR changes the config file loading mechanism to use the recommended way to detect the user home on Windows (`HOMEDRIVE`+`HOMEPATH` or `USERPROFILE`), and adds a migration for users that might be currently relying on existing config files.
2016-04-01 22:00:11 -07:00
k8s-merge-robot
3b65927050 Merge pull request #16451 from ncdc/exec-interop-testing
Automatic merge from submit-queue

Refactor streaming code to support interop testing

Refactor exec/attach/port forward client and server code to better
support interop testing of different client and server subprotocol
versions.

Fixes #16119
2016-04-01 17:11:26 -07:00
k8s-merge-robot
224684c4bc Merge pull request #23746 from derekwaynecarr/registry_unavailable
Automatic merge from submit-queue

A pod never terminated if a container image registry was unavailable

Fixes https://github.com/kubernetes/kubernetes/issues/23742
Fixes https://github.com/kubernetes/kubernetes/issues/22045

Pods will now show proper status when this happens as well:

```
$ cluster/kubectl.sh get pods --all-namespaces 
NAMESPACE   NAME                   READY     STATUS                RESTARTS   AGE
test        foo-4072956304-1g8qs   0/1       RegistryUnavailable   0          7s
test        foo-4072956304-i045g   0/1       RegistryUnavailable   0          7s
test        foo-4072956304-qem2n   0/1       RegistryUnavailable   0          7s
```

Where as previously they would never report a reason.

I also removed the "temporary" part of the message because we have no idea if its temporary or permanent.

/cc @kubernetes/sig-node @kubernetes/rh-cluster-infra
2016-04-01 14:13:03 -07:00
Fabiano Franz
9ddacfa25f Mark filename flags for completions 2016-04-01 16:14:36 -03:00
derekwaynecarr
eeeccd0a67 A pod never terminated if a container image registry was unavailable 2016-04-01 13:42:23 -04:00
Andy Goldstein
4551ba6b53 Refactor exec code to support version skew testing
Refactor exec/attach client and server code to better support interoperability testing of different
client and server subprotocol versions.
2016-04-01 13:05:50 -04:00
James Ravn
5f9ee58de0 Fix expired event logic to use 404 instead of 500
It seems this logic was never updated once apiserver started returning
404s for expired (missing) events.

This change corrects it to use a 404 so events will get resent correctly
if they were expired in etcd.
2016-04-01 16:52:43 +01:00
k8s-merge-robot
fa8d72e35d Merge pull request #23358 from aveshagarwal/master-jsonpath-fix
Automatic merge from submit-queue

Fix jsonpath to handle maps with key of nonstring types
2016-04-01 05:31:03 -07:00
Wlodzimierz Borkowski
378ef9746e keep deprecated flag stage1-image with rkt 2016-04-01 09:32:10 +02:00
k8s-merge-robot
07929972a3 Merge pull request #18835 from brendandburns/3rdparty
Automatic merge from submit-queue

Add support for 3rd party objects to kubectl

@deads2k @jlowdermilk

Instructions for playing around with this:

Run an apiserver with third party resources turned on (`--runtime-config=extensions/v1beta1=true,extensions/v1beta1/thirdpartyresources=true`)

Then you should be able to:

```
kubectl create -f rsrc.json
```

```json
{
  "metadata": {
    "name": "foo.company.com"
  },
  "apiVersion": "extensions/v1beta1",
  "kind": "ThirdPartyResource",
  "versions": [
    {
      "apiGroup": "group",
      "name": "v1"
    },
    {
      "apiGroup": "group",
      "name": "v2"
    }
  ]
}
```

Once that is done, you should be able to:

```
curl http://<server>/apis/company.com/v1/foos
```

```
curl -X POST -d @${HOME}/foo.json http://localhost:8080/apis/company.com/v1/namespaces/default/foos
```

```json
{
  "kind": "Foo",
  "apiVersion": "company.com/v1",
  "metadata": {
    "name": "baz"
  },
  "someField": "hello world",
  "otherField": 1
}
```

After this PR, you can do:

```
kubectl create -f foo.json
```

```
kubectl get foos
```

etc.
2016-03-31 18:09:56 -07:00
k8s-merge-robot
421249785d Merge pull request #23582 from zhouhaibing089/typo_fix
Automatic merge from submit-queue

fix the gcfg typo

little fix in the openstack cloud provider.
2016-03-31 17:28:37 -07:00
k8s-merge-robot
f8ea3fab53 Merge pull request #23427 from wojtek-t/conversions_with_framework_4
Automatic merge from submit-queue

Migrate to the new conversion generator - part1

This PR contains two commits:
- few more fixes to the generator
- migration of the pkg/api/v1 to use the new generator

The second commit is big, but I reviewed the changes and they contain:
- conversions between types that we didn't even generating conversion between
- changes in how we handle maps/pointers/slices - previously we were explicitly referencing fields, now we are using "shadowing in, out" to make the code more generic
- lack of auto-generated method for ReplicationControllerSpec (because these types are different (*int vs int for Replicas) and a preexisting conversion already exists

Most of issues in the first commit (e.g. adding references to "in" and "out" for slices/maps/points) were discovered by our tests. So I'm pretty confident that this change is correct now.
2016-03-31 17:28:36 -07:00
Chao Xu
49559a3332 Generate the typed clients under the clientset folder 2016-03-31 15:28:45 -07:00
Minhan Xia
d026d7ecbc Update cni binary 2016-03-31 13:57:51 -07:00
Wojciech Tyczynski
c2a5998248 Merge pull request #23688 from caesarxuchao/fix-23533
Temporarily disable goroutine calls to testing.T.Logf to avoid race
2016-03-31 21:35:54 +02:00
k8s-merge-robot
d807690c39 Merge pull request #23387 from hongchaodeng/e
Automatic merge from submit-queue

storage.Interface KV impl. of etcd v3

This is the initial implementation of #22448.

The PR consists of two parts:
- add godep of "clientv3" and "integration" (for testing)
- create new package "etcd3" under "pkg/storage/"
- implement KV methods of storage.Interface using etcd v3 APIs
  - Create, Set, Get, Delete, GetToList, List, GuaranteedUpdate
2016-03-31 11:46:43 -07:00
Chao Xu
674d083092 temporarily disable goroutine calls to testing.T.Logf to avoid race 2016-03-31 11:43:38 -07:00
Brendan Burns
be6c5b332b Add third party support to kubectl 2016-03-31 10:53:32 -07:00
Wojciech Tyczynski
2699be2e7e Switch api.ObjetaMetaFor to meta.Accessor 2016-03-31 17:52:31 +02:00
Clayton Coleman
de6e02d8bb interrupt package (attach and edit) could leak a goroutine
os/signal.Stop() does not actually close the channel, which means
the channel is blocked. Not serious because we don't use interrupt
protection on the server, just the CLI (which can afford 1 leaked
goroutine).
2016-03-31 11:39:08 -04:00
Clayton Coleman
f2139b186c Add an experimental protobuf serializer
Provide a core protobuf serializer that can either write objects with
an envelope (a 4 byte prefix and a runtime.Object) or raw to a byte
array.
2016-03-31 10:41:11 -04:00
k8s-merge-robot
62eb7d3db8 Merge pull request #22827 from dcbw/net-plugin-capabilities
Automatic merge from submit-queue

Implement network plugin capabilities hook and shaping capability

Allow network plugins to declare that they handle shaping and that
Kuberenetes should not.  I've got an OpenShift PR that handles shaping in OVS but the kubelet code sends nasty pod events because it doesn't think shaping is used since --reconcile-cbr0 is not used with most network plugins.

See https://github.com/openshift/openshift-sdn/pull/266 for the OpenShift implementation.
2016-03-31 03:20:07 -07:00