Commit Graph

5945 Commits (f32b390cf08a9afd9f9899e0d97a90eb162b32a8)

Author SHA1 Message Date
Kubernetes Submit Queue 11aa1de0e0 Merge pull request #46992 from mikedanese/restart-fix
Automatic merge from submit-queue (batch tested with PRs 46967, 46992, 43338, 46717, 46672)

save kubelet bootstrap certs on GCI

Fix https://github.com/kubernetes/kubernetes/issues/46982
2017-06-05 20:27:44 -07:00
Kubernetes Submit Queue 8280bd5e1a Merge pull request #46799 from mikedanese/gce-3
Automatic merge from submit-queue (batch tested with PRs 46972, 42829, 46799, 46802, 46844)

promote tls-bootstrap to beta

last commit of this PR.

Towards https://github.com/kubernetes/kubernetes/issues/46999

```release-note
Promote kubelet tls bootstrap to beta. Add a non-experimental flag to use it and deprecate the old flag.
```
2017-06-05 17:46:52 -07:00
Mike Danese ab63017b39 save kubelet bootstrap certs on GCI 2017-06-05 15:31:02 -07:00
Tim St. Clair 00d52edfd1
Write audit policy file for GCE/GKE configuration 2017-06-05 12:28:34 -07:00
Mike Danese cdcfa35c2a promote tls-bootstrap to beta 2017-06-05 12:20:58 -07:00
George Kraft e52a888814 Remove initializers from juju admission-control for 1.6 and earlier 2017-06-05 13:40:35 -05:00
Kubernetes Submit Queue 0cfef01a44 Merge pull request #46259 from Q-Lee/kube-proxy
Automatic merge from submit-queue (batch tested with PRs 46734, 46810, 46759, 46259, 46771)

Add iptables lock-file mount to kube-proxy manifest

**What this PR does / why we need it**: kube-proxy is broken in make bazel-release. The new iptables binary uses a lockfile in "/run", but the directory doesn't exist. This causes iptables-restore to fail. We need to share the same lock-file amongst all containers, so mount the host /run dir.

This is similar to #46132 but expediency matters, since builds are broken.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-06-05 06:51:29 -07:00
Shyam Jeedigunta b655953e21 Enable DefaultTolerationSeconds and PodPreset admission plugins for kubemark 2017-06-04 19:52:57 +02:00
Kubernetes Submit Queue 3837d95191 Merge pull request #45748 from mml/reliable-node-upgrade
Automatic merge from submit-queue

Respect PDBs during node upgrades and add test coverage to the ServiceTest upgrade test.

This is still a WIP... needs to be squashed at least, and I don't think it's currently passing until I increase the scale of the RC, but please have a look at the general outline.  Thanks!

Fixes #38336 

@kow3ns @bdbauer @krousey @erictune @maisem @davidopp 

```
On GCE, node upgrades will now respect PodDisruptionBudgets, if present.
```
2017-06-04 06:11:59 -07:00
Quintin Lee 6a380e8831 Add iptables lock-file mount to kube-proxy manifest 2017-06-03 23:53:04 -07:00
Kubernetes Submit Queue 5d158281c8 Merge pull request #46805 from MrHohn/dns-autoscaler-1.1.2
Automatic merge from submit-queue (batch tested with PRs 46681, 46786, 46264, 46680, 46805)

Bump cluster-proportional-autoscaler to 1.1.2

From https://github.com/kubernetes-incubator/cluster-proportional-autoscaler/pull/33.

/assign @bowei 

**Release note**:

```release-note
NONE
```
2017-06-03 21:16:48 -07:00
Kubernetes Submit Queue 4c7e1590ee Merge pull request #40760 from mikedanese/gce
Automatic merge from submit-queue (batch tested with PRs 40760, 46706, 46783, 46742, 46751)

enable kubelet csr bootstrap in GCE/GKE

@jcbsmpsn @pipejakob 

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

```release-note
Enable kubelet csr bootstrap in GCE/GKE
```
2017-06-03 18:30:38 -07:00
Kubernetes Submit Queue 388018fa3d Merge pull request #46782 from dnardo/ip-masq-agent
Automatic merge from submit-queue

Add some initial resource limits to the ip-masq-agent.

These limits were based on observing  the agent over roughly a day RES was typically  ~4M for me but I'd like to make sure we have some headroom.  If there was a huge config map then this could increase  slightly but not significantly since we only allow 64 entries. 

VmPeak:    11164 kB
VmSize:    11164 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:      7652 kB
VmRSS:      4260 kB
VmData:     7612 kB
VmStk:       136 kB
VmExe:      1856 kB
VmLib:         0 kB
VmPTE:        40 kB
VmPMD:        20 kB
VmSwap:        0 kB
2017-06-03 12:28:27 -07:00
Kubernetes Submit Queue 3473b8a792 Merge pull request #45565 from Q-Lee/mds
Automatic merge from submit-queue

Adding a metadata proxy addon

**What this PR does / why we need it**: adds a metadata server proxy daemonset to hide kubelet secrets.

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

**Special notes for your reviewer**:

**Release note**: the gce metadata server can be hidden behind a proxy, hiding the kubelet's token.

```release-note
The gce metadata server can be hidden behind a proxy, hiding the kubelet's token.
```
2017-06-03 08:55:32 -07:00
Kubernetes Submit Queue 07f85565a2 Merge pull request #36721 from smarterclayton/initializers
Automatic merge from submit-queue

Add initializer support to admission and uninitialized filtering to rest storage

Initializers are the opposite of finalizers - they allow API clients to react to object creation and populate fields prior to other clients seeing them.

High level description:

1. Add `metadata.initializers` field to all objects
2. By default, filter objects with > 0 initializers from LIST and WATCH to preserve legacy client behavior (known as partially-initialized objects)
3. Add an admission controller that populates .initializer values per type, and denies mutation of initializers except by certain privilege levels (you must have the `initialize` verb on a resource)
4. Allow partially-initialized objects to be viewed via LIST and WATCH for initializer types
5. When creating objects, the object is "held" by the server until the initializers list is empty
6. Allow some creators to bypass initialization (set initializers to `[]`), or to have the result returned immediately when the object is created.

The code here should be backwards compatible for all clients because they do not see partially initialized objects unless they GET the resource directly. The watch cache makes checking for partially initialized objects cheap. Some reflectors may need to change to ask for partially-initialized objects.

```release-note
Kubernetes resources, when the `Initializers` admission controller is enabled, can be initialized (defaulting or other additive functions) by other agents in the system prior to those resources being visible to other clients.  An initialized resource is not visible to clients unless they request (for get, list, or watch) to see uninitialized resources with the `?includeUninitialized=true` query parameter.  Once the initializers have completed the resource is then visible.  Clients must have the the ability to perform the `initialize` action on a resource in order to modify it prior to initialization being completed.
```
2017-06-03 07:16:52 -07:00
Kubernetes Submit Queue 2ff0fb7e26 Merge pull request #46676 from gyliu513/masq
Automatic merge from submit-queue (batch tested with PRs 46456, 46675, 46676, 46416, 46375)

Move tolerations to PodSpec for ip-masq-agent.yaml.

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

**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-06-03 00:28:48 -07:00
Kubernetes Submit Queue 8325943822 Merge pull request #46675 from gyliu513/calico
Automatic merge from submit-queue (batch tested with PRs 46456, 46675, 46676, 46416, 46375)

Move tolerations to PodSpec for calico-node.yaml.

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

**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
none
```
2017-06-03 00:28:46 -07:00
Kubernetes Submit Queue 822e29dd3c Merge pull request #46524 from ajitak/npd_version
Automatic merge from submit-queue (batch tested with PRs 46239, 46627, 46346, 46388, 46524)

Configure NPD version through env variable

This lets user specify NPD version to be installed with kubernetes.
2017-06-02 23:37:45 -07:00
Kubernetes Submit Queue 85e43bada9 Merge pull request #46721 from mikedanese/fooloo
Automatic merge from submit-queue (batch tested with PRs 41563, 45251, 46265, 46462, 46721)

change kubemark image project to match new cos image project

The old project is not available anymore.

https://github.com/kubernetes/kubernetes/pull/45136
2017-06-02 19:53:44 -07:00
Clayton Coleman 4ce3907639
Add Initializers to all admission control paths by default 2017-06-02 22:09:04 -04:00
Kubernetes Submit Queue 310ea94b6e Merge pull request #46557 from timstclair/audit-test
Automatic merge from submit-queue (batch tested with PRs 46648, 46500, 46238, 46668, 46557)

Add an e2e test for AdvancedAuditing

Enable a simple "advanced auditing" setup for e2e tests running on GCE, and add an e2e test that creates & deletes a pod, a secret, and verifies that they're audited.

Includes https://github.com/kubernetes/kubernetes/pull/46548

For https://github.com/kubernetes/features/issues/22

/cc @ericchiang @sttts @soltysh @ihmccreery
2017-06-02 15:20:52 -07:00
Mik Vyatskov 527206c36b Add event exporter deployment to the fluentd-gcp addon 2017-06-02 17:00:24 +02:00
Matt Liggett 775f2ef9a0 Respect PDBs during GCE node upgrades.
Respect PDBs during node upgrades and add test coverage to the
ServiceTest upgrade test.  Modified that test so that we include pod
anti-affinity constraints and a PDB.
2017-06-01 17:58:45 -07:00
Daniel Nardo 3a134269dc Add some initial resource limits to the ip-masq-agent. 2017-06-01 16:15:52 -07:00
Zihong Zheng 3875bed875 Bump cluster-proportional-autoscaler to 1.1.2 2017-06-01 14:23:43 -07:00
Ian Chakeres d0566faace Added logic to copy-to-staging to avoid copying if the same file already exists in gce 2017-06-01 11:06:48 -07:00
Mik Vyatskov f41a61586d Update the fluentd-gcp image 2017-06-01 19:08:58 +02:00
Kubernetes Submit Queue 62435edeff Merge pull request #46448 from dashpole/disk_eviction_defaults
Automatic merge from submit-queue

Set Kubelet Disk Defaults for the 1.7 release

The `--low-diskspace-threshold-mb` flag has been depreciated since 1.6.
This PR sets the default to `0`, and sets defaults for disk eviction based on the values used for our [e2e tests](https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/services/kubelet.go#L145).
This also removes the custom defaults for vagrant, as the new defaults should work for it as well.

/assign @derekwaynecarr 
cc @vishh 

```release-note
By default, --low-diskspace-threshold-mb is not set, and --eviction-hard includes "nodefs.available<10%,nodefs.inodesFree<5%"
```
2017-06-01 10:04:27 -07:00
Mike Danese ae91ecb62e enable tls bootstrap in GCE/GKE 2017-06-01 09:17:32 -07:00
supereagle dc9f0f9729 mark --network-plugin-dir deprecated for kubelet, and update related bootstrap scripts 2017-06-01 22:06:44 +08:00
Mik Vyatskov a4c3279a68 Update fluentd-gcp image version 2017-06-01 14:28:17 +02:00
Guangya Liu 2bf38e0ec4 Move tolerations to PodSpec for calico-node.yaml. 2017-06-01 09:57:03 +08:00
Guangya Liu fde69b1f16 Move tolerations to PodSpec for ip-masq-agent.yaml. 2017-06-01 09:54:27 +08:00
Ajit Kumar d8237597c9 Configure NPD version through env variable 2017-05-31 16:40:09 -07:00
Quintin Lee 1bfed01480 Adding a metadata proxy addon to gce 2017-05-31 16:23:11 -07:00
Mike Danese c8e84faabb change kubemark image project to match new cos image project 2017-05-31 12:30:05 -07:00
Tim St. Clair f62b5e69cf
Set up basic test configuration for AdavencedAuditing 2017-05-31 09:52:54 -07:00
Kubernetes Submit Queue 53d89c5730 Merge pull request #46657 from mikedanese/salt-cleanup
Automatic merge from submit-queue (batch tested with PRs 46661, 46562, 46657, 46655, 46640)

remove openvpn and nginx from salt

only used in azure which doesn't exist.
2017-05-31 01:08:04 -07:00
Kubernetes Submit Queue 928dd707ba Merge pull request #46661 from cjcullen/abacflag
Automatic merge from submit-queue

Plumb through the ENABLE_LEGACY_ABAC flag for GKE kube-up.

**What this PR does / why we need it**:
Makes the "gke" provider in `cluster/` respect the `ENABLE_LEGACY_ABAC` env var by plumbing it through to the `--enable-legacy-authorization` gcloud flag.
2017-05-31 01:00:44 -07:00
Kubernetes Submit Queue 0d4305a7da Merge pull request #46650 from dnardo/ip-masq-agent
Automatic merge from submit-queue (batch tested with PRs 46394, 46650, 46436, 46673, 46212)

Update ip-masq-agent addon with latest image.

https://github.com/kubernetes-incubator/ip-masq-agent/releases
2017-05-31 00:14:05 -07:00
Kubernetes Submit Queue 1b3e95d0c3 Merge pull request #46596 from st4nson/fluentd_plugin_update
Automatic merge from submit-queue

Update 'fluentd-elasticsearch' image.

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

Plugins updated for `fluentd-elasticsearch`:
 - fluent-plugin-elasticsearch 1.5.0 -> 1.9.5
 - fluent-plugin-kubernetes_metadata 0.24.0 -> 0.27.0

**Release note**:

```release-note
NONE
```
2017-05-30 20:41:52 -07:00
CJ Cullen cf5defd7e4 Plumb through the ENABLE_LEGACY_ABAC flag for GKE kube-up. 2017-05-30 17:18:45 -07:00
Mike Danese eb84e16a98 remove openvpn and nginx from salt 2017-05-30 16:55:25 -07:00
Daniel Nardo 91fb06e3b1 Update ip-masq-agent addon with latest image. 2017-05-30 15:17:55 -07:00
Sen Lu d237e54a24 Switch gcloud compute copy-files to scp 2017-05-30 10:19:33 -07:00
Kubernetes Submit Queue d621ebce89 Merge pull request #46116 from ncdc/storageclass-etcd-upgrade
Automatic merge from submit-queue

Support storageclass storage updates to v1

**What this PR does / why we need it**: enable cluster administrators to update storageclasses stored in etcd from storage.k8s.io/v1beta1 to storage.k8s.io/v1. 

**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**: I had a hard time getting the test to work with how it was handling KUBE_API_VERSIONS and RUNTIME_CONFIG. I would appreciate some extra review attention there. Also, I had to hack in a `cluster-scoped` "namespace" to get the verification portions of the test script to work. I'm definitely open to ideas for how to improve that if needed.

**Release note**:

```release-note
Support updating storageclasses in etcd to storage.k8s.io/v1. You must do this prior to upgrading to 1.8.
```

cc @kubernetes/sig-storage-pr-reviews @kubernetes/sig-api-machinery-pr-reviews @jsafrane @deads2k @saad-ali @enj
2017-05-30 09:31:11 -07:00
Kubernetes Submit Queue 30a2d7c4dc Merge pull request #46552 from bowei/gcloud-beta
Automatic merge from submit-queue

gcloud command syntax changed between alpha and beta versions

syntax for secondary-ranges changed from:
  name=NAME,range=RANGE
to
  NAME=RANGE
2017-05-30 08:33:46 -07:00
Stanisław Szydło 9a02da7754 Update fluentd-es-ds.yaml
'fluentd-es-ds' container image ver. bump.
2017-05-29 19:09:57 +02:00
Christoph Blecker 79a7dc218e
Bump etcd base image to go1.7.6 2017-05-29 09:38:27 -07:00
Kubernetes Submit Queue 8c41deabc5 Merge pull request #45883 from gmarek/npd
Automatic merge from submit-queue

Add generic NoExecute Toleration to NPD

Ref. #44445

cc @davidopp 

```release-note
Add generic Toleration for NoExecute Taints to NodeProblemDetector
```
2017-05-29 07:58:21 -07:00
Stanislaw Szydlo f9d46cf23c Update 'fluentd-elasticsearch' image.
Plugins updated:
 - fluent-plugin-elasticsearch 1.5.0 -> 1.9.5
 - fluent-plugin-kubernetes_metadata 0.24.0 -> 0.27.0
2017-05-29 16:14:52 +02:00
Kubernetes Submit Queue fc618eb4f1 Merge pull request #46496 from carlory/fix
Automatic merge from submit-queue

fix typo in build.sh

**What this PR does / why we need it**:
fix typo in build.sh
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
NONE
**Special notes for your reviewer**:
NONE
**Release note**:

```release-note
NONE
```
2017-05-27 08:30:40 -07:00
Bowei Du 3d8785648e gcloud command syntax changed between alpha and beta versions
syntax for secondary-ranges changed from:
  name=NAME,range=RANGE
to
  NAME=RANGE
2017-05-26 17:02:25 -07:00
Walter Fender ad8a83a7c1 Change to aggregator so it calls a user apiservice via its pod IP.
proxy_handler now uses the endpoint router to map the cluster IP to
appropriate endpoint (Pod) IP for the given resource.
Added code to allow aggregator routing to be optional.
Updated bazel build.
Fixes to cover JLiggit comments.
Added util ResourceLocation method based on Listers.
Fixed issues from verification steps.
Updated to add an interface to obfuscate some of the routing logic.
Collapsed cluster IP resolution in to the aggregator routing
implementation.
Added 2 simple unit tests for ResolveEndpoint
2017-05-26 16:10:01 -07:00
Mik Vyatskov d3c809d900 Make fluentd-gcp run with host network 2017-05-26 22:32:28 +02:00
Kubernetes Submit Queue 5ade944ee6 Merge pull request #46473 from thockin/enable-masq-agent-gce
Automatic merge from submit-queue (batch tested with PRs 46501, 45944, 46473)

Enable the ip-masq-agent on GCE installs

Setting this will trigger cluster/addons/ip-masq-agent/ip-masq-agent.yaml to be installed as an addon, which disable configure IP masquerade for all of RFC1918, rather
than just 10.0/8.

Because the flag defaulted to 10.0/8 we can't just change the default.  I think anyone who needs IP masquerade set up should probably use this instead.

@justinsb @kubernetes/sig-cluster-lifecycle-misc 

Fixes #11204

@dnardo - any reason not to do this?

Release Note:
```release-note

GCE installs will now avoid IP masquerade for all RFC-1918 IP blocks, rather than just 10.0.0.0/8.  This means that clusters can
be created in 192.168.0.0./16 and 172.16.0.0/12 while preserving the container IPs (which would be lost before).
```
2017-05-26 10:14:00 -07:00
carlory ba5f7b1f46 fix typo in build.sh 2017-05-26 17:47:06 +08:00
Kubernetes Submit Queue 59ee250ced Merge pull request #46429 from wojtek-t/bump_go_to_183
Automatic merge from submit-queue (batch tested with PRs 46429, 46308, 46395, 45867, 45492)

Bump Go version to 1.8.3

This PR also removed this patched version of Go 1.8.1 which we used to use to workaround performance problem of Go 1.8.1.

Fix https://github.com/kubernetes/kubernetes/issues/45216
Ref #46391

@timothysc @bradfitz
2017-05-25 22:42:01 -07:00
Kubernetes Submit Queue 3439941122 Merge pull request #45589 from ITSvitCo/master
Automatic merge from submit-queue (batch tested with PRs 46124, 46434, 46089, 45589, 46045)

Bump elasticsearch and kibana to 5.4.0

**What this PR does / why we need it**: Updates elasticsearch and kibana docker image assets to 5.4.0 version
**Release note**:
```release-note
Upgrade Elasticsearch Addon to v5.4.0
```
2017-05-25 21:40:04 -07:00
Tim Hockin 91ed74c0e9 Enable the ip-masq-agent on GCE installs
Setting this will trigger
cluster/addons/ip-masq-agent/ip-masq-agent.yaml to be installed as an
addon, which disable configure IP masquerade for all of RFC1918, rather
than just 10.0/8.
2017-05-25 17:07:12 -07:00
Wojciech Tyczynski 3e8c27af34 Bump Go version to 1.8.3 2017-05-25 20:05:34 +02:00
David Ashpole b2a60dc9a4 By default, Disable LowDiskSpaceThresholdMB, and enable eviciton for disk 2017-05-25 10:03:35 -07:00
Kubernetes Submit Queue ee671e64ee Merge pull request #46266 from thockin/proxy-periodic-runner-2
Automatic merge from submit-queue (batch tested with PRs 44774, 46266, 46248, 46403, 46430)

kube-proxy: ratelimit runs of iptables by sync-period flags

This bounds how frequently iptables can be synced.  It will be no more often than every 10 seconds and no less often than every 1 minute, by default.

@timothysc FYI

@dcbw @freehan FYI
2017-05-25 06:17:56 -07:00
Kubernetes Submit Queue 9c1480bb61 Merge pull request #46366 from nicksardo/gce-subnetwork-url
Automatic merge from submit-queue (batch tested with PRs 45573, 46354, 46376, 46162, 46366)

GCE - Retrieve subnetwork name/url from gce.conf 

**What this PR does / why we need it**:
Features like ILB require specifying the subnetwork if the network is type manual.

**Notes:**
The network URL can be [constructed](68e7e18698/pkg/cloudprovider/providers/gce/gce.go (L211-L217)) by fetching instance metadata; however, the subnetwork is not provided through this feature. Users must specify the subnetwork name/url through the gce.conf.

Although multiple subnets can exist in the same region for a network, the cloud provider will only use one subnet url for creating LBs. 


**Release note**:
```release-note
NONE
```
2017-05-25 03:14:05 -07:00
Kubernetes Submit Queue 80171e5106 Merge pull request #46150 from bowei/ip-alias-service
Automatic merge from submit-queue (batch tested with PRs 46299, 46309, 46311, 46303, 46150)

Create a subnet for reserving the service cluster IP range

This will be done if IP aliases is enabled on GCP.

```release-note
NONE
```
2017-05-24 23:19:11 -07:00
Tim Hockin 2856fde23b Use BoundedFrequencyRunner in kube-proxy 2017-05-24 20:33:15 -07:00
Nick Sardo 68e7e18698 Set NODE_SUBNETWORK env var in gce.conf 2017-05-24 10:23:08 -07:00
Andy Goldstein 538eb3c6cb Support storageclass storage upgrades to v1 2017-05-24 10:43:56 -04:00
kb@itsvit.org b23b919b05 Bump elasticsearch and kibana to 5.4.0 2017-05-24 14:07:15 +03:00
Kubernetes Submit Queue 3ff99a8381 Merge pull request #46149 from cjcullen/logtoggle
Automatic merge from submit-queue

Allow the /logs handler on the apiserver to be toggled.

Adds a flag to kube-apiserver, and plumbs through en environment variable in configure-helper.sh
2017-05-23 15:19:08 -07:00
Kubernetes Submit Queue 1e2105808b Merge pull request #45136 from vishh/cos-nvidia-driver-install
Automatic merge from submit-queue

Enable "kick the tires" support for Nvidia GPUs in COS

This PR provides an installation daemonset that will install Nvidia CUDA drivers on Google Container Optimized OS (COS).
User space libraries and debug utilities from the Nvidia driver installation are made available on the host in a special directory on the host -
* `/home/kubernetes/bin/nvidia/lib` for libraries
*  `/home/kubernetes/bin/nvidia/bin` for debug utilities

Containers that run CUDA applications on COS are expected to consume the libraries and debug utilities (if necessary) from the host directories using `HostPath` volumes.

Note: This solution requires updating Pod Spec across distros. This is a known issue and will be addressed in the future. Until then CUDA workloads will not be portable.

This PR updates the COS base image version to m59. This is coupled with this PR for the following reasons:
1. Driver installation requires disabling a kernel feature in COS. 
2. The kernel API for disabling this interface changed across COS versions
3. If the COS image update is not handled in this PR, then a subsequent COS image update will break GPU integration and will require an update to the installation scripts in this PR.
4. Instead of having to post `3` PRs, one each for adding the basic installer, updating COS to m59, and then updating the installer again, this PR combines all the changes to reduce review overhead and latency, and additional noise that will be created when GPU tests break.

**Try out this PR**
1. Get Quota for GPUs in any region
2. `export `KUBE_GCE_ZONE=<zone-with-gpus>` KUBE_NODE_OS_DISTRIBUTION=gci`
3. `NODE_ACCELERATORS="type=nvidia-tesla-k80,count=1" cluster/kube-up.sh`
4. `kubectl create -f cluster/gce/gci/nvidia-gpus/cos-installer-daemonset.yaml`
5. Run your CUDA app in a pod.

**Another option is to run a e2e manually to try out this PR**
1. Get Quota for GPUs in any region
2. export `KUBE_GCE_ZONE=<zone-with-gpus>` KUBE_NODE_OS_DISTRIBUTION=gci
3. `NODE_ACCELERATORS="type=nvidia-tesla-k80,count=1"`
4. `go run hack/e2e.go -- --up` 
5. `hack/ginkgo-e2e.sh --ginkgo.focus="\[Feature:GPU\]"`
The e2e will install the drivers automatically using the daemonset and then run test workloads to validate driver integration.

TODO:
- [x] Update COS image version to m59 release.
- [x] Remove sleep from the install script and add it to the daemonset
- [x] Add an e2e that will run the daemonset and run a sample CUDA app on COS clusters.
- [x] Setup a test project with necessary quota to run GPU tests against HEAD to start with https://github.com/kubernetes/test-infra/pull/2759
- [x] Update node e2e serial configs to install nvidia drivers on COS by default
2017-05-23 10:46:10 -07:00
Kubernetes Submit Queue 4871f4a75b Merge pull request #45637 from xilabao/hide-api-version
Automatic merge from submit-queue

remove --api-version
2017-05-23 06:15:45 -07:00
Kubernetes Submit Queue 2718429e4f Merge pull request #45952 from harryge00/update-es-image
Automatic merge from submit-queue (batch tested with PRs 46201, 45952, 45427, 46247, 46062)

remove the elasticsearch template

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

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

```
NONE
```
Loading file-based index template has been disabled since 2.0.0-beta1 version of Elasticsearch.  https://www.elastic.co/guide/en/elasticsearch/reference/2.0/breaking_20_index_api_changes.html#_file_based_index_templates 

So the `template-k8s-logstash.json` is not longer useful.

On the other hand, as https://github.com/kubernetes/kubernetes/issues/25127 indicated, we might better curl the elasticsearch API to load this template.
2017-05-22 20:58:01 -07:00
CJ Cullen 9dca164ddd Allow the /logs handler on the apiserver to be toggled.
Change-Id: Ibf173b7f85cf7fffe8482eaee74fb77da2b2588b
2017-05-22 14:37:24 -07:00
Kubernetes Submit Queue c4229be7ad Merge pull request #46035 from crassirostris/fluentd-config-version-bump
Automatic merge from submit-queue

Add version for fluentd-gcp config

Fluentd-gcp config should be versioned, because otherwise during the update race can happen and the new pod can mount the old config
2017-05-22 02:08:20 -07:00
Vishnu kannan 333e571bee update default project to cos-cloud in gce configs
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-05-20 21:21:23 -07:00
Vishnu kannan 86b5edb79a Update COS version to m59
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-05-20 21:17:19 -07:00
Vishnu kannan 1e77594958 Adding an installer script that installs Nvidia drivers in Container Optimized OS
Packaged the script as a docker container stored in gcr.io/google-containers
A daemonset deployment is included to make it easy to consume the installer
A cluster e2e has been added to test the installation daemonset along with verifying installation
by using a sample CUDA application.
Node e2e for GPUs updated to avoid running on nodes without GPU devices.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-05-20 21:17:19 -07:00
Kubernetes Submit Queue a9d0403858 Merge pull request #38169 from caseydavenport/calico-daemonset
Automatic merge from submit-queue

Update Calico add-on

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

Updates Calico to the latest version using self-hosted install as a DaemonSet, removes Calico's dependency on etcd.

- [x] Remove [last bits of Calico salt](175fe62720/cluster/saltbase/salt/calico/master.sls (L3))
- [x] Failing on the master since no kube-proxy to access API.
- [x] Fix outgoing NAT
- [x] Tweak to work on both debian / GCI (not just GCI)
- [x] Add the portmap plugin for host port support

Maybe:
- [ ] Add integration test

**Which issue this PR fixes:**

https://github.com/kubernetes/kubernetes/issues/32625

**Try it out**

Clone the PR, then:

```
make quick-release
export NETWORK_POLICY_PROVIDER=calico
export NODE_OS_DISTRIBUTION=gci
export MASTER_SIZE=n1-standard-4
./cluster/kube-up.sh 
```

**Release note:**

```release-note
The Calico version included in kube-up for GCE has been updated to v2.2.
```
2017-05-19 19:38:59 -07:00
Bowei Du 7c9b6e90e8 Create a subnet for reserving the service cluster IP range
This will be done if IP aliases is enabled on GCP.
2017-05-19 16:59:14 -07:00
Kubernetes Submit Queue d3aa925c01 Merge pull request #46038 from dnardo/ip-masq-agent
Automatic merge from submit-queue (batch tested with PRs 44606, 46038)

Add ip-masq-agent addon to the addons folder. 

This also ensures that under gce we add this DaemonSet if the non-masq-cidr
is set to 0/0.



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

**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
Add ip-masq-agent addon to the addons folder which is used in GCE if  --non-masquerade-cidr is set to 0/0
```
2017-05-19 11:52:09 -07:00
Daniel Nardo 96ae34685e Add ip-masq-agent addon to the addons folder. This also
ensures that under gce we add this daemonset if the non-masq-cidr
is set to 0/0.
2017-05-19 08:43:55 -07:00
Marcin Wielgus 2f4cb6bfe7 Use integer comparisons instead of string comparisons in autoscaler config validation 2017-05-19 14:50:55 +02:00
xilabao e0b4f3f73c remove --api-version 2017-05-19 10:56:35 +08:00
Mik Vyatskov a6ccc89541 Add version for fluentd-gcp config 2017-05-18 16:59:05 +02:00
Kubernetes Submit Queue a1c2db2fec Merge pull request #45950 from shyamjvs/revert-proxier
Automatic merge from submit-queue

Make real proxier in hollow-proxy optional (default=true)

Ref https://github.com/kubernetes/kubernetes/pull/45622
This allows using real proxier for hollow proxy, but we use the fake one by default.

cc @kubernetes/sig-scalability-misc @wojtek-t @gmarek
2017-05-18 07:55:09 -07:00
Shyam Jeedigunta 804a4f558c Make usage of real proxier in hollow-proxy optional (default=true) 2017-05-18 14:30:12 +02:00
Kubernetes Submit Queue 0765740eb9 Merge pull request #46002 from bowei/ip-alias-to-beta
Automatic merge from submit-queue

Update cluster startup scripts to use gcloud beta for alias IP support

The feature has gone from alpha to beta.

```release-note
NONE
```
2017-05-18 02:05:45 -07:00
Bowei Du 7febdde22a Update cluster startup scripts to use gcloud beta for alias IP support
The feature has gone from alpha to beta.
2017-05-17 16:26:48 -07:00
Casey Davenport 63744a819f Update Calico add-on 2017-05-17 15:04:08 -07:00
Kubernetes Submit Queue 0c25199117 Merge pull request #45953 from maciaszczykm/patch-2
Automatic merge from submit-queue

Update dashboard-controller.yaml

**What this PR does / why we need it**: Updates Dashboard addon to newest version. Changelog can be found at https://github.com/kubernetes/dashboard/releases/tag/v1.6.1.

**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
Update Dashboard version to 1.6.1
```
2017-05-17 13:19:32 -07:00
Michael Taufen 2ee2ec5e21 Remove the deprecated --babysit-daemons kubelet flag 2017-05-17 09:08:57 -07:00
Marcin Maciaszczyk 5a0aef05b8 Update dashboard-controller.yaml 2017-05-17 14:12:12 +02:00
haoyuan d3fd956dac remove the elasticsearch template 2017-05-17 19:20:14 +08:00
Kubernetes Submit Queue 35e563d70c Merge pull request #45771 from magreiner/fix-heatversion
Automatic merge from submit-queue

fix: required openstack heat version for conditions is 2016-10-14 / newton

This fix sets the required heat version to 2016-10-14.

In OpenStack heat the conditions statement was introduced in version 2016-10-14 | newton, accourding to: 
https://docs.openstack.org/releasenotes/heat/newton.html
and more specific:
https://docs.openstack.org/developer/heat/template_guide/hot_spec.html

The conditions are used to make the assignment of public ips / floating ips optional (added in commit 4eef540876). However this template is not compatible with OpenStack heat releases prior newton and produces the following error:

```
ERROR: Failed to validate: : resources.kube_minions: : "condition" is not a valid keyword inside a output definition
```

PR without a release note:
```release-note
NONE
```
2017-05-17 02:22:49 -07:00
Kubernetes Submit Queue ec415a12d2 Merge pull request #45119 from dims/set-default-host-path-as-provisioner
Automatic merge from submit-queue (batch tested with PRs 45860, 45119, 44525, 45625, 44403)

Support running StatefulSetBasic e2e tests with local-up-cluster

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

Currently StatefulSet(s) fail when you use local-up-cluster without
setting a cloud provider. In this PR, we use set the
kubernetes.io/host-path provisioner as the default provisioner when
there CLOUD_PROVIDER is not specified. This enables e2e test(s)
(specifically StatefulSetBasic) to work.

**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-05-16 16:14:51 -07:00
Kubernetes Submit Queue 0cf7fd85e4 Merge pull request #45860 from mml/instance-templates-delete
Automatic merge from submit-queue

Add --quiet to instance-templates delete.
2017-05-16 15:52:13 -07:00
Kubernetes Submit Queue 1e6061b9ec Merge pull request #45763 from piosz/es-owners
Automatic merge from submit-queue

Added coffeepac to ElasticSearch owners

@coffeepac

@fgrzadkowski, could you please add @coffeepac to Kubernetes org?
2017-05-16 12:22:59 -07:00
gmarek 8ed74c8682 Add generic NoExecute Toleration to NPD 2017-05-16 12:15:06 +02:00
Kubernetes Submit Queue ba69aa9c09 Merge pull request #45832 from juju-solutions/gkk/fix-e2e-lint
Automatic merge from submit-queue (batch tested with PRs 44337, 45775, 45832, 45574, 45758)

Fix lint failures on kubernetes-e2e charm

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

This fixes a test failure on the kubernetes-e2e charm relating to tox and flake8:

```DEBUG🏃/bin/sh: 1: flake8: not found```

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

This is a follow-up to https://github.com/kubernetes/kubernetes/pull/45494 where the same thing was done for kubernetes-master.

**Release note**:

```release-note
Fix lint failures on kubernetes-e2e charm
```
2017-05-15 18:39:16 -07:00
Kubernetes Submit Queue eee8598ff9 Merge pull request #44337 from koep/master
Automatic merge from submit-queue (batch tested with PRs 44337, 45775, 45832, 45574, 45758)

Refactor gcr.io/google_containers/elasticsearch to alpine

**What this PR does / why we need it**:
This reduces the image size of the gcr.io/google_containers/elasticsearch image.

Before:
```
REPOSITORY                                                                       TAG                    IMAGE ID            CREATED             SIZE
gcr.io/google_containers/elasticsearch                                           v2.4.1-2               6941e43df81a        4 weeks ago         419MB
```
After:
```
REPOSITORY                                                                       TAG                    IMAGE ID            CREATED             SIZE
gcr.io/google_containers/elasticsearch                                           v2.4.1-2               24ad40c21a52        About an hour ago   178MB
```

**Special notes for your reviewer**:
I used a workaround to make the elasticsearch_logging_discovery binary work with alpine. (See [stackoverflow](https://stackoverflow.com/questions/34729748/installed-go-binary-not-found-in-path-on-alpine-linux-docker/35613430#35613430)). Alternatively this can be solved by setting ```CGO_ENABLED=0```when compiling the binary. I didn't feel comfortable chaing the Makefile though, since I'm no golang expert.  Feedback wanted!
2017-05-15 18:39:07 -07:00
Matt Liggett 5dd4a5d56b Add --quiet to instance-templates delete.
Otherwise it hangs waiting for confirmation.
2017-05-15 16:26:11 -07:00
George Kraft d50b69442e Fix lint failures on kubernetes-e2e charm 2017-05-15 13:22:55 -05:00
Christian Koep df80b76d1b
Refactor gcr.io/google_containers/elasticsearch to alpine
Signed-off-by: Christian Koep <christiankoep@gmail.com>
2017-05-15 17:52:39 +02:00
Kubernetes Submit Queue fd5146f193 Merge pull request #45494 from ktsakalozos/bug/fix-lint
Automatic merge from submit-queue (batch tested with PRs 45070, 45821, 45732, 45494, 45789)

Fix lint errors in juju kubernetes master and e2e charms

**What this PR does / why we need it**: Fixes style error in the Juju charms

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

```
Code style fixes in Juju charms
```
2017-05-15 07:49:57 -07:00
Matthias Greiner 0688c3c6a9 fix: required openstack heat version for conditions is 2016-10-14 / newton 2017-05-13 17:12:45 +00:00
Piotr Szczesniak da8f82cbd0 Added coffeepac to ElasticSearch owners 2017-05-13 07:48:09 +02:00
Kubernetes Submit Queue cb9074c418 Merge pull request #45730 from shyamjvs/remove-kubemark-sh
Automatic merge from submit-queue (batch tested with PRs 45653, 45719, 45729, 45730, 44250)

Remove kubemark.sh as we don't use pod IP from it anymore

This has been pending for sometime now. We no longer seem to actually depend on the downwarp api for the pod IP (hollow-proxy for example now gets it using api call).

cc @wojtek-t @gmarek
2017-05-12 12:12:48 -07:00
Kubernetes Submit Queue fa30eb1dc2 Merge pull request #45734 from crassirostris/fluentd-gcp-export-process-start
Automatic merge from submit-queue

Export process start time metric in fluentd-gcp

For correct ingestion of cumulative metrics fluentd-gcp exposes.
2017-05-12 10:57:43 -07:00
Kubernetes Submit Queue f8d5c63eda Merge pull request #45720 from shyamjvs/remove-waste
Automatic merge from submit-queue

Remove unused file cluster/images/kubemark/build-kubemark.sh

It's irrelevant and we don't seem to use/need it anymore.

cc @wojtek-t @gmarek
2017-05-12 10:57:34 -07:00
Mik Vyatskov dcd3ce3bcb Export process start time metric in fluentd-gcp 2017-05-12 16:37:36 +02:00
Shyam Jeedigunta 0f1d5e6e36 Remove kubemark.sh as we don't use pod IP from it anymore 2017-05-12 13:47:13 +02:00
Shyam Jeedigunta f65c80cc8c Remove unused file cluster/images/kubemark/build-kubemark.sh 2017-05-12 13:14:38 +02:00
Kubernetes Submit Queue b58a1b5601 Merge pull request #45715 from gmarek/fluentd_toleration
Automatic merge from submit-queue (batch tested with PRs 45691, 45667, 45698, 45715)

Add general NoExecute Toleration to fluentd in gcp configuration

Ref #44445

Once merged I'll create a cherry-pick that will be picked up in GKE together with the next patch release.

cc @JorritSalverda @davidopp @aveshagarwal @nimeshksingh @piosz 

```release-note
fluentd will tolerate all NoExecute Taints when run in gcp configuration.
```
2017-05-12 04:09:45 -07:00
Kubernetes Submit Queue 3b9a90ae79 Merge pull request #45684 from bowei/kube-dns-update
Automatic merge from submit-queue

Update kube-dns version to 1.14.2

```release-note
Updates kube-dns to 1.14.2

- Support kube-master-url flag without kubeconfig
- Fix concurrent R/Ws in dns.go
- Fix confusing logging when initialize server
- Fix printf in cmd/kube-dns/app/server.go
- Fix version on startup and --version flag
- Support specifying port number for nameserver in stubDomains
```
2017-05-12 03:13:38 -07:00
gmarek 4d7d6b72b3 Add general NoExecute Toleration to fluentd in gcp configuration 2017-05-12 11:23:23 +02:00
Brandon Philips b9a96272f7 images: hyperkube: README: add a note about REGISTRY variable
The REGISTRY variable is pretty helpful for people who are hacking on hyperkube. Document it here instead of just in the Makefile.
2017-05-11 17:24:23 -07:00
Bowei Du 1c223c8e1b Update kube-dns version to 1.14.2
Changes:

- Support kube-master-url flag without kubeconfig
- Fix concurrent R/Ws in dns.go
- Fix confusing logging when initialize server
- Fix printf in cmd/kube-dns/app/server.go
- Fix version on startup and --version flag
- Support specifying port number for nameserver in stubDomains
2017-05-11 12:29:00 -07:00
Kubernetes Submit Queue 4b2ab4e116 Merge pull request #45550 from jacekn/fix45547
Automatic merge from submit-queue (batch tested with PRs 45569, 45602, 45604, 45478, 45550)

Don't append :443 to registry domain in the kubernetes-worker layer registry action

**What this PR does / why we need it**: Fixes #45547

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

**Special notes for your reviewer**:

**Release note**:

```
Fix #45547 - don't append :443 to juju created docker registry config
```
2017-05-10 21:34:45 -07:00
Kubernetes Submit Queue a507d30833 Merge pull request #45602 from dashpole/enable_memcg_for_all_tests
Automatic merge from submit-queue (batch tested with PRs 45569, 45602, 45604, 45478, 45550)

Enable kernel memcg notification for node and cluster GCI/COS testing.

Sets --experimental-kernel-memcg-notification=true when running on the GCI/COS image.  It sets this for master and nodes for cluster e2e tests, and for the node in node e2e tests.

Issue #42676 

cc @dchen1107 @Random-Liu
2017-05-10 21:34:39 -07:00
Ryan Hitchman 62235c3bb8 Fix ip-alias testing.
IP aliases are an alpha feature, and node accelerators are a beta
feature. $gcloud determines which is appropriate.

Before, this would try to run "gcloud alpha beta", which is incoherent.
2017-05-10 12:10:17 -07:00
David Ashpole 0b1e45c5ff enable memcg on all testing 2017-05-10 11:38:26 -07:00
Jacek N b61fd20cb2 Don't append :443 to registry domain in the kubernetes-worker layer registry action. Fixes #45547 2017-05-09 16:37:09 +01:00
Konstantinos Tsakalozos e4e386d302 Remove makefile and use tox.ini from basic layer to pin it 2017-05-08 19:19:18 +03:00
Konstantinos Tsakalozos 40f918dc91 Fix lint errors in juju kubernetes master and e2e charms 2017-05-08 17:29:27 +03:00
Kubernetes Submit Queue 446d8959a8 Merge pull request #45483 from mwielgus/ca0.5.4
Automatic merge from submit-queue

Bump cluster autoscaler to 0.5.4

Fixes scale down issues with pods ignoring SIGTERM.
2017-05-08 06:21:45 -07:00
Marcin Wielgus c5522b8f09 Make Cluster Autoscaler maintainers the owner of cluster/saltbase/clusterautoscaler 2017-05-08 13:40:06 +02:00
Marcin Wielgus a4a44a5c44 Bump cluster autoscaler to 0.5.4 2017-05-08 13:27:28 +02:00
Kubernetes Submit Queue 15f0468986 Merge pull request #44895 from dcbw/iptables-restore-manual-locking
Automatic merge from submit-queue

util/iptables: grab iptables locks if iptables-restore doesn't support --wait

When iptables-restore doesn't support --wait (which < 1.6.2 don't), it may
conflict with other iptables users on the system, like docker, because it
doesn't acquire the iptables lock before changing iptables rules. This causes
sporadic docker failures when starting containers.

To ensure those don't happen, essentially duplicate the iptables locking
logic inside util/iptables when we know iptables-restore doesn't support
the --wait option.

Unfortunately iptables uses two different locking mechanisms, one until
1.4.x (abstract socket based) and another from 1.6.x (/run/xtables.lock
flock() based).  We have to grab both locks, because we don't know what
version of iptables-restore exists since iptables-restore doesn't have
a --version option before 1.6.2.  Plus, distros (like RHEL) backport the
/run/xtables.lock patch to 1.4.x versions.

Related: https://github.com/kubernetes/kubernetes/pull/43575
See also: https://github.com/openshift/origin/pull/13845
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1417234

@kubernetes/rh-networking @kubernetes/sig-network-misc @eparis @knobunc @danwinship @thockin @freehan
2017-05-06 15:17:21 -07:00
Dan Williams 8f967c929f hack/cluster: map /run/xtables.lock into containerized kubelet filesystem 2017-05-05 23:34:06 -05:00
Kubernetes Submit Queue d4f92711a1 Merge pull request #45130 from vishh/gpu-cluster-setup
Automatic merge from submit-queue (batch tested with PRs 44830, 45130)

Adding support for Accelerators to GCE clusters.

```release-note
Create clusters with GPUs in GKE by specifying "type=<gpu-type>,count=<gpu-count>" to NODE_ACCELERATORS env var.
List of available GPUs - https://cloud.google.com/compute/docs/gpus/#introduction
```
2017-05-05 15:39:32 -07:00
Kubernetes Submit Queue d7f72dcc44 Merge pull request #44590 from ihmccreery/rotate-username
Automatic merge from submit-queue (batch tested with PRs 44590, 44969, 45325, 45208, 44714)

Enable basic auth username rotation for GCI

When changing basic auth creds, just delete the whole file, in order to be able to rotate username in addition to password.
2017-05-05 14:08:08 -07:00
Kubernetes Submit Queue 3ae08b83c3 Merge pull request #45309 from yguo0905/gke-ubuntu-test
Automatic merge from submit-queue (batch tested with PRs 45309, 45376)

Allow passing --enable-kubernetes-alpha to GKE e2e tests

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

This allows us to pass --enable-kubernetes-alpha when running GKE e2e tests.

**Release note**:

```
NONE
```

@dchen1107
2017-05-04 15:54:34 -07:00
Marcin Wielgus 99e5125e60 Bump cluster autoscaler to 0.5.3 2017-05-04 17:27:54 +02:00
Yang Guo 1d93a72c5f Allows passing --enable-kubernetes-alpha to GKE e2e tests 2017-05-04 08:23:13 -07:00
Kubernetes Submit Queue f156f7a741 Merge pull request #45162 from zhangxiaoyu-zidif/format-err-2
Automatic merge from submit-queue (batch tested with PRs 45285, 45162)

mounter.go: format return err.

**What this PR does / why we need it**:
when an error returned is nil, it's preferred to explicitly return nil.

**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
NONE
```
2017-05-04 02:15:48 -07:00
Kubernetes Submit Queue 99af041604 Merge pull request #45248 from ixdy/docker-bundle-rule
Automatic merge from submit-queue (batch tested with PRs 45283, 45289, 45248, 44295)

Use docker_bundle rule from new rules_docker repo

**What this PR does / why we need it**: switched to using the new `docker_bundle` rule from `rules_docker` instead of my patched `docker_build` rule. This also brings in some fixes for the docker rules that were missing from my fork.

Additionally, I switched out the `git_repository` rules for `http_archive` rules, since that seems to be recommended by the bazel docs (and might be faster). 

Lastly, I updated the `pkg_tar` rules to use my patch, which doesn't prepend `./` to files inside the tarballs.
This one should likely be merged upstream in the near future.

I think this is the last of the changes necessary to have `bazel run //:ci-artifacts` working properly to support using bazel for e2e in CI.

**Release note**:

```release-note
NONE
```
2017-05-03 12:07:58 -07:00
Kubernetes Submit Queue 8be8f90413 Merge pull request #45289 from ktsakalozos/bug/fixbadrebase
Automatic merge from submit-queue (batch tested with PRs 45283, 45289, 45248, 44295)

Remove offending code due to bad rebase

**What this PR does / why we need it**: Fix bug introduced by bad rebasing

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

```
NONE
```
2017-05-03 12:07:56 -07:00
Jeff Grafton e231d4280b Replace git_repository with http_archive and use ixdy's fork of bazel tools for pkg_tar 2017-05-03 10:13:06 -07:00
Konstantinos Tsakalozos 7cf2b0b263 Remove offending code due to bad rebase 2017-05-03 18:29:51 +03:00
Charles Butler d1d11a9c55 Fixed permissions on namespace actions
the newly introduced namespace-* actions are failing proof. Setting them
as +x resolves proof errors emitting from `charm proof`

closes
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/273
2017-05-03 08:41:48 -05:00
Kubernetes Submit Queue acf64dc952 Merge pull request #44712 from maciaszczykm/patch-1
Automatic merge from submit-queue (batch tested with PRs 43884, 44712, 45124, 43883)

Increase Dashboard memory limits

**What this PR does / why we need it**: Increases memory requests and limits for Dashboard.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/kubernetes/dashboard/issues/1431

**Special notes for your reviewer**: Dashboard crashes on large clusters, this change should fix that problem.

**Release note**:

```release-note
Increase Dashboard's memory requests and limits
```
2017-05-01 15:49:09 -07:00
Kubernetes Submit Queue 03c9c48c81 Merge pull request #44062 from ixdy/semver-regexes
Automatic merge from submit-queue

Support arbitrary alphanumeric strings as prerelease identifiers

**What this PR does / why we need it**: this is basically an extension of #43642, but supports more general prerelease identifiers, per the spec at http://semver.org/#spec-item-9.

These regular expressions are still a bit more restrictive than the SemVer spec allows (we disallow hyphens, and we require the format `-foo.N` instead of arbitrary `-foo.X.bar.Y.bazZ`), but this should support our needs without changing too much more logic or breaking other assumptions.

**Release note**:

```release-note
NONE
```
2017-05-01 12:54:44 -07:00
Kubernetes Submit Queue 70f6f13323 Merge pull request #44988 from zhangxiaoyu-zidif/update-readme-links
Automatic merge from submit-queue

README.md: Update outdated links

**What this PR does / why we need it**:
the PR aims to update some links.
Some links with "#" would not redirect to right point of pages.
Other links without "#" can work, but they are outdated. I change them by the way.

**Special notes for your reviewer**:

**Release note**:

```release-note
```
none
2017-04-30 20:34:52 -07:00
zhangxiaoyu-zidif f70065478e mounter.go: format return err. 2017-05-01 10:40:42 +08:00
Kubernetes Submit Queue a8e940041e Merge pull request #44959 from ktsakalozos/bug/change-config
Automatic merge from submit-queue

Retry calls we report config changes quickly.

**What this PR does / why we need it**: In Juju deployments of Kubernetes the status of the charms is updated when a status-update is triggered periodically. As a result changes in config variables may take up to 10 minutes to be reflected on the charms status. See bug below.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/263

**Special notes for your reviewer**:

**Release note**:

```
Kubernetes clusters deployed with Juju pick up config changes faster.
```
2017-04-30 02:37:32 -07:00
Kubernetes Submit Queue 02f9d607c1 Merge pull request #45117 from chuckbutler/add-cifs
Automatic merge from submit-queue (batch tested with PRs 41583, 45117, 45123)

Adds the cifs-common package

**What this PR does / why we need it**:  Enables mounting of CIFS volumes. Required for Azure.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/227

**Release note**:

```release-note
Added CIFS PV support for Juju Charms
```
2017-04-28 20:15:05 -07:00
Vishnu kannan e74d4a0d68 Adding support for Accelerators to GCE clusters.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-04-28 15:57:39 -07:00
Kubernetes Submit Queue 0a0b6889e5 Merge pull request #45032 from everett-toews/rm-rackspace
Automatic merge from submit-queue

Remove the Rackspace provider

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

To aid the effort of moving providers out of the cluster dir, I'm
removing Rackspace and leaving behind a README.md simply as a
placeholder until the entire dir is deleted.

**Which issue this PR fixes**

Fixes #6962

**Release note**:

```release-note
Deployment of Kubernetes clusters on Rackspace using the in-tree bash deployment (i.e. cluster/kube-up.sh or get-kube.sh) is obsolete and support has been removed.```
2017-04-28 14:50:10 -07:00
Davanum Srinivas 49faff32da Support running StatefulSetBasic e2e tests with local-up-cluster
Currently StatefulSet(s) fail when you use local-up-cluster without
setting a cloud provider. In this PR, we use set the
kubernetes.io/host-path provisioner as the default provisioner when
there CLOUD_PROVIDER is not specified. This enables e2e test(s)
(specifically StatefulSetBasic) to work.
2017-04-28 15:10:22 -04:00
Charles Butler 9ee4e99dc6 Adds the cifs-common package
Enable mounting of filesystems over the CIFS protocol. Closes
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/227
2017-04-28 13:50:05 -05:00
Kubernetes Submit Queue 929bb8b5d0 Merge pull request #43620 from ktsakalozos/bug/juju-master
Automatic merge from submit-queue (batch tested with PRs 41530, 44814, 43620, 41985)

Fixes juju kubernetes master: 1. Get certs from a dead leader. 2. Append tokens.

**What this PR does / why we need it**:
Fixes two issues with the Juju kubernetes master.

1. Grab certificates from a leader that is already removed.
2. Append (not truncate) auth tokens 

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

**Special notes for your reviewer**:

**Release note**:

```
Recover certificates from leadership context in case all masters die in a Juju deployment
```
2017-04-28 10:03:39 -07:00
Kubernetes Submit Queue 94567f64e1 Merge pull request #45096 from crassirostris/fluentd-metrics-exporter
Automatic merge from submit-queue

Add metrics exporter to the fluentd-gcp deployment

Metrics exporter container reads metrics from the `/metrics` endpoint in fluentd and exports them directly to the Stackdriver. It assumes that Stackdriver Monitoring API is enabled.

/cc @fgrzadkowski
2017-04-28 08:42:06 -07:00
Kubernetes Submit Queue bec2c604ac Merge pull request #44921 from jacekn/registry-fix
Automatic merge from submit-queue (batch tested with PRs 42432, 44628, 45101, 44921)

Use correct option name in the kubernetes-worker layer registry action

**What this PR does / why we need it**: It fixes #44920 

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

**Special notes for your reviewer**:

**Release note**:

```
Ensure kubernetes-worker juju layer registry action uses correct ingress controller option name
```
2017-04-28 08:41:39 -07:00
Konstantinos Tsakalozos e99d606277 Merge branch 'master' into bug/juju-master 2017-04-28 18:19:55 +03:00
Konstantinos Tsakalozos 7c6547a145 Retry of pods availablity 6 times over a minute 2017-04-28 18:06:39 +03:00
Mik Vyatskov fb3e30729e Add metrics exporter to the fluentd-gcp deployment 2017-04-28 13:27:19 +02:00
Kubernetes Submit Queue 5097971d1d Merge pull request #45055 from nicksardo/glbc-v0.9.3-bump
Automatic merge from submit-queue

Bump GLBC version to 0.9.3

**What this PR does / why we need it**:
Bumps version of GLBC shipped with K8s
https://github.com/kubernetes/ingress/releases/tag/0.9.3
```
Major Changelog:

Bug fix: adding backends to existing backend-services #652
Bug fix: handling of secret-based SSL Certs #639
Add second LB healthcheck/proxy traffic source CIDR #574 #479
Support backside re-encryption (HTTPS) #519
```
The two noted bugs are common occurrences for GKE users

**Release note**:
```release-note
Bump GLBC version to 0.9.3
```
2017-04-27 18:03:33 -07:00
Everett Toews d90b01f8dd Remove the Rackspace provider
Fixes #6962

To aid the effort of moving providers out of the cluster dir, I'm
removing Rackspace and leaving behind a README.md simply as a
placeholder until the entire dir is deleted.
2017-04-27 18:18:48 -05:00
Nick Sardo 71ca925b05 Bump GLBC version to 0.9.3 2017-04-27 15:49:01 -07:00
Kubernetes Submit Queue 963e056515 Merge pull request #45044 from juju-solutions/gkk/e2e-snap
Automatic merge from submit-queue (batch tested with PRs 42740, 44980, 45039, 41627, 45044)

Update kubernetes-e2e charm to use snaps

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

This updates the kubernetes-e2e charm to use snaps instead of Juju resources for payload delivery.

The main advantage of this is that it decouples the charm from the e2e payload, allowing us to support multiple versions of Kubernetes with a single release of the charm.

**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
Update kubernetes-e2e charm to use snaps
```
2017-04-27 13:27:09 -07:00
Kubernetes Submit Queue a2eb8888fb Merge pull request #45031 from crassirostris/fluent-gcp-monitoring-fix
Automatic merge from submit-queue

Remove too verbose label from fluentd metrics

/cc @fabxc
2017-04-27 10:55:20 -07:00
Kubernetes Submit Queue 549bd4b7d5 Merge pull request #44591 from ixdy/bazel-push-build
Automatic merge from submit-queue (batch tested with PRs 44591, 44549)

Update repo-infra bazel dependency and use new gcs_upload rule

This PR provides similar functionality to push-build.sh entirely within Bazel rules (though it relies on gsutil).

It's an alternative to #44306.

Depends on https://github.com/kubernetes/repo-infra/pull/13.

**Release note**:

```release-note
NONE
```
2017-04-27 10:54:56 -07:00
Mik Vyatskov 0625697dd5 Remove too verbose label from fluentd metrics 2017-04-27 17:16:25 +02:00
Maciej Pytel b6574bd7b9 Update cluster-autoscaler logging config
Previously it would duplicate all logs,
writing to master /var/log and /tmp inside pod.
2017-04-27 13:32:32 +02:00
zhangxiaoyu-zidif 030c53f585 README.md: Update outdated links 2017-04-27 09:11:18 +08:00
Charles Butler 690be0fb82 Fixes #43461
The master-components started state triggers a daemon recycle. The guard
was to prevent the daemons from being cycled too often and interrupting
normal workflow. This additional state check is guarded against the etcd
connection string from changing, allowing the current behavior but
triggers a re-configure and recycle of the api-control plane when etcd
units are scaling up and down.
2017-04-26 14:39:03 -05:00
Kubernetes Submit Queue 6d17ab3201 Merge pull request #44744 from yguo0905/ubuntu-gce-cluster-tests
Automatic merge from submit-queue

Support running Ubuntu image on GCE

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

This PR (on top of #44629) contains the script changes for running Ubuntu image on GCE.

**Special notes for your reviewer**:

We made change in `gci/node.yaml` and `gci/master.yaml` to ensure that Kubernetes jobs can start automatically after reboot. This is not needed for GCI but required by Ubuntu. See https://github.com/kubernetes/kubernetes/pull/44744#discussion_r113105970 for details. With this change, Ubuntu could use the same provisioning scripts as GCI's.

Ran e2e tests using the following command and all tests passed.

```
KUBE_GCE_NODE_IMAGE=ubuntu-gke-1604-xenial-v20170420-1 KUBE_GCE_NODE_PROJECT=ubuntu-os-gke-cloud KUBE_NODE_OS_DISTRIBUTION=ubuntu GINKGO_PARALLEL=y GINKGO_PARALLEL_NODES=30 go run hack/e2e.go -- -v --build --up --test --test_args="--ginkgo.skip=\[Slow\]|\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:.+\]" --down
```

Also tested manually for both GCI and Ubuntu images.

**Release note**:
`Support Ubuntu 16.04 image on GCE`
2017-04-26 11:12:56 -07:00
Kubernetes Submit Queue b5caa6beb3 Merge pull request #44945 from ktsakalozos/bug/dns-fix
Automatic merge from submit-queue

Send dns details only after cdk-addons are configured

**What this PR does / why we need it**: This is a bugfix on the deployment of Kubernetes via Juju. See issue below.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #40386 and
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/262

**Special notes for your reviewer**:

**Release note**:

```
Fix KubeDNS issue in Juju deployments. 
```
2017-04-26 10:10:17 -07:00
Konstantinos Tsakalozos 6d32bb001f Retry methods and set states so we immediately report config changes. 2017-04-26 19:04:18 +03:00
George Kraft 8d9abda68a Update kubernetes-e2e charm to use snaps 2017-04-26 10:02:01 -05:00
Kubernetes Submit Queue e917f4ed39 Merge pull request #44866 from shyamjvs/prepare-for-logexporter
Automatic merge from submit-queue

Allow disabling log dump for nodes (in preparation for using logexporter)

This is, in part, a change required for allowing usage of [logexporter](https://github.com/kubernetes/test-infra/tree/master/logexporter) for dumping node logs to GCS directly, instead of doing it through log-dump.sh.

cc @kubernetes/test-infra-maintainers @wojtek-t @gmarek @fejta
2017-04-26 06:32:31 -07:00
Kubernetes Submit Queue 4fdee60b36 Merge pull request #44931 from chuckbutler/worker-pause-action
Automatic merge from submit-queue (batch tested with PRs 44931, 44808)

Closes #44392

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

Fix the pause action with regard to the new behavior where
--delete-local-data=false by default. Historically --force was all that
was required, this flag has changed to be more descriptive of the
actions it's taking.

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


**Release note**:

```release-note
Added support to the pause action in the kubernetes-worker charm for new flag --delete-local-data
```
2017-04-26 05:48:38 -07:00
Konstantinos Tsakalozos d228609dca Send dns details only after cdk-addons are configured 2017-04-26 10:35:27 +03:00
Yang Guo 0d66fc97cd Makes cluster/gce/ubuntu to be a symlink to cluster/gce/gci and changes the gci's [master|node].yaml to enable kubernetes.target.
This enables Ubuntu to use the same provisioning scripts as GCI's. The
change for enabling kubernetes.target is needed for Ubuntu but a no-op
for GCI.
2017-04-25 16:19:00 -07:00
Charles Butler fe1422569b Closes #44392
Fix the pause action with regard to the new behavior where
--delete-local-data=false by default. Historically --force was all that
was required, this flag has changed to be more descriptive of the
actions it's taking.
2017-04-25 16:26:13 -05:00
Lucas Käldström 6b5d5371d9
Bump to go1.8.1 and remove the edge GOROOT 2017-04-25 23:45:47 +03:00
Jeff Grafton a9bfae8ec3 Update repo-infra bazel dependency and use new gcs_upload rule 2017-04-25 13:45:28 -07:00
Jacek Nykis e02db69826 Use correct option name in the kubernetes-worker registry action. Fixes #44920 2017-04-25 16:38:21 +01:00
Kubernetes Submit Queue 40d51462b2 Merge pull request #44277 from jacekn/juju-namespaces
Automatic merge from submit-queue

Add namespace-{list, create, delete} actions to the kubernetes-master layer

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

This PR adds namespace-{list,create,delete} actions to the juju kubernetes-master layer.

**Which issue this PR fixes**: fixes #43712

**Special notes for your reviewer**:

Original PR https://github.com/juju-solutions/kubernetes/pull/109

**Release note**:

```
Add  namespace-{list,create,delete} actions to the juju kubernetes-master layer
```
2017-04-25 06:10:14 -07:00
Shyam Jeedigunta 02249de49b Allow disabling log dump for nodes (in preparation for using logexporter) 2017-04-25 10:48:33 +02:00
Kubernetes Submit Queue cb8a2bc5f7 Merge pull request #44860 from mwielgus/ca-0.5.2
Automatic merge from submit-queue (batch tested with PRs 40060, 44860, 44865, 44825, 44162)

Bump Cluster Autoscaler to 0.5.2

Fixes PVC issue in Cluster Autoscaler (kubernetes/contrib#2507).

cc: @MaciekPytel @fgrzadkowski
2017-04-24 23:07:40 -07:00
Charles Butler 6c2fa2f05e Document the NodePort workflow for kubernetes-worker
closes
https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/259

NodePort networking model has no daemon listening to lend a hand so any
NodePort services will need to be manually declared and exposed.
2017-04-24 10:58:38 -05:00
Marcin Wielgus 1f561d16ff Bump Cluster Autoscaler to 0.5.2 2017-04-24 17:36:34 +02:00
Kubernetes Submit Queue 12adc0e8d3 Merge pull request #44780 from chuckbutler/vsphere-hostname-patch
Automatic merge from submit-queue (batch tested with PRs 42486, 44780)

Hostname patch for vsphere provider limitations with juju

**What this PR does / why we need it**:
The Juju VSphere provider doesn't set a unique hostname which causes issues when scaling worker-pools and they all have the hostname `ubuntuguest`. Instead we assign the JUJU_UNIT_NAME to that hostname to prevent the collision which allows the master to sort out that there are multiple units and not one attempting re-registration.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/237

**Special notes for your reviewer**:
The charm-pre-exec runs before it installs the charm software so the validation can happen quickly. Check hostname output, as well as kubectl get no post deployment.


```release-note
Resolves juju vsphere hostname bug showing only a single node in a scaled node-pool.
```
2017-04-21 17:13:57 -07:00
Isaac Hollander McCreery 1769af78fa Comment extension 2017-04-21 15:58:39 -07:00
Charles Butler 32acffc7c6 Hostname patch for vsphere provider limitations with juju
This patch sets the hostname to a unique identifier (the juju unit name)
during pre-deployment of the charm. This may not be a FQDN resolveable
hostname but will prevent hostname collision.
2017-04-21 16:25:23 -05:00
Isaac Hollander McCreery 596b9ebca7 Add comments and change function name 2017-04-21 11:25:12 -07:00
Isaac Hollander McCreery 7f599dc52f Make comments in config-default scripts more explicit 2017-04-21 10:27:34 -07:00
nikhiljindal 74b511345f Fixing build break for federation 2017-04-20 22:29:53 -07:00
Chris Glass cf23d4c939 Add Ubuntu as a platform for e2e tests on GCE
Using Ubuntu on GCE to run cluster e2e tests requires slightly different
node.yaml and master.yaml files than GCI, because Ubuntu uses systemd as
PID 1, wheras GCI uses upstart with a systemd delegate. Therefore the
e2e tests fail using those files since the kubernetes services are not
brought back up after a node/master reboot.
2017-04-20 17:40:51 -07:00
Kubernetes Submit Queue 5cbe7b69fb Merge pull request #44681 from wwwtyro/rye/disable-upstream-docker
Automatic merge from submit-queue (batch tested with PRs 44722, 44704, 44681, 44494, 39732)

prevent installation of docker from upstream

**What this PR does / why we need it**: Disallows installation of upstream docker from PPA in the Juju kubernetes-worker charm.

**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
Disallows installation of upstream docker from PPA in the Juju kubernetes-worker charm.
```
2017-04-20 16:01:00 -07:00
Rye Terrell 20c36e9c93 prevent installation of docker from upstream 2017-04-20 15:03:36 -05:00
Kubernetes Submit Queue 6bf9f2f0bb Merge pull request #44721 from piosz/remove-fluentd-manifest
Automatic merge from submit-queue (batch tested with PRs 42177, 42176, 44721)

Removed fluentd-gcp manifest pod

```release-note
Fluentd manifest pod is no longer created on non-registered master when creating clusters using kube-up.sh.
```
2017-04-20 12:57:08 -07:00
Kubernetes Submit Queue 1413f2e862 Merge pull request #44555 from luxas/remove_hyperkube_docker_multinode
Automatic merge from submit-queue

Remove the old docker-multinode files that were built into the hyperkube image

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

ref: https://goo.gl/VxSaKx

**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
The hyperkube image has been slimmed down and no longer includes addon manifests and other various scripts. These were introduced for the now removed docker-multinode setup system.
```

cc @jbeda @brendandburns @bgrant0607 @justinsb @mikedanese
2017-04-20 10:27:04 -07:00
Piotr Szczesniak 113f120e29 Removed fluentd-gcp manifest pod 2017-04-20 15:53:24 +02:00
Marcin Maciaszczyk 4802dff7d9 Update dashboard-controller.yaml 2017-04-20 11:36:12 +02:00
Kubernetes Submit Queue 6d67cdd4d9 Merge pull request #44689 from rmmh/avoid-get-kube-dl-flake
Automatic merge from submit-queue (batch tested with PRs 44687, 44689, 44661)

Retry in get-kube.sh to avoid download flakes.

GCS has up to 2% 5xx rates, so retrying is critical.

This is currently failing about 8 times per day [according to the dashboard](https://storage.googleapis.com/k8s-gubernator/triage/index.html?test=Extract#be2f33fb1e6dd2389d12). It could be backported to reduce the flake rate.

Relase note:
```release-note
NONE
```
2017-04-19 18:52:58 -07:00
Kubernetes Submit Queue d1f4664f5b Merge pull request #44677 from wwwtyro/rye/kube-proxy-master-flag
Automatic merge from submit-queue

select one api endpoint at random when deploying kubernetes-core charm

**What this PR does / why we need it**: Fixes a bug in the kubernetes-worker Juju charm code that attempted to give kube-proxy more than one api endpoint.

**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**: https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/255

**Release note**:

```release-note
Fixes a bug in the kubernetes-worker Juju charm code that attempted to give kube-proxy more than one api endpoint.
```
2017-04-19 15:45:35 -07:00
Ryan Hitchman 65cd30dbbe Retry in get-kube.sh to avoid download flakes. 2017-04-19 15:30:28 -07:00
Kubernetes Submit Queue 3bede2fb4c Merge pull request #44679 from ixdy/porter-cert
Automatic merge from submit-queue

Update gcr.io/google_containers/porter image to 4524579c0e

**What this PR does / why we need it**: updates the porter image to one built at 4524579c0e using go1.8.1.

This incorporates #44638, which has a new dummy certificate that is compliant with go1.8+.

Image has already been pushed.

**Release note**:

```release-note
NONE
```

/assign @liggitt
/cc @luxas @lavalamp
2017-04-19 14:07:27 -07:00
Jeff Grafton df4e205460 Update gcr.io/google_containers/porter image to 4524579c0e 2017-04-19 11:50:41 -07:00
Rye Terrell 39818e16d4 fix missing comma in list of strings 2017-04-19 13:33:08 -05:00
Rye Terrell 6002481524 select one api endpoint at random instead of erroneously using all of them 2017-04-19 13:19:35 -05:00
Kubernetes Submit Queue daeac53d51 Merge pull request #44635 from Cynerva/gkk/ceph-secret-type
Automatic merge from submit-queue

Fix ceph-secret type to kubernetes.io/rbd in kubernetes-master charm

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

This fixes the type of the ceph-secret secret that's created by the kubernetes-master charm.

Without the `kubernetes.io/rbd` type, automatic provisioning of PVCs doesn't work.

**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
Fix ceph-secret type to kubernetes.io/rbd in kubernetes-master charm
```
2017-04-19 07:15:57 -07:00
Kubernetes Submit Queue 605294108f Merge pull request #44040 from cruwe/docu_cluster_addons_registry_fix_selector
Automatic merge from submit-queue

issue_43986: fix docu with non-functional proxy

The documentation defines a couple of replication-controller and service
to provision a docker-registry somewhere on the cluster and have it
available by the name viz. A record of
kube-registry.default.svc.<clustername>.

On each node, http-proxies are placed as daemon-set with the
kube-registry DNS name set as upstream, so that the registry is
available on each host under endpoint localhost:5000

Because in the documentation, selector-identifiers are the same for
"upstream" registry and proxies, the proxies themselves register under
the service intended for the upstream and now have themselves as
upstream under a different port, where connection attempts result in
"connection refused".

Adapting selectors to be unique as in this patch fixes the problem.



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

Patch fixes (cf. above) erroneous documentation.

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

**Special notes for your reviewer**:

Thank you for your consideration.

**Release note**:

```release-note
```
2017-04-19 01:49:20 -07:00
George Kraft 96f944d99b Fix ceph-secret type to kubernetes.io/rbd 2017-04-18 15:37:40 -05:00
nikhiljindal fa323b0ef3 Removing myself from Juju Owners 2017-04-18 13:25:09 -07:00
Kubernetes Submit Queue 09e3fdbafe Merge pull request #44500 from Cynerva/gkk/cdk-1.6-support
Automatic merge from submit-queue (batch tested with PRs 43000, 44500, 44457, 44553, 44267)

Add Kubernetes 1.6 support to Juju charms

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

This adds Kubernetes 1.6 support to Juju charms.

This includes some large architectural changes in order to support multiple versions of Kubernetes with a single release of the charms. There are a few bug fixes in here as well, for issues that we discovered during testing.

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

Thanks to @marcoceppi, @ktsakalozos, @jacekn, @mbruzek, @tvansteenburgh for their work in this feature branch as well!

**Release note**:

```release-note
Add Kubernetes 1.6 support to Juju charms
Add metric collection to charms for autoscaling
Update kubernetes-e2e charm to fail when test suite fails
Update Juju charms to use snaps
Add registry action to the kubernetes-worker charm
Add support for kube-proxy cluster-cidr option to kubernetes-worker charm
Fix kubernetes-master charm starting services before TLS certs are saved
Fix kubernetes-worker charm failures in LXD
Fix stop hook failure on kubernetes-worker charm
Fix handling of juju kubernetes-worker.restart-needed state
Fix nagios checks in charms
```
2017-04-18 13:19:06 -07:00
Christopher J. Ruwe d2c66d5909 issue_43986: fix docu with non-functional proxy
The documentation defines a couple of replication-controller and service
to provision a docker-registry somewhere on the cluster and have it
available by the name viz. A record of
kube-registry.default.svc.<clustername>.

On each node, http-proxies are placed as daemon-set with the
kube-registry DNS name set as upstream, so that the registry is
available on each host under endpoint localhost:5000

Because in the documentation, selector-identifiers are the same for
"upstream" registry and proxies, the proxies themselves register under
the service intended for the upstream and now have themselves as
upstream under a different port, where connection attempts result in
"connection refused".

Adapting selectors to be unique as in this patch fixes the problem.
	modified:   cluster/addons/registry/README.md
	modified:   cluster/addons/registry/registry-rc.yaml
	modified:   cluster/addons/registry/registry-svc.yaml
2017-04-18 07:26:34 +02:00
Isaac Hollander McCreery 2acf60e44d When changing basic auth creds, just delete the whole file, in order to be able to rotate username in addition to password 2017-04-17 17:05:33 -07:00
Kubernetes Submit Queue 4c8c2aaa85 Merge pull request #44509 from bowei/cluster-ip
Automatic merge from submit-queue (batch tested with PRs 40055, 42085, 44509, 44568, 43956)

Change the default CLUSTER_IP_RANGE used by e2e

The existing choice intersects with the range reserved for auto
subnets and cannot be used with some GCP features.

```release-note
NONE
```
2017-04-17 15:39:09 -07:00
Lucas Käldström b814b62447
Remove the old docker-multinode files that were built into the hyperkube image 2017-04-17 00:54:08 +03:00
Kubernetes Submit Queue b22a298009 Merge pull request #44344 from mikedanese/ubuntu-delete
Automatic merge from submit-queue (batch tested with PRs 44343, 44344)

delete ubuntu kube-up

```release-note
Remove deprecated ubuntu kube-up deployment.
```
2017-04-14 23:03:57 -07:00
Kubernetes Submit Queue 92ae06b5db Merge pull request #44343 from mikedanese/ovirt-delete
Automatic merge from submit-queue

delete ovirt kube-up

untouched since 2014. I'm not sure what this file is.
2017-04-14 22:56:44 -07:00
Bowei Du 0e6af317a8 Change the default CLUSTER_IP_RANGE used by e2e
The existing choice intersects with the range reserved for auto
subnets and cannot be used with some GCP features.
2017-04-14 13:49:54 -07:00
Tim Van Steenburgh 7b841fe77e Fix nagios checks. 2017-04-14 10:45:37 -05:00
George Kraft 86415961d5 Fix handling of kubernetes-worker.restart-needed state
Credit to @tvansteenburgh, thanks!
2017-04-14 10:45:35 -05:00
Rye Terrell 6e831d6fe9 don't try to remove the node if kubeconfig doesn't exist 2017-04-14 10:45:34 -05:00
Matt Bruzek 258ee22858 Putting the nvidia-smi command in a try catch to avoid errors. 2017-04-14 10:45:33 -05:00
George Kraft d50cf1e499 Fix juju kubernetes-master starting services before TLS certs are saved
master: Fix start_master args
2017-04-14 10:45:31 -05:00
Rye Terrell 33fee22032 add support for kube-proxy cluster-cidr option 2017-04-14 10:45:23 -05:00
Jacek N ebd2f88f6b Add registry action to the kubernetes-worker layer 2017-04-14 10:43:09 -05:00
Rye Terrell ca4afd8773 Update CDK charms to use snaps 2017-04-14 10:43:00 -05:00
Kubernetes Submit Queue eda8e12723 Merge pull request #44465 from bowei/fix-cluster-up
Automatic merge from submit-queue

Missing --project in the cluster up scripts for gce

```release-note
NONE
```
2017-04-14 00:36:58 -07:00
Kubernetes Submit Queue 08bd9c773f Merge pull request #44071 from liggitt/service-account-lookup
Automatic merge from submit-queue (batch tested with PRs 44406, 41543, 44071, 44374, 44299)

Enable service account token lookup by default

Fixes #24167

```release-note
kube-apiserver: --service-account-lookup now defaults to true, requiring the Secret API object containing the token to exist in order for a service account token to be valid. This enables service account tokens to be revoked by deleting the Secret object containing the token.
```
2017-04-13 19:52:06 -07:00
Konstantinos Tsakalozos 5d9905f4e5 Fail test action when test suite fails. Minor README update. 2017-04-13 16:02:14 -05:00
Marco Ceppi d3428ef3a4 Add metric collection to charms for autoscalling 2017-04-13 16:02:13 -05:00
Bowei Du c4a8ea2eb5 Missing --project in the cluster up scripts for gce
```release-note
NONE
```
2017-04-13 12:10:59 -07:00
Matt Bruzek 7f3f05e101 Fixing the README to use the containers namespace. 2017-04-13 12:05:39 -05:00
Kubernetes Submit Queue 3ef2cf8adb Merge pull request #44064 from ixdy/get-kube-ci
Automatic merge from submit-queue

Make get-kube.sh work properly the "ci/latest" pointer

**What this PR does / why we need it**: this is a (late) followup from #36419, fixing a bug discovered in https://github.com/kubernetes/kubernetes/pull/36419#issuecomment-265679578.

Basically, `get-kube-binaries.sh` looks at `$KUBERNETES_RELEASE_URL`, but we weren't properly overriding it in `get-kube.sh` when downloading binaries from the CI release bucket. With this change, we set the variable correctly, and everything works:

```console
$ KUBERNETES_RELEASE=ci/latest ~/code/kubernetes/src/k8s.io/kubernetes/cluster/get-kube.sh
Downloading kubernetes release v1.7.0-alpha.0.2068+3a3dc827e45426
  from https://dl.k8s.io/ci/v1.7.0-alpha.0.2068+3a3dc827e45426/kubernetes.tar.gz
  to /tmp/foo/kubernetes.tar.gz
Is this ok? [Y]/n

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   161  100   161    0     0   1004      0 --:--:-- --:--:-- --:--:--  1006
100 6023k  100 6023k    0     0  10.9M      0 --:--:-- --:--:-- --:--:-- 10.9M
Unpacking kubernetes release v1.7.0-alpha.0.2068+3a3dc827e45426
Kubernetes release: v1.7.0-alpha.0.2068+3a3dc827e45426
Server: linux/amd64  (to override, set KUBERNETES_SERVER_ARCH)
Client: linux/amd64  (autodetected)

Will download kubernetes-server-linux-amd64.tar.gz from https://dl.k8s.io/ci/v1.7.0-alpha.0.2068+3a3dc827e45426
Will download and extract kubernetes-client-linux-amd64.tar.gz from https://dl.k8s.io/ci/v1.7.0-alpha.0.2068+3a3dc827e45426
Is this ok? [Y]/n

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   161  100   161    0     0    991      0 --:--:-- --:--:-- --:--:--   987
100  348M  100  348M    0     0  39.1M      0  0:00:08  0:00:08 --:--:-- 34.2M
               
md5sum(kubernetes-server-linux-amd64.tar.gz)=e71c9b48f6551797a74de2b83b501c44
sha1sum(kubernetes-server-linux-amd64.tar.gz)=688dcf567b60e27e3d9bf97436154543432768cf
               
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   161  100   161    0     0   1019      0 --:--:-- --:--:-- --:--:--  1025
100 29.0M  100 29.0M    0     0  32.2M      0 --:--:-- --:--:-- --:--:-- 95.4M
               
md5sum(kubernetes-client-linux-amd64.tar.gz)=8e6a90298411ae5a0e943b1c0e182b1d
sha1sum(kubernetes-client-linux-amd64.tar.gz)=187a2d2c1c6ae1ead32ec4c1fa51f695223edaae
               
Extracting /tmp/foo/kubernetes/client/kubernetes-client-linux-amd64.tar.gz into /tmp/foo/kubernetes/platforms/linux/amd64
Add '/tmp/foo/kubernetes/client/bin' to your PATH to use newly-installed binaries.
Creating a kubernetes on gce...
...

```
**Release note**:

```release-note
NONE
```
2017-04-12 13:39:00 -07:00
Kubernetes Submit Queue 750d5c3bc5 Merge pull request #41561 from jamiehannaford/fix-multiple-swift-urls
Automatic merge from submit-queue

Ensure only 1 Swift URL is used in cluster operations

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

Extracts only 1 Swift URL if multiple are returned from Keystone.

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

https://github.com/kubernetes/kubernetes/issues/34930

**Special notes for your reviewer**:

**Release note**:
```release-note
Heat cluster operations now support environments that have multiple Swift URLs
```
2017-04-12 02:16:28 -07:00
Kubernetes Submit Queue 640c67792f Merge pull request #44363 from bowei/use-auto-net
Automatic merge from submit-queue

Use auto mode networks instead of legacy networks in GCP

Use of the --range flag creates legacy networks in GCP.

Legacy networks will not support new GCP features.

```release-note
NONE
```
2017-04-11 22:57:20 -07:00
Kubernetes Submit Queue ceccd305ce Merge pull request #42147 from bowei/ip-alias-2
Automatic merge from submit-queue

Add support for IP aliases for pod IPs (GCP alpha feature)

```release-note
Adds support for allocation of pod IPs via IP aliases.

# Adds KUBE_GCE_ENABLE_IP_ALIASES flag to the cluster up scripts (`kube-{up,down}.sh`).

KUBE_GCE_ENABLE_IP_ALIASES=true will enable allocation of PodCIDR ips
using the ip alias mechanism rather than using routes. This feature is currently
only available on GCE.

## Usage
$ CLUSTER_IP_RANGE=10.100.0.0/16 KUBE_GCE_ENABLE_IP_ALIASES=true bash -x cluster/kube-up.sh

# Adds CloudAllocator to the node CIDR allocator (kubernetes-controller manager).

If CIDRAllocatorType is set to `CloudCIDRAllocator`, then allocation
of CIDR allocation instead is done by the external cloud provider and
the node controller is only responsible for reflecting the allocation
into the node spec.

- Splits off the rangeAllocator from the cidr_allocator.go file.
- Adds cloudCIDRAllocator, which is used when the cloud provider allocates
  the CIDR ranges externally. (GCE support only)
- Updates RBAC permission for node controller to include PATCH
```
2017-04-11 22:09:24 -07:00
Bowei Du 079505023f Use auto mode networks instead of legacy networks in GCP
Use of the --range flag creates legacy networks in GCP.
2017-04-11 14:36:17 -07:00
Bowei Du 345c65847f Add KUBE_GCE_ENABLE_IP_ALIASES flag to the cluster turn up scripts.
KUBE_GCE_ENABLE_IP_ALIASES=true will enable allocation of PodCIDR ips
using the ip alias mechanism rather than using routes.

NODE_IP_RANGE will control the node instance IP cidr
KUBE_GCE_IP_ALIAS_SIZE controls the size of each podCIDR
IP_ALIAS_SUBNETWORK controls the name of the subnet created for the cluster
2017-04-11 14:07:50 -07:00
Mike Danese e8a3e2d87c delete ubuntu kube-up 2017-04-11 09:29:55 -07:00
Mike Danese 857b12cee0 delete ovirt kube-up
untouched since 2014.
2017-04-11 09:26:52 -07:00
Kubernetes Submit Queue b9a5a5c9b3 Merge pull request #42748 from dcbw/cfssl-localup
Automatic merge from submit-queue (batch tested with PRs 43866, 42748)

hack/cluster: download cfssl if not present

hack/local-up-cluster.sh uses cfssl to generate certificates and
will exit it cfssl is not already installed.  But other cluster-up
mechanisms (GCE) that generate certs just download cfssl if not
present.  Make local-up-cluster.sh do that too so users don't have
to bother installing it from somewhere.
2017-04-10 14:27:11 -07:00
Jacek N 84985327da Add namespace-{list, create, delete} actions to the kubernetes-master layer 2017-04-10 15:22:01 +01:00
Kubernetes Submit Queue 8d173c96ad Merge pull request #44178 from opsnull/master
Automatic merge from submit-queue

fix kubedns-sa.yaml missing "namespace: kube-system" value

The file kubedns-sa.yaml  missing `namespace: kube-system`,  so it will create ServiceAccount kube-dns in default namespace, this will cause kube-dns deployment's pods be blocked forever;

Some logs as following:

>     - lastTransitionTime: 2017-04-06T19:02:12Z
>       lastUpdateTime: 2017-04-06T19:02:12Z
>       message: 'unable to create pods: pods "kube-dns-699984412-" is forbidden: service
>         account kube-system/kube-dns was not found, retry after the service account

**Release note**:

```release-note
NONE
```
2017-04-07 00:18:43 -07:00
Kubernetes Submit Queue 0653751fb4 Merge pull request #44169 from mikedanese/fix
Automatic merge from submit-queue (batch tested with PRs 42025, 44169, 43940)

if we have a dedicated serviceaccount keypair, use it to verify serviceaccounts
2017-04-06 17:00:20 -07:00
Mike Danese e2d7e2c866 make salt return non-zero exit code on failure 2017-04-06 13:57:33 -07:00
opsnull 7978ad17a9 fix kubedns-sa.yaml missing "namespace: kube-system" value 2017-04-07 03:52:51 +08:00
Mike Danese ffcbe213c1 if we have a dedicated serviceaccount keypair, use it to verify serviceaccounts 2017-04-06 11:06:25 -07:00
Kubernetes Submit Queue b41e415ebd Merge pull request #43137 from shashidharatd/federation-domain
Automatic merge from submit-queue

[Federation] Remove FEDERATIONS_DOMAIN_MAP references

Remove all references to FEDERATIONS_DOMAIN_MAP as this method is no longer is used and is replaced by adding federation domain map to kube-dns configmap.

cc @madhusudancs @kubernetes/sig-federation-pr-reviews 

**Release note**:
```
[Federation] Mechanism of adding `federation domain maps` to kube-dns deployment via `--federations` flag is superseded by adding/updating `federations` key in `kube-system/kube-dns` configmap. If user is using kubefed tool to join cluster federation, adding federation domain maps to kube-dns is already taken care by `kubefed join` and does not need further action.
```
2017-04-06 02:05:42 -07:00
Jeff Grafton b0ae0d074e Make get-kube.sh work properly the "ci/latest" pointer 2017-04-05 15:02:10 -07:00
Kubernetes Submit Queue 0f10d6ccf2 Merge pull request #43996 from ncdc/proxy-shared-informers
Automatic merge from submit-queue

Use shared informers for proxy endpoints and service configs

Use shared informers instead of creating local controllers/reflectors
for the proxy's endpoints and service configs. This allows downstream
integrators to pass in preexisting shared informers to save on memory &
cpu usage.

This also enables the cache mutation detector for kube-proxy for those
presubmit jobs that already turn it on.

Follow-up to #43295 cc @wojtek-t 

Will race with #43937 for conflicting changes 😄 cc @thockin 

cc @smarterclayton @sttts @liggitt @deads2k @derekwaynecarr @eparis @kubernetes/rh-cluster-infra
2017-04-05 06:52:25 -07:00
Kubernetes Submit Queue 3b8e327924 Merge pull request #44049 from crassirostris/fluentd-es-remove-toleration
Automatic merge from submit-queue

Remove toleration from fluentd-elasticsearch

Fix https://github.com/kubernetes/kubernetes/issues/43795
Address comments from https://github.com/kubernetes/kubernetes/issues/42983

Fluentd-es doesn't work on master anyway, because it has no access to k8s services
2017-04-05 06:03:47 -07:00
Mik Vyatskov 30f22ad683 Remove toleration from fluentd-elasticsearch 2017-04-05 11:27:14 +02:00