Commit Graph

14861 Commits (f52fc54176e2e70d8e46874a7b1a897e5ff79b28)

Author SHA1 Message Date
Matt Liggett 15899451a5 // update-all 2016-08-30 16:25:04 -07:00
Matt Liggett 956f74c383 Fix followups from #31033 2016-08-30 16:14:39 -07:00
Kubernetes Submit Queue 1c607b391a Merge pull request #31721 from mml/disrupt.e2e.versioned
Automatic merge from submit-queue

Rewrite disruption e2e test to use versioned client.

This currently includes the changes from #31638.  I will rebase once that is merged.
2016-08-30 15:35:15 -07:00
Jedrzej Nowak 9e51eea6a3 Fix various typos in pkg/kubelet 2016-08-30 22:57:47 +02:00
Girish Kalele db95798b39 Enforce EndpointAddress.NodeName validation + added unit tests 2016-08-30 13:40:19 -07:00
Matt Liggett a5f1dc44f5 // update-all and staging/.../client-go/copy.sh 2016-08-30 13:35:51 -07:00
Kubernetes Submit Queue 3fd14d97fb Merge pull request #31229 from pigmej/typos_englishify_pkg_api
Automatic merge from submit-queue

Fix various typos in pkg/api

Just fixed some typos + "englishify" in pkg/api
2016-08-30 13:35:36 -07:00
Matt Liggett 44b2c862ef Rewrite disruption e2e test to use versioned client. 2016-08-30 12:34:45 -07:00
Kubernetes Submit Queue be859b144d Merge pull request #30808 from smarterclayton/no_defaults
Automatic merge from submit-queue

ClientConfig should not default to http://localhost:8080

This changes clientcmd to skip the default cluster, but preserves the
behavior in kubectl. This prevents the possibility of an administrator
misconfiguration in kubelet or other server component from allowing a
third party who can bind to 8080 on that host from potentially
impersonating an API server and gaining root access.

@mikedanese @deads2k this removes the defaulting of http://localhost:8080 for server from everything except kubectl.



```release-note
Kubernetes server components using `kubeconfig` files no longer default to `http://localhost:8080`.  Administrators must specify a server value in their kubeconfig files.
```
2016-08-30 11:33:39 -07:00
Kubernetes Submit Queue ec061b81d0 Merge pull request #31660 from mtaufen/un-ref-KubeletConfiguration-on-kubelet
Automatic merge from submit-queue

Make kubeletConfiguration field on Kubelet struct a value type
2016-08-30 10:46:48 -07:00
Paul Morie c9b97c38a8 Improve doc for the fake client 2016-08-30 13:42:43 -04:00
Kubernetes Submit Queue 1dfd6ab0c1 Merge pull request #31696 from thommay/no_maintainer
Automatic merge from submit-queue

I'm not a rackspace or kubernetes user any more
2016-08-30 09:57:24 -07:00
Kubernetes Submit Queue dbb1950922 Merge pull request #31141 from deads2k/add-queue-depth-metrics
Automatic merge from submit-queue

add names for workqueues to gather controller latency/depth metrics

Adding names to the workqueues used by controllers allows the automatic collection of depth, rate, and latency metrics for those controllers.  These are useful for diagnosing various "slow controller" cases.

@kubernetes/rh-cluster-infra
2016-08-30 08:32:00 -07:00
Clayton Coleman 06cbb29e9e
ClientConfig should not default to http://localhost:8080
This changes clientcmd to skip the default cluster, but preserves the
behavior in kubectl. This prevents the possibility of an administrator
misconfiguration in kubelet or other server component from allowing a
third party who can bind to 8080 on that host from potentially
impersonating an API server and gaining root access.
2016-08-30 10:43:24 -04:00
deads2k 4317173d3f add names for workqueues to gather controller latency/depth metrics 2016-08-30 09:51:50 -04:00
gmarek ea2d19f5d7 Remove unused argument to NodeController.Run 2016-08-30 14:24:56 +02:00
Thom May 3f219065b5
I'm not a rackspace or kubernetes user any more
Signed-off-by: Thom May <thom@may.lt>
2016-08-30 12:04:50 +01:00
Kubernetes Submit Queue e5a198e3da Merge pull request #31625 from timstclair/aa-gate
Automatic merge from submit-queue

AppArmor was flipped to beta, update feature gate

/cc @dchen1107

---

1.4 Justification:

- Risk: Low. Change is small & contained.
- Rollback: Nothing else should touch this code path or depend on its functionality.
- Cost: AppArmor is beta, but the feature gate thinks it's alpha.
2016-08-30 03:01:17 -07:00
Kubernetes Submit Queue 17787eb6f2 Merge pull request #31557 from timstclair/aa-event
Automatic merge from submit-queue

Include security options in the container created event

New container creation events look like:
```
Created container with docker id /k8s_bar2.a4; Security:[seccomp=sub/subtest(md5:07c9bcb4db631f7ca191d6e0bca49f76)]

Created container with docker id /k8s_bar2.a4; Security:[seccomp=unconfined apparmor=foo-profile]
```

The goal is to provide enough information to confirm that the requseted security constraints were honored.

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

/cc @dchen1107 @thockin @jfrazelle @pweil- @pmorie

---

Justification for v1.4:

- Risk: low. This appends some additional information to a human readable message. A bug here would probably not break any functionality
- Roll-back: I don't anticipate any more changes to this area of the code. No functionality depends on this change.
- Cost of not including: Users don't get any (positive) confirmation that the AppArmor or Seccomp profile they requested were actually enabled.
2016-08-30 01:35:33 -07:00
Piotr Skamruk d0e59e0c22 kubectl: Do not add warning header if ftype is json. 2016-08-30 10:15:45 +02:00
Kubernetes Submit Queue 64f25e1f46 Merge pull request #31531 from pmorie/kubelet-attach-detach-log
Automatic merge from submit-queue

Add log message in Kubelet when controller attach/detach is enabled

Adds a message to the Kubelet log indicating whether controller attach/detach is enabled for a node.

cc @kubernetes/sig-storage
2016-08-29 23:22:11 -07:00
Brendan Burns 155fb9f4be improve some error messages. 2016-08-29 22:27:22 -07:00
Xing Zhou 80d6cd0a40 Added bash completion for several kubectl commands.
This path added/fixed bash completion for several
kubectl commands.

Fixes #25287
2016-08-30 13:12:09 +08:00
Michael Taufen ceb00add97 Make kubeletConfiguration field on Kubelet struct a value type 2016-08-29 18:03:34 -07:00
Tim St. Clair 68e0f01043
AppArmor was flipped to beta, update feature gate 2016-08-29 10:22:05 -07:00
Michail Kargakis baa0c6d9de controller: skip copying selector annotations from deployments 2016-08-29 17:51:05 +02:00
Jedrzej Nowak a6c0e23fd2 Fix various typos in pkg/api 2016-08-29 11:31:16 +02:00
Wojciech Tyczynski 98174737df Increase cache size for RCs 2016-08-29 09:47:15 +02:00
Angus Salkeld f785f3d3ef Clean up IPTables caps i.e.: sed -i "s/Iptables/IPTables/g" 2016-08-29 10:34:42 +10:00
Kubernetes Submit Queue 3c23d68b66 Merge pull request #31471 from timstclair/aa-beta
Automatic merge from submit-queue

[AppArmor] Promote AppArmor annotations to beta

Justification for promoting AppArmor to beta:

1. We will provide an upgrade path to GA
2. We don't anticipate any major changes to the design, and will continue to invest in this feature
3. We will thoroughly test it. If any serious issues are uncovered we can reevaluate, and we're committed to fixing them.
4. We plan to provide beta-level support for the feature anyway (responding quickly to issues).

Note that this does not include the yet-to-be-merged status annotation (https://github.com/kubernetes/kubernetes/pull/31382). I'd like to propose keeping that one alpha for now because I'm not sure the PodStatus is the right long-term home for it (I think a separate monitoring channel, e.g. cAdvisor, would be a better solution).

/cc @thockin @matchstick @erictune
2016-08-28 12:19:56 -07:00
Kubernetes Submit Queue cdbc3b56eb Merge pull request #31523 from derekwaynecarr/imagefs-observations
Automatic merge from submit-queue

Set imagefs rank and reclaim functions when nodefs+imagefs share comm…

Fixes #31192 

I decided that the behavior should match the current output of the kubelet summary API.  With no dedicated imagefs, the ranking and reclaim functions will match the nodefs ranking and reclaim functions.

/cc @ronnielai @vishh
2016-08-27 02:58:42 -07:00
Kubernetes Submit Queue 961ef2b51d Merge pull request #31470 from caesarxuchao/regenerate-release-1-4
Automatic merge from submit-queue

Fix missing expansion files in clientset release 1.4

<!--  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**:
Fix missing expansion files in clientset release 1.4;
Update the client-gen tool to automatically update generated_expansion.go;
Update the readme to document the best practice of using client-gen.

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

https://github.com/kubernetes/kubernetes/issues/29698#issuecomment-241315798


**Special notes for your reviewer**:

**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`. 
-->
```release-note
```

cc @lavalamp @krousey @mbohlool
2016-08-27 00:45:52 -07:00
Kubernetes Submit Queue c9678dbd6d Merge pull request #31416 from better0332/master
Automatic merge from submit-queue

fix deleteVolume
2016-08-27 00:06:36 -07:00
Kubernetes Submit Queue 45f96fa89d Merge pull request #31495 from hongchaodeng/fix2
Automatic merge from submit-queue

refactor destroy func in unit testing

Continued on https://github.com/kubernetes/kubernetes/pull/31390#issuecomment-242572312
2016-08-26 23:28:52 -07:00
Kubernetes Submit Queue cefc4c3027 Merge pull request #31473 from timstclair/aa-gate
Automatic merge from submit-queue

Add AppArmor feature gate

Add option to disable AppArmor via a feature gate. This PR treats AppArmor as Beta, and thus depends on https://github.com/kubernetes/kubernetes/pull/31471 (I will remove `do-not-merge` once that merges).

Note that disabling AppArmor means that pods with AppArmor annotations will be rejected in validation. It does not mean that the components act as though AppArmor was never implemented. This is by design, because we want to make it difficult to accidentally run a Pod with an AppArmor annotation without AppArmor protection.

/cc @dchen1107
2016-08-26 21:04:42 -07:00
Kubernetes Submit Queue 4c92a7f52f Merge pull request #31476 from janetkuo/fix-sj-finished-job-warning
Automatic merge from submit-queue

Fix the bug that SJ sees finished jobs as unexpected

<!--  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**:

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

**Special notes for your reviewer**:

**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`. 
-->
```release-note
NONE
```

cc @soltysh @erictune
2016-08-26 20:20:21 -07:00
Kubernetes Submit Queue 087d431409 Merge pull request #31401 from yujuhong/resource_name
Automatic merge from submit-queue

Print out resource name when evicting pods

This fixes #31397


/cc @derekwaynecarr
2016-08-26 18:55:21 -07:00
Kubernetes Submit Queue 60f978de07 Merge pull request #30316 from caesarxuchao/debug-cascading-deletion
Automatic merge from submit-queue

[GarbageCollector] Increase log verbosity for Garbage collector tests

I cannot reproduce the flake of GC locally, see https://github.com/kubernetes/kubernetes/issues/28713#issuecomment-237842105, so I increased the log verbosity for Garbage collector tests.
2016-08-26 18:09:36 -07:00
Kubernetes Submit Queue 8e93fec7fa Merge pull request #31146 from pmorie/recycle-hostpath-slash
Automatic merge from submit-queue

Add validation preventing recycle of / in a hostPath PV

Adds a validation that prevents a user from recycling `/` when it is used in a hostPath PV

cc @kubernetes/sig-storage
2016-08-26 18:09:32 -07:00
Kubernetes Submit Queue 4dc5d44879 Merge pull request #30304 from screeley44/k8-validate-pv
Automatic merge from submit-queue

add validation for PV spec to ensure correct values are used for ReclaimPolicy on initial create

k8 currently allows invalid values for ReclaimPolicy (i.e. "scotto") - this allows the PV to be created and even bound, however, when the pvc or pod is deleted and the recycler is triggered, an error is thrown

```
Events:
  FirstSeen	LastSeen	Count	From				SubobjectPath	Type		Reason				Message
  ---------	--------	-----	----				-------------	--------	------				-------
  36s		36s		1	{persistentvolume-controller }			Warning		VolumeUnknownReclaimPolicy	Volume has unrecognized PersistentVolumeReclaimPolicy
```

New behavior will not allow the user to create the PV:

```
[root@k8dev nfs]# kubectl create -f nfs-pv-bad.yaml 
The PersistentVolume "pv-gce" is invalid: spec.persistentVolumeReclaimPolicy: Unsupported value: "scotto": supported values: Delete, Recycle, Retain
```
2016-08-26 16:24:25 -07:00
Chao Xu 9ac91e5172 debugging gc 2016-08-26 15:58:33 -07:00
Tim St. Clair 785c83cc2d
Include security options in the container created event 2016-08-26 15:32:48 -07:00
Kubernetes Submit Queue e24aff0711 Merge pull request #29821 from alexbrand/config-cluster
Automatic merge from submit-queue

Add get/delete cluster, delete context to kubectl config

Fixes #29794 by adding `get-clusters`, `delete-cluster` and `delete-context` actions to `kubectl config`.
2016-08-26 11:44:46 -07:00
Chao Xu bf578f1bc2 run client-gen 2016-08-26 10:55:22 -07:00
Chao Xu 74a424129f make subjectaccessreview expansion follow the convention 2016-08-26 10:54:51 -07:00
Paul Morie 3b23b9ba9f Add log message in Kubelet when controller attach/detach is enabled 2016-08-26 12:28:37 -04:00
Eric Paris 6f90869996 Merge pull request #31452 from jeffmendoza/cleanup-docs-yamls
Removed non-md files from docs. Moved doc yamls to test/fixtures.
2016-08-26 12:17:12 -04:00
derekwaynecarr 6a7eb7b420 Set imagefs rank and reclaim functions when nodefs+imagefs share common device 2016-08-26 11:08:43 -04:00
Kubernetes Submit Queue 68f54756c2 Merge pull request #31449 from janetkuo/return-deployment-rollback
Automatic merge from submit-queue

Use updated deployment after rollback

@kubernetes/deployment 

**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`. 
-->
```release-note
NONE
```
2016-08-26 06:49:06 -07:00
Kubernetes Submit Queue f2ec08d852 Merge pull request #31514 from wojtek-t/remove_annoying_log
Automatic merge from submit-queue

Remove annoying log

In large clusters, those were ~85% of logs in controller manager (2.3M lines), which doesn't provide any value...
2016-08-26 06:09:48 -07:00
Kubernetes Submit Queue eeac23282d Merge pull request #31446 from liggitt/log-streaming
Automatic merge from submit-queue

Fix hang/websocket timeout when streaming container log with no content

When streaming and following a container log, no response headers are sent from the kubelet `containerLogs` endpoint until the first byte of content is written to the log. This propagates back to the API server, which also will not send response headers until it gets response headers from the kubelet. That includes upgrade headers, which means a websocket connection upgrade is not performed and can time out.

To recreate, create a busybox pod that runs `/bin/sh -c 'sleep 30 && echo foo && sleep 10'`

As soon as the pod starts, query the kubelet API:
```
curl -N -k -v 'https://<node>:10250/containerLogs/<ns>/<pod>/<container>?follow=true&limitBytes=100'
```

or the master API:
```
curl -N -k -v 'http://<master>:8080/api/v1/<ns>/pods/<pod>/log?follow=true&limitBytes=100'
```

In both cases, notice that the response headers are not sent until the first byte of log content is available.

This PR:
* does a 0-byte write prior to handing off to the container runtime stream copy. That commits the response header, even if the subsequent copy blocks waiting for the first byte of content from the log.
* fixes a bug with the "ping" frame sent to websocket streams, which was not respecting the requested protocol (it was sending a binary frame to a websocket that requested a base64 text protocol)
* fixes a bug in the limitwriter, which was not propagating 0-length writes, even before the writer's limit was reached
2016-08-26 06:09:43 -07:00
Wojciech Tyczynski a95927b46d Remove annoying log 2016-08-26 13:51:14 +02:00
Kubernetes Submit Queue 01541584ed Merge pull request #31375 from kargakis/cast-to-actual-type
Automatic merge from submit-queue

kubectl: cast notFound error to struct

Fixes https://github.com/kubernetes/kubernetes/issues/28378 (the 404 flake)

@kubernetes/kubectl @kubernetes/deployment
2016-08-26 04:39:31 -07:00
Kubernetes Submit Queue f0bc7d489c Merge pull request #31406 from foxish/petset-hotloop
Automatic merge from submit-queue

Petset hotlooping issue.

Part of the fix for #27634
It completely fixes it when we also get https://github.com/kubernetes/kubernetes/pull/31396 merged.
2016-08-26 04:00:32 -07:00
Kubernetes Submit Queue dd42d95bab Merge pull request #31000 from mksalawa/fix_pods_from_all_namespaces
Automatic merge from submit-queue

Fix getting pods from all namespaces

**What this PR does / why we need it**:
Use Heapster handler for pods from all namespaces (added in the new version).

Depends on #30993
2016-08-26 03:19:39 -07:00
Kubernetes Submit Queue 88f6a67c7c Merge pull request #31217 from mfanjie/fix-service-controller-defect
Automatic merge from submit-queue

persist services need to be retried in service controller cache.

fix issue reported by @anguslees
more detail on #25189
2016-08-26 02:34:44 -07:00
Kubernetes Submit Queue ecf24101d3 Merge pull request #31485 from m1093782566/m109-proxy-fix-naming
Automatic merge from submit-queue

[kube-proxy] Fix naming errors and sentence breaking in pkg/proxy/healthcheck

<!--  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**:

addresses #31484 

@girishkalele
2016-08-26 01:53:24 -07:00
Kubernetes Submit Queue 9deb18b989 Merge pull request #31378 from yifan-gu/rkt_fetch_no_store
Automatic merge from submit-queue

rkt: Force `rkt fetch` to fetch from remote to conform the image pull policy.

Fix https://github.com/kubernetes/kubernetes/issues/27646

Use `--no-store` option for `rkt fetch` to force it to fetch from remote.
However, `--no-store` will fetch the remote image regardless of whether the content of the image has changed or not. 
This causes performance downgrade when the image tag is ':latest' and the image pull policy is 'always'. 
The issue is tracked in https://github.com/coreos/rkt/issues/2937.
2016-08-26 01:53:20 -07:00
Kubernetes Submit Queue f73c684404 Merge pull request #31383 from janetkuo/run-attach-err
Automatic merge from submit-queue

Print to stderr when attach failed

@kubernetes/kubectl
2016-08-26 00:40:15 -07:00
Kubernetes Submit Queue df99dfd04d Merge pull request #31358 from screeley44/k8-get-pv
Automatic merge from submit-queue

Add ReclaimPolicy to the resource printer for 'get pv'

Propose we add the RECLAIMPOLICY (persistentVolumeReclaimPolicy) from resource_printer.go to show the policy when a user does a ```kubectl get pv```

```
[root@k8dev nfs]# kubectl get pv
NAME      CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM     REASON    AGE
pv-nfs    1Gi        RWO           Retain          Available                       1m
pv-nfs2   1Gi        RWO           Delete          Available                       4s

```
2016-08-25 23:56:20 -07:00
Kubernetes Submit Queue 8705a41c56 Merge pull request #30253 from AdoHe/fix_nodeport
Automatic merge from submit-queue

Allow services which use same port, different protocol to use the same nodePort for both

fix #20092

@thockin @smarterclayton ptal.
2016-08-25 23:16:03 -07:00
Hongchao Deng 9131fbd446 refactor destroy func in unit testing 2016-08-25 22:57:28 -07:00
Kubernetes Submit Queue 0b523f7482 Merge pull request #31225 from pigmej/typos_englishify_pkg_apis
Automatic merge from submit-queue

Fix various typos in pkg/apis

Just fixed some typos + "englishify" some stuff in pkg/apis
2016-08-25 22:31:15 -07:00
Kubernetes Submit Queue 1184800cbb Merge pull request #30730 from janetkuo/prevent-overlapping-deployment
Automatic merge from submit-queue

Handle overlapping deployments gracefully

Fixes #30028
2016-08-25 21:50:56 -07:00
Kubernetes Submit Queue feb4d2004a Merge pull request #31064 from soundcloud/grobie/filter-internal-labels
Automatic merge from submit-queue

Filter internal Kubernetes labels from Prometheus metrics

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

Kubernetes uses Docker labels as storage for some internal labels. The
majority of these labels are not meaningful metric labels and a few of
them are even harmful as they're not static and cause wrong aggregation
results.

This change provides a custom labels func to only attach meaningful
labels to cAdvisor exported metrics.

**Which issue this PR fixes**

google/cadvisor#1312

**Special notes for your reviewer**:

Depends on google/cadvisor#1429. Once that is merged, I'll update the vendor update commit.

**Release note**:

```release-note
Remove environment variables and internal Kubernetes Docker labels from cAdvisor Prometheus metric labels.

Old behavior:

- environment variables explicitly whitelisted via --docker-env-metadata-whitelist were exported as `container_env_*=*`. Default is zero so by default non were exported
- all docker labels were exported as `container_label_*=*`

New behavior:

- Only `container_name`, `pod_name`, `namespace`, `id`, `image`, and `name` labels are exposed
- no environment variables will be exposed ever via /metrics, even if whitelisted
```

---

Given that we have full control over the exported label set, I shortened the pod_name, pod_namespace and container_name label names. Below an example of the change (reformatted for readability).

```
# BEFORE
container_cpu_cfs_periods_total{
  container_label_io_kubernetes_container_hash="5af8c3b4",
  container_label_io_kubernetes_container_name="sync",
  container_label_io_kubernetes_container_restartCount="1",
  container_label_io_kubernetes_container_terminationMessagePath="/dev/termination-log",
  container_label_io_kubernetes_pod_name="popularsearches-web-3165456836-2bfey",
  container_label_io_kubernetes_pod_namespace="popularsearches",
  container_label_io_kubernetes_pod_terminationGracePeriod="30",
  container_label_io_kubernetes_pod_uid="6a291e48-47c4-11e6-84a4-c81f66bdf8bd",
  id="/docker/68e1f15353921f4d6d4d998fa7293306c4ac828d04d1284e410ddaa75cf8cf25",
  image="redacted.com/popularsearches:42-16-ba6bd88",
  name="k8s_sync.5af8c3b4_popularsearches-web-3165456836-2bfey_popularsearches_6a291e48-47c4-11e6-84a4-c81f66bdf8bd_c02d3775"
} 72819

# AFTER
container_cpu_cfs_periods_total{
  container_name="sync",
  pod_name="popularsearches-web-3165456836-2bfey",
  namespace="popularsearches",
  id="/docker/68e1f15353921f4d6d4d998fa7293306c4ac828d04d1284e410ddaa75cf8cf25",
  image="redacted.com/popularsearches:42-16-ba6bd88",
  name="k8s_sync.5af8c3b4_popularsearches-web-3165456836-2bfey_popularsearches_6a291e48-47c4-11e6-84a4-c81f66bdf8bd_c02d3775"
} 72819
```

Feedback requested on:
* Label names. Other suggestions? Should we keep these very long ones?
* Do we need to export io.kubernetes.pod.uid? It makes working with the metrics a bit more complicated and the pod name is already unique at any time (but not over time). The UID is aslo part of `name`.

As discussed with @timstclair, this should be added to v1.4 as the current labels are harmful.

PTAL @jimmidyson @fabxc @vishh
2016-08-25 21:11:10 -07:00
Justin Santa Barbara 7e5c6877d7 Fixes per code review 2016-08-25 22:51:04 -04:00
m1093782566 e16e5c4fec fix naming error and sentence breaking in pkg/proxy/healthcheck
Change-Id: Iee36ff4e497052f473f95f8f0a92421d85e3c416
2016-08-26 10:39:56 +08:00
Ke Zhang 86163979f4 optimize if-else of setupNode of container_manager_linix 2016-08-26 10:30:39 +08:00
Kubernetes Submit Queue d3ecad111e Merge pull request #28717 from freehan/ebtable
Automatic merge from submit-queue

Filter duplicate network packets in promiscuous bridge mode (with ebtables)

also fixes: #30783
2016-08-25 19:12:09 -07:00
Kubernetes Submit Queue c70583ac10 Merge pull request #30902 from krousey/version_metric
Automatic merge from submit-queue

Split the version metric out to its own package

This PR breaks a client dependency on prometheus. Combined with #30638, the client will no longer depend on these packages.
2016-08-25 18:33:48 -07:00
Tim St. Clair 9bde6f0770
Add AppArmor feature gate 2016-08-25 17:40:18 -07:00
Janet Kuo 6004be15b8 Fix the bug that SJ sees finished jobs as unexpected 2016-08-25 17:01:22 -07:00
Kubernetes Submit Queue 40efde7e0a Merge pull request #31390 from hongchaodeng/fix
Automatic merge from submit-queue

return destroy func to clean up internal resources of storage

What?
Provide a destroy func to clean up internal resources of storage.
It changes **unit tests** to clean up resources. (Maybe fix integration test in another PR.)

Why?
Although apiserver is designed to be long running, there are some cases that it's not.
See https://github.com/kubernetes/kubernetes/issues/31262#issuecomment-242208771
We need to gracefully shutdown and clean up resources.
2016-08-25 16:44:10 -07:00
AdoHe 10440ed47d fix same node port different protocols conflict issue 2016-08-26 07:36:45 +08:00
Tim St. Clair a5b7212453
Promote AppArmor annotations to beta 2016-08-25 15:40:32 -07:00
Vipul Sabhaya 808f18439d Make a vSphere cluster the failure_zone
* Currently the vSphere cloud provider treats Datacenter as the failure
  Zone.  This doesn't necessarily work since in the current implemention
  Kubernetes nodes cannot span Datacenters.
* This change introduces Clusters as the failure zone, while treating
  Datacenters as Regions
* Also updated tests for Zones
2016-08-25 15:37:24 -07:00
Jeff Mendoza 95b73058d2 Removed non-md files from docs. Moved doc yamls to test/fixtures.
Most of the contents of docs/ has moved to kubernetes.github.io.
Development of the docs and accompanying files has continued there, making
the copies in this repo stale. I've removed everything but the .md files
which remain to redirect old links. The .yaml config files in the docs
were used by some tests, these have been moved to test/fixtures/doc-yaml,
and can remain there to be used by tests or other purposes.
2016-08-25 15:09:27 -07:00
Yifan Gu de402ac2c5 rkt: Force `rkt fetch` to fetch from remote to conform the fetch policy. 2016-08-25 14:44:44 -07:00
Yu-Ju Hong a072bda6fd Print out resource name when evicting pods 2016-08-25 14:11:21 -07:00
Kubernetes Submit Queue 75fba4c953 Merge pull request #31445 from pmorie/goroutinemap-godoc
Automatic merge from submit-queue

Improve godoc for goroutinemap

Improves the godoc of goroutinemap; found while preparing to use this type in another PR.

@saad-ali
2016-08-25 14:07:08 -07:00
Kubernetes Submit Queue df54a28361 Merge pull request #29216 from mtaufen/kconf-refactor
Automatic merge from submit-queue

Refactor to simplify the hard-traveled path of the KubeletConfiguration object

### There are two main goals of this PR:
- Make `NewMainKubelet` take `KubeletConfiguration` and `KubeletDeps` as its only arguments.
- Finally eliminate the legacy `KubeletConfig` type.

### Why am I doing this?
Long story short, I started adding an endpoint to the Kubelet to display the *current* config that the Kubelet was running with, and I realized a few things:
- There were so many transformations to the configuration, in so many different places, before it was used that I wasn't confident the values initially passed in on the `KubeletConfiguration` would be the correct values to report by the time someone used the endpoint to check on them.
- Trying to reconstruct a `KubeletConfiguration` object from a mix of the `Kubelet` object and the legacy `KubeletConfig` object would just add to the mess (not to mention maintenance burden), and it would be much easier if we passed the `KubeletConfiguration` all the way down to where we construct the `Kubelet` object, and then just store a reference to the `KubeletConfiguration` object on the `Kubelet` for later retrieval. 
- My hope is that by eliminating unnecessary internal transformations to the config information, and by consolidating the remaining ones in a single place (`NewMainKubelet`), we can have a much clearer understanding of what happens to the config before it makes it to the `Kubelet` object, and also a better ability to report up-to-date information on the status of the Kubelet. 

So I started cleaning things up :-). 

### Discussion points

It was relatively simple to get `NewMainKubelet` to just take the legacy `KubeletConfig` as its only argument, because most of its arguments were just passing through `KubeletConfig` fields or passing information that was generated solely from `KubeletConfig` fields.

Completely eliminating the legacy `KubeletConfig` type has been more difficult, because the fields of the `KubeletConfiguration` do not have a one-to-one relationship with the fields of the `KubeletConfig`. While I was able to eliminate many of the `KubeletConfig` fields, I'm starting to get into the nontrivial stuff and I'd like to get a discussion started on what should happen with the remaining fields (pending cherry-picking notwithstanding). 

On my `kconf-refactor` branch, the legacy `KubeletConfig` object is down to the following 27 fields (from the initial 93). I'd really appreciate any guidance people have on what should happen with these fields.
```
type KubeletConfig struct {
	Auth                    server.AuthInterface
	AutoDetectCloudProvider bool
	Builder                 KubeletBuilder
	CAdvisorInterface       cadvisor.Interface
	Cloud                   cloudprovider.Interface
	ContainerManager        cm.ContainerManager
	DockerClient            dockertools.DockerInterface
	EventClient             *clientset.Clientset
	Hostname                string
	HostNetworkSources      []string
	HostPIDSources          []string
	HostIPCSources          []string
	KubeClient              *clientset.Clientset
	Mounter                 mount.Interface
	NetworkPlugins          []network.NetworkPlugin
	NodeName                string
	OOMAdjuster             *oom.OOMAdjuster
	OSInterface             kubecontainer.OSInterface
	PodConfig               *config.PodConfig
	Recorder                record.EventRecorder
	Reservation             kubetypes.Reservation
	TLSOptions              *server.TLSOptions
	Writer                  kubeio.Writer
	VolumePlugins           []volume.VolumePlugin
	EvictionConfig          eviction.Config
	ContainerRuntimeOptions []kubecontainer.Option
	Options                 []Option
}
```

The patterns I've seen so far with respect to eliminating `KubeletConfig` fields may be of some help:
- Some fields could just be eliminated, because they were either the same on `KubeletConfiguration` or just a typecast away from being the same. 
- Some fields from `KubeletConfiguration` just ended up in substructures of `KubeletConfig`; it was easy to just remove those substructure fields from `KubeletConfig` and construct them using local vars in `NewMainKubelet` instead. 
- Some fields, e.g. `Runonce`, were able to move into the `KubeletConfiguration`.


**P.S.** Part of the way I'm making the transition is by adding an extra `KubeletConfiguration` argument to functions that originally took a `KubeletConfig`, and field-by-field, switching those functions over to using information from the `KubeletConfiguration`. Once the `KubeletConfig` is gone, I'll remove the `KubeletConfig` argument, and the transition will be complete.

**Final note:**
Please try to keep in mind that this is not a general Kubelet cleanup effort, it is just me cleaning things up that are directly in the path of what I'm trying to do. Let's keep this focused on cleanup related to the path that config takes on it's way to the Kubelet.


**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`. 
-->
```
Removed Flags
- Removes the --auth-path flag. This has been deprecated in favor of --kubeconfig for two releases.
```
2016-08-25 13:17:22 -07:00
Janet Kuo 6e86a20304 Use updated deployment after rollback 2016-08-25 13:08:52 -07:00
Kubernetes Submit Queue a4665cff64 Merge pull request #31354 from janetkuo/sj-replace-e2e
Automatic merge from submit-queue

Update sj on UpdateStatus return value

Fixes #30542, #30549

cc @erictune
2016-08-25 11:56:31 -07:00
Jordan Liggitt 0deddb1a62
Do initial 0-byte write to stdout when streaming container logs 2016-08-25 14:29:22 -04:00
Jordan Liggitt ebd44347a5
Make limitWriter respect 0-byte writes until limit is reached 2016-08-25 14:27:17 -04:00
Paul Morie 1294267450 Improve godoc for goroutinemap 2016-08-25 14:25:05 -04:00
Jordan Liggitt 8b1a00b6d9
Send ping frame using specified encoding
If base-64 encoding was requested, send the ping frame as a 0-length text frame, rather than as a 0-length binary frame.
2016-08-25 14:24:59 -04:00
Kubernetes Submit Queue c63cd8fc20 Merge pull request #31396 from foxish/integer-overflow
Automatic merge from submit-queue

Fixed integer overflow bug in rate limiter.

```release-note
Fix overflow issue in controller-manager rate limiter
```

This PR fixes a bug in the delayed work-queue used by some controllers.
The integer overflow bug would previously cause hotlooping behavior after a few failures 
as `time.Duration(..)` on values larger than MaxInt64 behaves unpredictably, and 
after a certain value returns 0 always.

cc @bprashanth @pwittrock
2016-08-25 11:17:38 -07:00
Michael Taufen f277205f4f Kubelet Refactoring
This refactor removes the legacy KubeletConfig object and adds a new
KubeletDeps object, which contains injected runtime objects and
separates them from static config. It also reduces NewMainKubelet to two
arguments: a KubeletConfiguration and a KubeletDeps.

Some mesos and kubemark code was affected by this change, and has been
modified accordingly.

And a few final notes:

KubeletDeps:
KubeletDeps will be a temporary bin for things we might consider
"injected dependencies", until we have a better dependency injection
story for the Kubelet. We will have to discuss this eventually.

RunOnce:
We will likely not pull new KubeletConfiguration from the API server
when in runonce mode, so it doesn't make sense to make this something
that can be configured centrally. We will leave it as a flag-only option
for now. Additionally, it is increasingly looking like nobody actually uses the
Kubelet's runonce mode anymore, so it may be a candidate for deprecation
and removal.
2016-08-25 10:57:31 -07:00
Kubernetes Submit Queue b44b716965 Merge pull request #31248 from wojtek-t/better_selectable_fields
Automatic merge from submit-queue

Avoid unnecessary copies & allocations in field selectors
2016-08-25 09:01:44 -07:00
Hongchao Deng 9fc0e1e98d return destroy func to clean up internal resources of storage 2016-08-25 08:32:21 -07:00
Kubernetes Submit Queue 8f431e4af8 Merge pull request #31167 from caesarxuchao/gc-absent-owner-cache
Automatic merge from submit-queue

[GarbageCollector] add absent owner cache

<!--  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**:
Reducing the Request sent to the API server by the garbage collector to check if an owner exists.

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

#26120

**Special notes for your reviewer**:

**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`. 
-->
```release-note
```

Currently when processing an item in the dirtyQueue, the garbage collector issues GET to check if any of its owners exist. If the owner is a replication controller with 1000 pods, the garbage collector sends a GET for the RC 1000 times. This PR caches the owner's UID if it does not exist according to the API server. This cuts 1/3 of the garbage collection time of the density test in the gce-500 and gce-scale, where the QPS is the bottleneck.
2016-08-25 07:39:31 -07:00
Kubernetes Submit Queue 6901a00078 Merge pull request #31286 from yifan-gu/rkt_privileged
Automatic merge from submit-queue

rkt: Improve support for privileged pod (pod whose all containers are privileged) 

Fix https://github.com/kubernetes/kubernetes/issues/31100

This takes advantage of https://github.com/coreos/rkt/pull/2983 . By appending the new `--all-run` insecure-options to `rkt run-prepared` command when all the containers are privileged. The pod now gets more privileged power.
2016-08-25 06:58:43 -07:00
Kubernetes Submit Queue 4ddfc4849a Merge pull request #27180 from sttts/sysctl-implementation
Automatic merge from submit-queue

Add sysctl support

Implementation of proposal https://github.com/kubernetes/kubernetes/pull/26057, feature  https://github.com/kubernetes/features/issues/34

TODO:
- [x] change types.go
- [x] implement docker and rkt support
- [x] add e2e tests
- [x] decide whether we want apiserver validation
- ~~[ ] add documentation~~: api docs exist. Existing PodSecurityContext docs is very light and links back to the api docs anyway: 6684555ed9/docs/user-guide/security-context.md
- [x] change PodSecurityPolicy in types.go
- [x] write admission controller support for PodSecurityPolicy
- [x] write e2e test for PodSecurityPolicy
- [x] make sure we are compatible in the sense of https://github.com/kubernetes/kubernetes/blob/master/docs/devel/api_changes.md
- [x] test e2e with rkt: it only works with kubenet, not with no-op network plugin. The later has no sysctl support.
- ~~[ ] add RunC implementation~~ (~~if that is already in kube,~~ it isn't)
- [x] update whitelist
- [x] switch PSC fields to annotations
- [x] switch PSP fields to annotations
- [x] decide about `--experimental-whitelist-sysctl` flag to be additive or absolute
- [x] decide whether to add a sysctl node whitelist annotation

### Release notes:

```release-note
The pod annotation `security.alpha.kubernetes.io/sysctls` now allows customization of namespaced and well isolated kernel parameters (sysctls), starting with `kernel.shm_rmid_forced`, `net.ipv4.ip_local_port_range`, `net.ipv4.tcp_max_syn_backlog` and `net.ipv4.tcp_syncookies` for Kubernetes 1.4.

The pod annotation  `security.alpha.kubernetes.io/unsafeSysctls` allows customization of namespaced sysctls where isolation is unclear. Unsafe sysctls must be enabled at-your-own-risk on the kubelet with the `--experimental-allowed-unsafe-sysctls` flag. Future versions will improve on resource isolation and more sysctls will be considered safe.
```
2016-08-25 06:21:24 -07:00
Kubernetes Submit Queue ab8d4525bb Merge pull request #31421 from wojtek-t/fix_kubectl_scale
Automatic merge from submit-queue

Fix scale x->x in kubectl for ReplicationController

Fix #31374

This fixes problem introduced in #31051 (which in turn was fixing a different problem).

@lavalamp - FYI
2016-08-25 05:40:06 -07:00
Dr. Stefan Schimanski 03d7e33034 Run hack/update-all.sh 2016-08-25 13:22:01 +02:00
Dr. Stefan Schimanski e356e52247 Add sysctl whitelist on the node 2016-08-25 13:22:01 +02:00
Dr. Stefan Schimanski ed36baed20 Add sysctl PodSecurityPolicy support 2016-08-25 13:22:01 +02:00
Dominika Hodovska bea189e9c9 Add sysctl api, validation & Docker support 2016-08-25 13:22:01 +02:00
Kubernetes Submit Queue e4178c82f3 Merge pull request #31275 from dims/fix-issue-31219
Automatic merge from submit-queue

Increase request timeout based on termination grace period

When terminationGracePeriodSeconds is set to > 2 minutes (which is
the default request timeout), ContainerStop() times out at 2 minutes.
We should check the timeout being passed in and bump up the
request timeout if needed.

Fixes #31219
2016-08-25 03:20:32 -07:00
Jedrzej Nowak 13b33e04cc added auto generated stuff 2016-08-25 12:15:35 +02:00
Jedrzej Nowak 1cc36a7c42 Fix various typos in pkg/apis 2016-08-25 11:44:59 +02:00
Wojciech Tyczynski 79d8c9754d Fix scale x->x in kubectl for ReplicationController 2016-08-25 11:44:11 +02:00
Kubernetes Submit Queue 098c999a8c Merge pull request #31246 from Clarifai/ext-svc-ref
Automatic merge from submit-queue

kubectl: display ExternalName for services

User-visible part of https://github.com/kubernetes/features/issues/33

Also add ExternalIPs in `describe`

cc @thockin @smarterclayton
2016-08-25 02:36:09 -07:00
Michail Kargakis 4c56b8cfc5 kubectl: cast notFound error to struct 2016-08-25 10:40:44 +02:00
Kubernetes Submit Queue c2f8c265b4 Merge pull request #30958 from lojies/addvalidresourceforexplain
Automatic merge from submit-queue

add valid resources when args is nil

add valid resources message is more friendly to user when running `kubectl explain`
and this also can be same with other cmd like get\describe.
2016-08-25 01:38:52 -07:00
Kubernetes Submit Queue c5e7e5124a Merge pull request #30969 from asalkeld/raw-status-code
Automatic merge from submit-queue

Make sure the StatusCode is taken into account in DoRaw()

**What this PR does / why we need it**:
Currently if there is an error (not found) the error printed out
is to do with the inablity to convert an empty body into the expected json.

This patch will fill in the err correctly.

example of before (with NotFound error):
$ kubectl top node
failed to unmarshall heapster response: json: cannot unmarshal object into Go value of type []v1alpha1.NodeMetrics

Now:
$ kubectl top node
the server could not find the requested resource (get services http:heapster:)

**Which issue this PR fixes** 
related to bug #30818

**Special notes for your reviewer**:
None

**Release note**:
```release-note
NONE
```
2016-08-25 01:01:05 -07:00
better0332 524f0da769 fix deleteVolume
`ok` is not in same variable socpe
2016-08-25 15:26:18 +08:00
Kubernetes Submit Queue bb9523bd0f Merge pull request #31157 from pmorie/kubelet-move
Automatic merge from submit-queue

Kubelet code move: volume / util

Addresses some odds and ends that I apparently missed earlier.  Preparation for kubelet code-move ENDGAME.

cc @kubernetes/sig-node
2016-08-25 00:20:39 -07:00
mksalawa f4016bef7a Use heapster handler for pods from all namespaces. 2016-08-25 09:08:31 +02:00
Kubernetes Submit Queue bdeeb9db90 Merge pull request #31135 from xingzhou/bash_completion_bug
Automatic merge from submit-queue

Fixed two issues of kubectl bash completion.

This patch includes the fix of the following issue:
• Correct the method invocation from "__kubectl_namespace_flag"
  to "__kubectl_override_flags"
• Support bash completion if "--namespace=xxx" style flags are
  specified in the kubectl command

Fixes #31134
2016-08-24 23:43:20 -07:00
Kubernetes Submit Queue c63f43b329 Merge pull request #31387 from hongchaodeng/docs
Automatic merge from submit-queue

etcd3 compactor: update docs

Minor fix/improvement on compactor docs.
2016-08-24 21:37:21 -07:00
Kubernetes Submit Queue 1f4020f8d8 Merge pull request #31171 from jlowdermilk/dynamic-volume-gate
Automatic merge from submit-queue

Dynamic volume gate

Rebased on #31140, only review last commit.  Adds a feature-gate flag for dynamic volume provisioning alpha, defaulting to enabled to avoid breaking people. Key should be removed when support for the alpha version of this is removed.
2016-08-24 21:37:16 -07:00
Kubernetes Submit Queue b70a758980 Merge pull request #31371 from kubernetes/revert-30890-etcd3_v3client
Automatic merge from submit-queue

Revert "Enable v3 Client as the default on UTs"

Reverts kubernetes/kubernetes#30890

Fix flake problems (#31262)
2016-08-24 20:51:57 -07:00
Kubernetes Submit Queue de65e4c1e1 Merge pull request #31372 from freehan/mtufix
Automatic merge from submit-queue

fix #30376 that broken cross-build

ref: #30376
2016-08-24 19:25:45 -07:00
Anirudh 0e5a49f667 Petset hotlooping issue. 2016-08-24 19:21:47 -07:00
Anirudh 00e41888b0 Fixed integer overflow bug in rate limiter. 2016-08-24 18:55:28 -07:00
Janet Kuo 2b87b46a6f fixup 2016-08-24 17:45:35 -07:00
Janet Kuo 4bda41905c Update sj on UpdateStatus return value 2016-08-24 17:44:59 -07:00
Hongchao Deng 0b253b519e etcd3 compactor: update docs 2016-08-24 16:24:24 -07:00
Janet Kuo 1d620b545c Print to stderr when attach failed 2016-08-24 15:36:52 -07:00
Kubernetes Submit Queue f488d118ad Merge pull request #31091 from feiskyer/kuberuntime-getnetns
Automatic merge from submit-queue

Kubelet: implement GetNetNS for new runtime api

Kubelet: implement GetNetNS for new runtime api. 

CC @yujuhong @thockin @kubernetes/sig-node @kubernetes/sig-rktnetes
2016-08-24 13:40:40 -07:00
Minhan Xia c1d3c89cfa fix #30376 that broken cross-build 2016-08-24 13:18:18 -07:00
Daniel Smith 9dcef2e3cd Revert "Enable v3 Client as the default on UTs" 2016-08-24 13:16:40 -07:00
Jeff Lowdermilk fe643590ba Update/fix feature-gate comments 2016-08-24 13:04:25 -07:00
Jeff Lowdermilk 991b07e60d Add a feature gate for alpha dynamic volume provisioning
Enabled by default to avoid breaking people, since this was
turned on in 1.3.
2016-08-24 13:02:42 -07:00
Kubernetes Submit Queue 49ff2e8831 Merge pull request #31115 from jsafrane/add-constants
Automatic merge from submit-queue

Add constants and documentation around AWS magic numbers

Also, bumped max IOPS/GB to 50, it changed from 30 since last time I checked.

Source: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

@kubernetes/sig-storage
2016-08-24 12:59:50 -07:00
Kubernetes Submit Queue 9a9c98912b Merge pull request #31323 from hongchaodeng/testwatch
Automatic merge from submit-queue

Separate test watch from zero and nonzero

Recently there was spike flakes for this. See #31079.

This is to split the test into two units for further digging. We need to know which one is problematic, or both.
2016-08-24 12:19:00 -07:00
Kubernetes Submit Queue ca5879bdb9 Merge pull request #31051 from caesarxuchao/fix-rc-scale
Automatic merge from submit-queue

Fix rc scaler watch

<!--  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**:
The RC scaler uses Watch to monitor if the RC is scaled. The Watch was sent with resourceVersion=0, so the watch event it gets back starts from any point in the history, so the result is not valid.

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

Probably will fix #30990
Fix #30469

**Special notes for your reviewer**:

This breaks the load test because the reaper doesn't actually wait until all the pods are gone before it deletes the RC.

I haven't run the node-100 test myself to verify it fixes the problem though.

cc @deads2k @smarterclayton @lavalamp
2016-08-24 12:18:54 -07:00
Kris 1740358573 Split the version metric out to its own package 2016-08-24 11:47:16 -07:00
Kubernetes Submit Queue 448a133e97 Merge pull request #31352 from mtaufen/revert-revert-30090-with-fix
Automatic merge from submit-queue

Revert revert 30090 with fix

This reverts #31297 (which originally reverted #30090) and applies a fix to stop the fd leak that was exposed by #30090.
2016-08-24 11:37:59 -07:00
Scott Creeley 22665e1806 Add ReclaimPolicy to the resource printer for 'get pv' 2016-08-24 14:00:29 -04:00
Kubernetes Submit Queue f96b8fc85a Merge pull request #31334 from jsafrane/fix-aws-encryption
Automatic merge from submit-queue

Fix AWS reporting "The parameter KmsKeyId requires the parameter Encrypted to be set."

- use aws.String/Int/Bool functions
- don't set the key to empty string, use nil instead

@justinsb @kubernetes/sig-storage
2016-08-24 10:55:33 -07:00
Chao Xu 5fd19d3766 fix RC watch in scale 2016-08-24 10:26:08 -07:00
Minhan Xia 42a554ec0d add ebtables rules to filter duplicate packets 2016-08-24 10:19:29 -07:00
Minhan Xia 950e689637 kubenet set cbr0 mac address 2016-08-24 10:18:48 -07:00
Minhan Xia 87ab70d6ef add ebtables util 2016-08-24 10:17:41 -07:00
Kubernetes Submit Queue 94666b4a4e Merge pull request #31112 from wojtek-t/set_unsorted_list
Automatic merge from submit-queue

Avoid sorting lists when unnecessary

I've seen ThreadSafeMap::List consuming ~30% of whole CPU usage, spending the whole time in sorting (while it is in fact completely unneded).
2016-08-24 10:11:36 -07:00
Justin Santa Barbara 6a1f892c1d AWS: Sanity checks after volume attach
In the light of issue #29324, double check that the volume was attached
correctly where we expect it, before returning.

Issue #29324
2016-08-24 13:00:38 -04:00
Justin Santa Barbara 81240da858 AWS: move volume attachment map to cloud level
The problem is that attachments are now done on the master, and we are
only caching the attachment map persistently for the local instance.  So
there is now a race, because the attachment map is cleared every time.

Issue #29324
2016-08-24 13:00:33 -04:00
Scott Creeley 9e078d7393 add validation for PV spec to ensure correct values are used for ReclaimPolicy 2016-08-24 12:18:22 -04:00
Michael Taufen 2e989a3c38 Revert "Merge pull request #31297 from mikedanese/revert-kubelet"
This reverts the revert of #30090 and #31282.
2016-08-24 09:06:12 -07:00
Kubernetes Submit Queue bb16ac239a Merge pull request #31159 from Clarifai/ext-svc-ref-no-e2e
Automatic merge from submit-queue

Implement ExternalName in kube-dns

Part of the ongoing saga formerly known as https://github.com/kubernetes/features/issues/33

This is the prelude (first commit) in #30931, spawn into a separate PR to allow building a new kube-dns image before e2e tests (the rest of #30931) are updated.

ExternalName allows kubedns to return CNAME records for external
services. No proxying is involved.

cc @thockin
2016-08-24 05:37:58 -07:00
Kubernetes Submit Queue b8c1a833a6 Merge pull request #31210 from lojies/changetostderr
Automatic merge from submit-queue

change to stderr

`fmt.Fprint(out, "You must specify the type of resource to describe. ", valid_resources)`

change this to stderr.
2016-08-24 03:32:57 -07:00
Kubernetes Submit Queue 3544f8a717 Merge pull request #29836 from rootfs/azuredd
Automatic merge from submit-queue

support Azure data disk volume

This is a WIP of supporting azure data disk volume. Will add test and dynamic provisioning support once #29006 is merged

replace #25915
fix #23259

@kubernetes/sig-storage 
@colemickens @brendandburns
2016-08-24 02:49:54 -07:00
Kubernetes Submit Queue cfab351621 Merge pull request #31116 from fraenkel/scale_client
Automatic merge from submit-queue

Add ScaleExpansion to client v1.4

**What this PR does / why we need it**:
The generated v1.4 did not carry over the complete ScaleExpansion interface. The unversioned client is using this interface and should be in sync with generated client.

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

NONE
```
2016-08-24 02:09:35 -07:00
Jan Safranek 8cd5e263b8 Fix AWS reporting "The parameter KmsKeyId requires the parameter Encrypted to be set."
- use aws.String/Int/Bool functions
- don't set the key to empty string, use nil instead
2016-08-24 10:05:07 +02:00
Kubernetes Submit Queue d84dcaf3fb Merge pull request #30858 from kargakis/status-column-for-rs
Automatic merge from submit-queue

kubectl: display ready replicas in 'get {rs,rc}'

Fixes https://github.com/kubernetes/kubernetes/issues/7483

@kubernetes/kubectl @janetkuo @bgrant0607
2016-08-24 00:38:53 -07:00
Wojciech Tyczynski d5a596bca1 More efficient field selectors 2016-08-24 09:08:38 +02:00
Kubernetes Submit Queue 2fe56d4bb3 Merge pull request #30863 from ping035627/ping035627-patch-0818
Automatic merge from submit-queue

Optimise the ValidateBytes function

The PR optimise the "ValidateBytes" function in factory.go. Too much "if" branches is poor readability, use "switch" to look better.
2016-08-23 23:59:00 -07:00