Commit Graph

5236 Commits (2509ab0c7a5ceb140166ee33b288dabab7aa69e7)

Author SHA1 Message Date
Wojciech Tyczynski 3255898fba Fail etcd migration script if env var are unset 2017-02-08 10:40:24 +01:00
Wojciech Tyczynski 63531e56c5 Default TARGET_STORAGE to etcd3 in etcd manifest 2017-02-08 10:40:24 +01:00
Michael Taufen 982df56c52 Replace uses of --config with --pod-manifest-path 2017-02-07 14:32:37 -08:00
Kubernetes Submit Queue 5034d96bfb Merge pull request #40861 from lucab/to-k8s/bump-test-images
Automatic merge from submit-queue (batch tested with PRs 40345, 38183, 40236, 40861, 40900)

test: bump mounttest and mounttest-users images

This PR bumps two test images to latest versions:
 * mounttest to 0.8
 * mounttest-user to 0.5

It is a followup to https://github.com/kubernetes/kubernetes/pull/40613 and https://github.com/kubernetes/kubernetes/pull/40821.
2017-02-07 11:33:44 -08:00
Kubernetes Submit Queue 51901ef84a Merge pull request #40382 from liggitt/kube-dns-configmap
Automatic merge from submit-queue (batch tested with PRs 40382, 41060)

Make kube-dns mount optional configmap

Switches add-on templates to use an optional mounted configmap for dns

Uses options added in https://github.com/kubernetes/dns/pull/39

Blocks https://github.com/kubernetes/kubernetes/pull/38816
2017-02-07 02:36:05 -08:00
Kubernetes Submit Queue 5d0377d2e2 Merge pull request #41027 from dchen1107/master
Automatic merge from submit-queue (batch tested with PRs 40971, 41027, 40709, 40903, 39369)

Bump GCI to gci-beta-56-9000-80-0

cc/ @Random-Liu @adityakali 

Changelogs since gci-dev-56-8977-0-0 (currently used in Kubernetes):
 - "net.ipv4.conf.eth0.forwarding" and "net.ipv4.ip_forward" may get reset to 0
 - Track CVE-2016-9962 in Docker in GCI
 - Linux kernel CVE-2016-7097
 - Linux kernel CVE-2015-8964
 - Linux kernel CVE-2016-6828
 - Linux kernel CVE-2016-7917
 - Linux kernel CVE-2016-7042
 - Linux kernel CVE-2016-9793
 - Linux kernel CVE-2016-7039 and CVE-2016-8666
 - Linux kernel CVE-2016-8655
 - Toolbox: allow docker image to be loaded from local tarball
 - Update compute-image-package in GCI 
 - Change the product name on /etc/os-release (to COS)
 - Remove 'dogfood' from HWID_OVERRIDE in /etc/lsb-release
 - Include Google NVME extensions to optimize LocalSSD performance.
 - /proc/<pid>/io missing on GCI (enables process stats accounting)
 - Enable BLK_DEV_THROTTLING

cc/ @roberthbailey @fabioy for GKE cluster update
2017-02-06 20:57:14 -08:00
Vishnu kannan 10e7902a12 make fluentd a critical pod
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2017-02-06 12:16:32 -08:00
Dawn Chen e710891dbb Bump GCI to gci-beta-56-9000-80-0 2017-02-03 18:00:16 -08:00
Luca Bruno 85b1def175
test: update to use mounttest:0.8 and mounttest-user:0.5 2017-02-02 20:41:18 +00:00
Vishnu Kannan c967ab7b99 Avoid evicting critical pods in Kubelet if a special feature gate is enabled
Signed-off-by: Vishnu Kannan <vishnuk@google.com>
2017-02-02 11:32:20 -08:00
Vishnu Kannan f85bbcb78d update kube proxy critical pod annotation comments to reflect reality
Signed-off-by: Vishnu Kannan <vishnuk@google.com>
2017-02-02 10:41:24 -08:00
Kubernetes Submit Queue 2dc1586f11 Merge pull request #40719 from alindeman/kube-temp-exported
Automatic merge from submit-queue (batch tested with PRs 39169, 40719, 38954, 40808, 40689)

Exports KUBE_TEMP for use in Vagrantfile

In #40147, the logic for setting `KUBE_TEMP` was refactored into `common.sh`. However, it was overlooked that `KUBE_TEMP` [needs to be exported for vagrant to work properly](https://github.com/kubernetes/kubernetes/pull/40147/files#diff-b19d3d93456020e2168c7f304f722969).

This PR restores the `export` so that `Vagrantfile` can use `ENV["KUBE_TEMP"]` properly.

👀 @rthallisey @shyamjvs @timothysc
2017-02-02 02:05:19 -08:00
Kubernetes Submit Queue 1a95922be6 Merge pull request #39169 from remonlam/master
Automatic merge from submit-queue (batch tested with PRs 39169, 40719, 38954, 40808, 40689)

add systemd notify
2017-02-02 02:05:17 -08:00
Kubernetes Submit Queue 0477100f98 Merge pull request #33684 from fraenkel/port_forward_ws
Automatic merge from submit-queue

Add websocket support for port forwarding

#32880

**Release note**:
```release-note
Port forwarding can forward over websockets or SPDY.
```
2017-02-01 23:19:02 -08:00
Zach Loafman 49062897d2 Bump GCE to container-vm-v20170201
Addresses CVE-2016-9962
2017-02-01 15:45:40 -08:00
Jordan Liggitt f139645c20
Make kube-dns mount optional configmap 2017-02-01 16:55:47 -05:00
Kubernetes Submit Queue 0bb31560c2 Merge pull request #40776 from MrHohn/addon-manager-v6.4
Automatic merge from submit-queue (batch tested with PRs 40758, 39145, 40776)

Bumps addon-manager to v6.4-alpha.1 for supporting optional ConfigMap

From #40382. Bumps up addon-manager to use v1.6.0-alpha.1 kubectl for the optional ConfigMap feature. Below images have been pushed:
- gcr.io/google-containers/kube-addon-manager:v6.4-alpha.1
- gcr.io/google-containers/kube-addon-manager-amd64:v6.4-alpha.1
- gcr.io/google-containers/kube-addon-manager-arm:v6.4-alpha.1
- gcr.io/google-containers/kube-addon-manager-arm64:v6.4-alpha.1
- gcr.io/google-containers/kube-addon-manager-ppc64le:v6.4-alpha.1
- gcr.io/google-containers/kube-addon-manager-s390x:v6.4-alpha.1

@liggitt @bowei
2017-02-01 13:30:46 -08:00
Zihong Zheng c91d605124 Bumps addon-manager to v6.4-alpha.1 for supporting optional ConfigMap 2017-02-01 09:22:43 -08:00
Michael Fraenkel beb53fb71a Port forward over websockets
- split out port forwarding into its own package

Allow multiple port forwarding ports
- Make it easy to determine which port is tied to which channel
- odd channels are for data
- even channels are for errors

- allow comma separated ports to specify multiple ports

Add  portfowardtester 1.2 to whitelist
2017-02-01 06:32:04 -07:00
Kubernetes Submit Queue 1ed1ba44d5 Merge pull request #40274 from muteor/fix-libvirt-coreos-bin-permissions
Automatic merge from submit-queue (batch tested with PRs 40111, 40368, 40342, 40274, 39443)

Libvirt-coreos - Add execute permissions to kubernetes/bin

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

The master node was failing to start for me due to the permission errors on the kubernetes server binaries.

**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-01-31 19:18:42 -08:00
Kubernetes Submit Queue fd13413ba7 Merge pull request #40368 from sc68cal/patch/centos_name
Automatic merge from submit-queue (batch tested with PRs 40111, 40368, 40342, 40274, 39443)

Change OPENSTACK_IMAGE_NAME to be more specific

There may already be other images in the cloud named CentOS7,
but since we are fetching a very specific version (1604) we should
go ahead and make the image name very specific as well.



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

Some clouds already have `Centos7` as an image that is available, however it may not be the *specific* version that openstack-heat looks for and downloads from CentOS.

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

**Special notes for your reviewer**:

**Release note**:

```release-note 
OpenStack-Heat will now look for an image named "CentOS-7-x86_64-GenericCloud-1604". To restore the previous behavior set OPENSTACK_IMAGE_NAME="CentOS7"
```
2017-01-31 19:18:39 -08:00
Kubernetes Submit Queue 60c66dd3f4 Merge pull request #38772 from zmerlynn/kube-up-aws-dead
Automatic merge from submit-queue (batch tested with PRs 38772, 38797, 40732, 40740)

AWS: Deprecate the bash deployment

**What this PR does / why we need it**:  Add a strong deprecation warning to the `kube-up.sh` AWS deployment.

**Release note**:

```release-note
The bash AWS deployment via kube-up.sh has been deprecated. See http://kubernetes.io/docs/getting-started-guides/aws/ for alternatives.
```
2017-01-31 11:00:44 -08:00
Kubernetes Submit Queue 16164c6a54 Merge pull request #40711 from spxtr/owner
Automatic merge from submit-queue

Remove spxtr from several owners files, add rmmh as test reviewer.

**Release note**:
```release-note
NONE
```
2017-01-31 05:03:53 -08:00
Kubernetes Submit Queue f8f34187a7 Merge pull request #40707 from piosz/nanny-version
Automatic merge from submit-queue

Bumped version of addon resizer

ref https://github.com/kubernetes/contrib/issues/2337
2017-01-31 02:45:47 -08:00
Kubernetes Submit Queue 499bab1b99 Merge pull request #40713 from mml/force-new-cluster
Automatic merge from submit-queue (batch tested with PRs 40392, 39242, 40579, 40628, 40713)

Add --force-new-cluster when running etcd for migrations.

This is required to avoid etcd trying to create quorum during
migrations.

Might fix #40110
2017-01-31 01:16:56 -08:00
Kubernetes Submit Queue 70717dce15 Merge pull request #40691 from Cynerva/gkk/fix-master-ready-status
Automatic merge from submit-queue (batch tested with PRs 40691, 40551, 40683, 40700, 40702)

Juju kubernetes-master charm: improve status messages

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

This update to the kubernetes-master charm does the following:
1. Remove "Kubernetes master services ready" status which was occurring too early
2. Add "Waiting for kube-system pods to start" status
3. Replace "Rendering the Kubernetes DNS files." status with "Deploying KubeDNS"
4. Add "Waiting to retry KubeDNS deployment" status

The purpose of this is to give better feedback to the operator during cluster deployment.

**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/143, which we are tracking in a separate repository

**Special notes for your reviewer**:

This is a rebase of https://github.com/juju-solutions/kubernetes/pull/103, where prior review was done, though it was targeted against a fork.

**Release note**:

```release-note
Juju kubernetes-master charm: improve status messages
```
2017-01-30 19:14:39 -08:00
Andy Lindeman afb5e8ceb7
Exports KUBE_TEMP for use in Vagrantfile 2017-01-30 22:05:07 -05:00
Kubernetes Submit Queue d4c5aa2e3f Merge pull request #40093 from rthallisey/kubemark-makefile
Automatic merge from submit-queue (batch tested with PRs 40703, 40093, 40618, 40659, 39810)

Change kubemark Makefile to be provider independent

Ref issue #38967

The Kubemark Makefile is defaulted to gcr.io. Instead, make it
provider independent.

The kubemark makefile is set to push the kubemark image to the gcr.io registry. In order to make kubemark not as provider specific, allow the developer to choose a registry.
2017-01-30 17:14:52 -08:00
Matt Liggett cc7c142011 Add --force-new-cluster when running etcd for migrations.
This is required to avoid etcd trying to create quorum during
migrations.
2017-01-30 14:22:53 -08:00
Joe Finney 3ec286adda Remove spxtr from several owners files, add rmmh as test reviewer. 2017-01-30 13:45:21 -08:00
Piotr Szczesniak b2ea40fb97 Bumped version of addon resizer 2017-01-30 21:42:36 +01:00
Jorge O. Castro 1d6d9e13a3 Update Ubuntu OWNERS 2017-01-30 14:56:26 -05:00
George Kraft b0a9c00bbb improve status messages around KubeDNS 2017-01-30 10:09:10 -06:00
George Kraft a371b1bc27 Add "Waiting for kube-system pods to start" status message 2017-01-30 09:05:29 -06:00
George Kraft 5c5fa43700 Remove "Kubernetes master services ready." status message
This message was occurring prematurely - the master is running,
but the charm still has work to do. e.g. deploy KubeDNS.
2017-01-30 09:05:29 -06:00
George Kraft df48acb41d slightly clean up kubedns reactive step 2017-01-30 09:05:28 -06:00
Ryan Hallisey db9951b2ce Change kubemark Makefile to be provider independent
The Kubemark Makefile is defaulted to gcr.io. Instead, make it
provider independent.
2017-01-30 07:45:30 -05:00
Kubernetes Submit Queue 7ee9abe447 Merge pull request #40339 from noseka1/master
Automatic merge from submit-queue (batch tested with PRs 40549, 40339)

Invalid node names when deploying with Heat

OpenStack Heat templates create Kubernetes nodes with invalid
hostnames. Capital letters are not allowed in the hostnames:

Unable to register node "kubernetes-node-6s8OizYe" with API server: Node "kubernetes-node-6s8OizYe" is invalid: metadata.name: Invalid value: "kubernetes-node-6s8OizYe": must match the regex [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* (e.g. 'example.com')

This patch prevents Heat generating hostnames that contain
capital letters.



**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-01-29 23:52:07 -08:00
Kubernetes Submit Queue 3897fc00db Merge pull request #38926 from luxas/update_cross_go18
Automatic merge from submit-queue

Improve the multiarch situation; armel => armhf; reenable pcc64le; remove the patched golang

**What this PR does / why we need it**: 
 - Improves the multiarch situation as described in #38067 
 - Tries to bump to go1.8 for arm (and later enable ppc64le)
 - GOARM 6 => GOARM 7
 - Remove the golang 1.7 patch
 - armel => armhf
 - Bump QEMU version to v2.7.0

**Release note**:

```release-note
Improve the ARM builds and make hyperkube on ARM working again by upgrading the Go version for ARM to go1.8beta2
```

@kubernetes/sig-testing-misc @jessfraz @ixdy @jbeda @david-mcmahon @pwittrock
2017-01-28 03:51:19 -08:00
Kubernetes Submit Queue 25eb57ad5c Merge pull request #40584 from madhusudancs/federation-kubefed.sh
Automatic merge from submit-queue

Use a wrapper script to locate kubefed and kubectl binaries instead of directly constructing their paths.

This fixes the e2e failures that is now switched to using kubefed.

cc @kubernetes/sig-federation-pr-reviews
2017-01-27 19:19:34 -08:00
Kubernetes Submit Queue 29a7b6f826 Merge pull request #40554 from roberthbailey/chown
Automatic merge from submit-queue (batch tested with PRs 40497, 39769, 40554, 40569, 40597)

When calling chown, use : instead of . to separate the user and group for cross platform compatibility.

**What this PR does / why we need it**: Makes it possible to build on a Mac, which was broken by #39515. 

**Special notes for your reviewer**:

**Release note**:
`NONE`
2017-01-27 17:38:26 -08:00
Lucas Käldström 914824cc09
Update go version to go1.8rc2 and fix the addon-manager changelog 2017-01-27 22:44:18 +02:00
Kubernetes Submit Queue 0107e93cc6 Merge pull request #40557 from shyamjvs/refactor-returns
Automatic merge from submit-queue (batch tested with PRs 39469, 40557)

Refactored kubemark code into provider-specific and provider-independent parts [Part-1]

Applying part of the changes of PR https://github.com/kubernetes/kubernetes/pull/39033 (which refactored kubemark code completely). The changes included in this PR are:

The following are the major changes as part of this refactoring:
- Moved cluster-kubemark/config-default.sh -> cluster-kubemark/gce/config-default.sh (as the config is gce-specific)
- Changed kubernetes/cluster/kubemark/util.sh to source the right scripts based on the cloud-provider
- Added the file test/kubemark/cloud-provider-config.sh which sets the variable CLOUD_PROVIDER that is later picked up by various scripts (run-e2e-tests.sh, common.sh)
- Removed useless code and restructured start-kubemark.sh and stop-kubemark.sh scripts.

@kubernetes/sig-scalability-misc @wojtek-t @gmarek
2017-01-27 10:38:33 -08:00
Lucas Käldström 84006601a0
Upgrade go version in Makefiles to 1.7, use qemu 2.7, armel => armhf and goarm=6 => goarm=7 and use go 1.7.4 2017-01-27 20:04:24 +02:00
gmarek b51df7de67 add OWNERS to cluster/images/kubemark 2017-01-27 16:24:45 +01:00
Kubernetes Submit Queue e80da46b94 Merge pull request #40565 from bprashanth/glbc-version
Automatic merge from submit-queue (batch tested with PRs 40126, 40565, 38777, 40564, 40572)

Bump up glbc version to 0.9.0-beta.1

I plan to bump up the version to 0.9.0 proper in time for the next 1.5.x release, and cherry-pick both this and the future pr.

Previously we were just using a single version, but the "-beta/alpha" is consistent with how we release kube and gives us a convenient revert target. It also forces us to remove the "beta" tag before code freeze, and track the kubernetes release cycle.
2017-01-27 01:34:17 -08:00
Madhusudan.C.S baab2e37a9 Refactor the common parts of cluster/kube{ctl,adm}.sh into a util script. 2017-01-26 21:29:49 -08:00
bprashanth b1e0bd0fa4 Bump up glbc version to beta.1 2017-01-26 14:53:50 -08:00
Shyam Jeedigunta c62e5214c3 Refactored kubemark code into provider-specific and provider-independent parts [Part-1] 2017-01-26 22:54:14 +01:00
Robert Bailey a6c65f3035 When calling chown, use : instead of . to separate the user and
group for cross platform compatibility.
2017-01-26 13:39:06 -08:00
Kubernetes Submit Queue 2de4223cba Merge pull request #40353 from Crassirostris/fluentd-config-timestamp-fix
Automatic merge from submit-queue

Fix fluentd-gcp configuration to handle different timezones on the node

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

Probably a bug in the fluentd configuration
2017-01-26 09:21:35 -08:00
Kubernetes Submit Queue b1279a31b9 Merge pull request #40172 from liggitt/abac-upgrade
Automatic merge from submit-queue (batch tested with PRs 38739, 40480, 40495, 40172, 40393)

Use existing ABAC policy file when upgrading GCE cluster

When upgrading, continue loading an existing ABAC policy file so that existing system components continue working as-is

```
When upgrading an existing 1.5 GCE cluster using `cluster/gce/upgrade.sh`, an existing ABAC policy file located at /etc/srv/kubernetes/abac-authz-policy.jsonl (the default location in 1.5) will enable the ABAC authorizer in addition to the RBAC authorizer. To switch an upgraded 1.5 cluster completely to RBAC, ensure the control plane components and your superuser have been granted sufficient RBAC permissions, move the legacy ABAC policy file to a backup location, and restart the apiserver.
```
2017-01-25 21:20:32 -08:00
Kubernetes Submit Queue 52aa408aac Merge pull request #39784 from micmro/keystone-v3-support-for-openstack-heat
Automatic merge from submit-queue

Add support of Keystone v3 'domain-name' to 'openstack-heat' cluster setup

**What this PR does / why we need it**:
Keystone v3 authentication by user name [requires the domain (name or ID)](http://developer.openstack.org/api-ref/identity/v3/index.html?expanded=password-authentication-with-scoped-authorization-detail). If `domain-name` is not provided kubelet fails as seen below:
  
```
kubelet: error: failed to run Kubelet: could not init cloud provider "openstack": You must provide exactly one of DomainID or DomainName to authenticate by Username
systemd: kubelet.service: main process exited, code=exited, status=1/FAILURE
systemd: Unit kubelet.service entered failed state.
systemd: kubelet.service failed.
```

To solve this I pass a new`OS_USER_DOMAIN_NAME` environment variable through openstack-heat's heat-templates to write it as `domain-name` in `/srv/kubernetes/openstack.conf`. 

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

**Special notes for your reviewer**:

**Release note**:

```
domain-name support for Keystone v3 added to openstack-heat cluster setup
```
2017-01-25 19:30:32 -08:00
Kubernetes Submit Queue 75c6990966 Merge pull request #39462 from Shawyeok/master
Automatic merge from submit-queue

Able to quick create a HA cluster by kube-up.sh centos provider

Make `kube-up.sh` `centos provider` support quick create a HA cluster, as I said above [#39430](https://github.com/kubernetes/kubernetes/issues/39430), it's more flexible than `kops` or `kubeadm` for some people in a limited network region.

I'm new to k8s dev, so if this pull request need to change, please let me know.

```release-note
Added support for creating HA clusters for centos using kube-up.sh.
```
2017-01-25 16:40:57 -08:00
Kubernetes Submit Queue d98615db9a Merge pull request #40089 from sc68cal/install_docs
Automatic merge from submit-queue

[OpenStack-Heat] Add link to the OpenStack CLI install documentation

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

More helpful diagnostic text 

**Special notes for your reviewer**:

Trivial patch

**Release note**:

```release-note
NONE
```
2017-01-25 15:55:00 -08:00
Jordan Liggitt a7f52b276f
Add test shell stack traces 2017-01-25 13:34:16 -05:00
shawyeok 78170bf113 kube-up.sh centos provider support create a HA cluster
Fix: cannot get default master advertise address correctly

Set default value of NUM_MASTERS and NUM_NODES by MASTERS and NODES themself

Code cleanup and documented

Using runtime reconfiguration for etcd cluster instead of etcd discovery

Add exceptions for verify-flags
2017-01-25 22:53:27 +08:00
Shyam Jeedigunta b48de58311 Added OWNERS to kubemark subdirectories 2017-01-25 14:37:57 +01:00
Michael Mrowetz 5bdae77e0c add default for OS_USER_DOMAIN_NAME 2017-01-25 10:46:47 +09:00
Michael Mrowetz 87ee6b34ce pass openstack-heat OS_USER_DOMAIN_NAME config to domain-name in openstack.conf 2017-01-25 10:39:49 +09:00
Kubernetes Submit Queue 84e98251ed Merge pull request #40315 from madhusudancs/fed-log-uniq-cluster-names
Automatic merge from submit-queue (batch tested with PRs 40335, 40320, 40324, 39103, 40315)

Use the e2e zone name as the cluster name.

This needs a revamp, but for now e2e zone name is used as the
unique cluster identifier in our e2e tests and we will continue
to use that pattern.

This is a follow up to PR #38638.

cc @kubernetes/sig-federation-pr-reviews @nikhiljindal
2017-01-24 17:30:10 -08:00
Kubernetes Submit Queue e3ba25714f Merge pull request #40324 from chuckbutler/upstream-rebase-forreal
Automatic merge from submit-queue (batch tested with PRs 40335, 40320, 40324, 39103, 40315)

Splitting master/node services into separate charm layers

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

This branch includes a roll-up series of commits from a fork of the
Kubernetes repository pre 1.5 release because we didn't make the code freeze.
This additional effort has been fully tested and has results submit into
the gubernator to enhance confidence in this code quality vs. the single
layer, posing as both master/node.

To reference the gubernator results, please see:
https://k8s-gubernator.appspot.com/builds/canonical-kubernetes-tests/logs/kubernetes-gce-e2e-node/

Apologies in advance for the large commit however, we did not want to
submit without having successful upstream automated testing results.

This commit includes:

 - Support for CNI networking plugins
 - Support for durable storage provided by Ceph
 - Building from upstream templates (read: kubedns - no more template
 drift!)
 - An e2e charm-layer to make running validation tests much simpler/repeatable
 - Changes to support the 1.5.x series of Kubernetes



**Special notes for your reviewer**:

Additional note: We will be targeting -all- future work against upstream
so large pull requests of this magnitude will not occur again.

**Release note**:




```release-note
- Splits Juju Charm layers into master/worker roles
- Adds support for 1.5.x series of Kubernetes
- Introduces a tactic for keeping templates in sync with upstream eliminating template drift
- Adds CNI support to the Juju Charms
- Adds durable storage support to the Juju Charms
- Introduces an e2e Charm layer for repeatable testing efforts and validation of clusters

```
2017-01-24 17:30:06 -08:00
Kubernetes Submit Queue 7fbb458f6d Merge pull request #40213 from jszczepkowski/ha-e2e-tests
Automatic merge from submit-queue (batch tested with PRs 39260, 40216, 40213, 40325, 40333)

Fixed propagation of kube master certs during master replication.

Fixed propagation of kube-master-certs during master replication.
2017-01-24 16:26:02 -08:00
Kubernetes Submit Queue 6dbad57bce Merge pull request #37264 from yuanying/use-lowercase-character
Automatic merge from submit-queue (batch tested with PRs 39275, 40327, 37264)

Fix invalid node name in openstack-heat provider

Cluster node name must follow name syntax in RFC 1123.
But currently, openstack-heat provider generate invalid
node name which contains upper-case characters.
This patch fixes it.
2017-01-24 10:52:12 -08:00
Madhusudan.C.S 63dfa129f4 Use the e2e zone name as the cluster name.
This needs a revamp, but for now e2e zone name is used as the
unique cluster identifier in our e2e tests and we will continue
to use that pattern.
2017-01-24 10:50:51 -08:00
Kubernetes Submit Queue 054c84e22f Merge pull request #40299 from lucab/to-k8s/rkt-1.23.0
Automatic merge from submit-queue (batch tested with PRs 40299, 40311)

cluster: update default rkt version to 1.23.0

This updates cluster configurations to current stable rkt version.
2017-01-24 08:59:57 -08:00
Sean M. Collins 8a4038a2e1 Change OPENSTACK_IMAGE_NAME to be more specific
There may already be other images in the cloud named CentOS7,
but since we are fetching a very specific version (1604) we should
go ahead and make the image name very specific as well.
2017-01-24 11:53:10 -05:00
Matt Bruzek 3fcf279cfb Splitting master/node services into separate charm layers
This branch includes a rollup series of commits from a fork of the
kubernetes repository pre 1.5 release because we didn't make the code freeze.
This additional effort has been fully tested and has results submit into
the gubernator to enhance confidence in this code quality vs. the single
layer, posing as both master/node.

To reference the gubernator results, please see:
https://k8s-gubernator.appspot.com/builds/canonical-kubernetes-tests/logs/kubernetes-gce-e2e-node/

Apologies in advance for the large commit, however we did not want to
submit without having successful upstream automated testing results.

This commit includes:

 - Support for CNI networking plugins
 - Support for durable storage provided by ceph
 - Building from upstream templates (read: kubedns - no more template
 drift!)
 - An e2e charm-layer to make running validation tests much simpler/repeatable
 - Changes to support the 1.5.x series of kubernetes

Additional note: We will be targeting -all- future work against upstream
so large pull requests of this magnitude will not occur again.
2017-01-24 09:42:25 -06:00
Mik Vyatskov 7b194d496f Fix fluentd-gcp configuration to handle different timezones on the node 2017-01-24 11:53:15 +01:00
Wojciech Tyczynski fbd5c7c380 Revert "Refactored kubemark into cloud-provider independent code and GCE specific code" 2017-01-24 10:42:17 +01:00
Ales Nosek 307a7556da Invalid node names when deploying with Heat
OpenStack Heat templates create Kubernetes nodes with invalid
hostnames. Capital letters are not allowed in the hostnames:

Unable to register node "kubernetes-node-6s8OizYe" with API server: Node "kubernetes-node-6s8OizYe" is invalid: metadata.name: Invalid value: "kubernetes-node-6s8OizYe": must match the regex [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* (e.g. 'example.com')

This patch prevents Heat generating hostnames that contain
capital letters.
2017-01-23 18:34:32 -08:00
Clayton Coleman 469df12038
refactor: move ListOptions references to metav1 2017-01-23 17:52:46 -05:00
Kubernetes Submit Queue da14a4d836 Merge pull request #40309 from apelisse/complete-owners
Automatic merge from submit-queue

OWNERS: Update latest OWNERS files

These files have been created lately, so we don't have much information
about them anyway, so let's just:
- Remove assignees and make them approvers
- Copy approves as reviewers
2017-01-23 11:24:51 -08:00
Kubernetes Submit Queue 7065c477cb Merge pull request #40251 from mml/sudo
Automatic merge from submit-queue (batch tested with PRs 40251, 40171)

Only run gcloud as root if we plan to change something.

Only run gcloud as root if we plan to change something.

Fixes bug introduced in #36292 @jlowdermilk @ixdy
2017-01-23 11:24:06 -08:00
Antoine Pelisse 62af7dd33d OWNERS: Update latest OWNERS files
These files have been created lately, so we don't have much information
about them anyway, so let's just:
- Remove assignees and make them approvers
- Copy approves as reviewers
2017-01-23 10:05:48 -08:00
Luca Bruno b4bc44b9ff
cluster: update default rkt version to 1.23.0 2017-01-23 15:22:33 +00:00
Kubernetes Submit Queue 920d8fd024 Merge pull request #36250 from apprenda/win_kube_scripts
Automatic merge from submit-queue

Powershell script to start kubelet and kube-proxy

**What this PR does / why we need it**:
This PR adds a powershell script to run kubelet and kube-proxy on Windows. It expects the required arguments like `API Server` location and uses appropriate defaults.

**Which issue this PR fixes** : 
fixes # https://github.com/kubernetes/kubernetes/issues/34270

**Special notes for your reviewer**:
This PR is for supporting Windows Server Containers for k8s, the work for which is covered under https://github.com/kubernetes/features/issues/116
This PR should be merged after https://github.com/kubernetes/kubernetes/pull/31707 and https://github.com/kubernetes/kubernetes/pull/36079 PRs are merged

**Release note**:

```release-note
```
2017-01-23 02:28:39 -08:00
Keith Pope ce778bf53b Add execute permissions to the kubernetes/bin as master was failing to start due to permission denied 2017-01-22 16:00:04 +00:00
Mik Vyatskov cd4ee14019 Fix Elasticsearch image for logging and bump version 2017-01-21 17:48:32 +01:00
Matt Liggett 0a4981ebf4 Only run gcloud as root if we plan to change something. 2017-01-20 17:18:05 -08:00
Kubernetes Submit Queue 21f021449d Merge pull request #40232 from mikedanese/gce-signer
Automatic merge from submit-queue

pass CA key to signer in GCE
2017-01-20 14:16:31 -08:00
Mike Danese 513994a9f8 pass CA key to signer in GCE 2017-01-20 11:10:19 -08:00
Kubernetes Submit Queue c752a03bed Merge pull request #40011 from vwfs/optional_cachebust
Automatic merge from submit-queue (batch tested with PRs 40011, 40159)

Make CACHEBUST for hyperkube build optional

**What this PR does / why we need it**: It makes CACHEBUST for the hyperkube build optional. Currently, building the hyperkube always results in a full rebuild, including retrieving and installing of all debian packages. This is a good thing for releases, but makes live as a dev hard.

This allows to do something like this:
```
$ REGISTRY=<registry> VERSION=<version> CACHEBUST=0 ./hack/dev-push-hyperkube.sh
```

Probably we should even make CACHEBUST=0 the default when calling dev-xxx.sh scripts.

CC: @aaronlevy
2017-01-20 10:48:43 -08:00
Kubernetes Submit Queue 093ceb9528 Merge pull request #39033 from shyamjvs/provider-independent-kubemark
Automatic merge from submit-queue (batch tested with PRs 36693, 40154, 40170, 39033)

Refactored kubemark into cloud-provider independent code and GCE specific code

Ref issue #38967 

The following are the major changes as part of this refactoring:
- Moved cluster-kubemark/config-default.sh -> cluster-kubemark/gce/config-default.sh (as the config is gce-specific)
- Changed kubernetes/cluster/kubemark/util.sh to source the right scripts based on the cloud-provider
- Added test/kubemark/skeleton/util.sh which defines a well-commented interface that any cloud-provider should implement to run kubemark. (We have this interface defined only for gce currently)
  This includes functions like creating the master machine instance along with its resources, executing a given command on the master (like ssh), scp, deleting the master instance and its resources.
  All these functions have to be overrided by each cloud provider inside the file /test/kubemark/$CLOUD_PROVIDER/util.sh
- Added the file test/kubemark/cloud-provider-config.sh which sets the variable CLOUD_PROVIDER that is later picked up by various scripts (start-kubemark.sh, stop-kubemark.sh, run-e2e-tests.sh)
- Removed test/kubemark/common.sh and moved whatever provider-independent code it had into start-kubemark.sh (the only place where the scipt is called) and moved the little gce-specific code
  into test/kubemark/gce/util.sh.
- Finally, removed useless code and restructured start-kubemark.sh and stop-kubemark.sh scripts.

@kubernetes/sig-scalability-misc @wojtek-t @gmarek
2017-01-20 09:18:54 -08:00
Kubernetes Submit Queue 22a405055d Merge pull request #40170 from deads2k/client-10-restclient
Automatic merge from submit-queue (batch tested with PRs 36693, 40154, 40170, 39033)

make client-go authoritative for pkg/client/restclient

Moves client/restclient to client-go and a util/certs, util/testing as transitives.
2017-01-20 09:18:52 -08:00
Kubernetes Submit Queue 1430597f7e Merge pull request #39966 from liggitt/cert-users
Automatic merge from submit-queue (batch tested with PRs 40168, 40165, 39158, 39966, 40190)

Include system:masters group in the bootstrap admin client certificate

Sets up the bootstrap admin client certificate for new clusters to be in the system:masters group

Removes the need for an explicit grant to the kubecfg user in e2e-bindings

```release-note
The default client certificate generated by kube-up now contains the superuser `system:masters` group
```
2017-01-20 08:28:51 -08:00
deads2k ee6752ef20 find and replace 2017-01-20 08:04:53 -05:00
Jerzy Szczepkowski d1a73fa5cd Fixed propagation of kube master certs during master replication.
Fixed propagation of kube master certs during master replication.
2017-01-20 13:24:09 +01:00
Kubernetes Submit Queue 0610a23986 Merge pull request #40164 from apelisse/update-root-approvers-files
Automatic merge from submit-queue

Update root approvers files

Replaces #40040 

Update top level OWNERS files mostly to set assignees to approvers. Also remove @bgrant0607 from everywhere but the very top level OWNERS file.
2017-01-19 17:02:18 -08:00
Jordan Liggitt e6a63c8f40
Use existing ABAC policy file when upgrading GCE cluster 2017-01-19 16:46:08 -05:00
Kubernetes Submit Queue cc2250cb98 Merge pull request #40147 from rthallisey/common-ensure-temp-dir
Automatic merge from submit-queue

Use ensure-temp-dir in the common.sh script

Ref issue #38967

Instead of having an ensure-temp-dir function in multiple
places, add it to the common.sh script which is sourced by
all the providers.
2017-01-19 11:57:35 -08:00
Garrett Rodrigues ad1e5e98c2 Updated top level owners file to match new format 2017-01-19 11:29:16 -08:00
thomasschickinger 42fbf93fb0 Add rule for detecting exceptions to fluentd config for GKE logging.
Bump version of gcp-fluentd container to 1.34
2017-01-19 15:51:47 +01:00
Shyam Jeedigunta d2fadbe30f Refactored kubemark code into provider-specific and provider-independent parts 2017-01-19 15:34:13 +01:00
Ryan Hallisey dbb92f9836 Use ensure-temp-dir in the common.sh script
Instead of having an ensure-temp-dir function in multiple
places, add it to the common.sh script which is sourced by
all the providers.
2017-01-19 09:30:50 -05:00
Kubernetes Submit Queue 5e4625cad7 Merge pull request #40017 from Crassirostris/fluentd-gcp-image-fix
Automatic merge from submit-queue (batch tested with PRs 40003, 40017)

Remove library copying from fluentd image

It seems that fluentd can no longer copy systemd libraries from host to be able to read journals.
2017-01-19 05:54:08 -08:00
Kubernetes Submit Queue 29e2d8be09 Merge pull request #40113 from maisem/cos
Automatic merge from submit-queue

Adding cos as an alias for gci.

**What this PR does / why we need it**: Adding COS as an alias for GCI.

cc: @adityakali @wonderfly
2017-01-18 18:40:43 -08:00
Kubernetes Submit Queue 0c61553cbc Merge pull request #40105 from sc68cal/bugs/40102
Automatic merge from submit-queue (batch tested with PRs 40105, 40095)

[OpenStack-Heat] Fix regex used to get object-store URL

**Release note**:

```release-note

Fixes a bug in the OpenStack-Heat kubernetes provider, in the handling of differences between the Identity v2 and Identity v3 APIs

```
2017-01-18 15:54:08 -08:00
Maisem Ali 52b6c9bb41 Adding cos as an alias for gci. 2017-01-18 15:14:25 -08:00
Kubernetes Submit Queue b29d9cdbcf Merge pull request #39898 from ixdy/bazel-release-tars
Automatic merge from submit-queue

Build release tars using bazel

**What this PR does / why we need it**: builds equivalents of the various kubernetes release tarballs, solely using bazel.

For example, you can now do
```console
$ make bazel-release
$ hack/e2e.go -v -up -test -down
```

**Special notes for your reviewer**: this is currently dependent on 3b29803eb5, which I have yet to turn into a pull request, since I'm still trying to figure out if this is the best approach.

Basically, the issue comes up with the way we generate the various server docker image tarfiles and load them on nodes:
* we `md5sum` the binary being encapsulated (e.g. kube-proxy) and save that to `$binary.docker_tag` in the server tarball
* we then build the docker image and tag using that md5sum (e.g. `gcr.io/google_containers/kube-proxy:$MD5SUM`)
* we `docker save` this image, which embeds the full tag in the `$binary.tar` file.
* on cluster startup, we `docker load` these tarballs, which are loaded with the tag that we'd created at build time. the nodes then use the `$binary.docker_tag` file to find the right image.

With the current bazel `docker_build` rule, the tag isn't saved in the docker image tar, so the node is unable to find the image after `docker load`ing it.

My changes to the rule save the tag in the docker image tar, though I don't know if there are subtle issues with it. (Maybe we want to only tag when `--stamp` is given?)

Also, the docker images produced by bazel have the timestamp set to the unix epoch, which is not great for debugging. Might be another thing to change with a `--stamp`.

Long story short, we probably need to follow up with bazel folks on the best way to solve this problem.

**Release note**:

```release-note
NONE
```
2017-01-18 14:24:48 -08:00