Commit Graph

294 Commits (70f47a7975d17cf018ed54d6f5631bd2d1ca1f1e)

Author SHA1 Message Date
George Kraft c21b305fe9 Fix kubernetes charms not restarting services after snap upgrades 2017-07-03 09:47:08 -05:00
Konstantinos Tsakalozos e2571a853a Non leaders should overwrite any local copies of keys they have with what the leader has. 2017-07-03 17:45:43 +03:00
Konstantinos Tsakalozos cd34d8f80d Ensure get_password is accessing a file that exists. 2017-06-30 20:24:35 +03:00
Kubernetes Submit Queue d19773d855 Merge pull request #47835 from juju-solutions/feature/security
Automatic merge from submit-queue (batch tested with PRs 47850, 47835, 46197, 47250, 48284)

Securing the cluster created by Juju

**What this PR does / why we need it**: This PR secures the deployments done with Juju master. Works around certain security issues inherent to kubernetes (see for example dashboard access)

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

```
Securing Juju kubernetes dashboard
```
2017-06-29 15:16:39 -07:00
Konstantinos Tsakalozos 0525b84a45 Disable anonymous-auth 2017-06-28 10:47:45 +03:00
Kubernetes Submit Queue 89579c45a4 Merge pull request #48054 from juju-solutions/bug/terminate-etcd
Automatic merge from submit-queue (batch tested with PRs 48139, 48042, 47645, 48054, 48003)

Add a failsafe for etcd not returning a connection string

**What this PR does / why we need it**: Removing a kubernetes-master will fail as described on this issue: https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/311

**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/311

**Special notes for your reviewer**: This is a two liner defensive code. I am not totally sold on this patch. I might not be the right place to address the above issue. However, solving the problem on the etcd side and updating the interface scope to be unit (as suggested) seems much more involving.

**Release note**:

```
Fix error when removing juju kubernetes-master unit
```
2017-06-27 14:08:19 -07:00
Kubernetes Submit Queue d65b87a00d Merge pull request #47847 from chuckbutler/cluster-juju-approvers
Automatic merge from submit-queue

Insert Cynerva and Kjackal to approvers list

**What this PR does / why we need it**:
Per the membership reviews, we're looking to promote Konstantinos and
George to approvers to help distribute the review/bug load for the `cluster/juju` code
tree.

**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**:
cc @marcoceppi and @tvansteenburgh 

**Release note**:

```release-note
NONE
```
2017-06-27 08:36:30 -07:00
Konstantinos Tsakalozos 0b01cd743b Improve security of Juju deployed clusters 2017-06-27 12:19:21 +03:00
Kubernetes Submit Queue 9a4a0cb31d Merge pull request #47178 from ktsakalozos/bug/worker-labels
Automatic merge from submit-queue (batch tested with PRs 48012, 47443, 47702, 47178)

Fix setting juju worker labels during deployment

**What this PR does / why we need it**: Allows for setting the labels of juju workers during deployment (eg inside a bundle)

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

**Special notes for your reviewer**:

**Release note**:

```
Fix bug in setting Juju kubernetes-worker labels in bundle.yaml files. 
```
2017-06-26 17:48:06 -07:00
Kubernetes Submit Queue ec1fcbed74 Merge pull request #47170 from ktsakalozos/bug/restart
Automatic merge from submit-queue (batch tested with PRs 47860, 47170)

Fix restart action on juju kubernetes-master

**What this PR does / why we need it**: Restart action of kubernetes-master of Juju is not functioning. 

**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/299

**Special notes for your reviewer**:

**Release note**:

```
Fix: Restart action of juju's kubernetes-master restarts the respective snap based services
```
2017-06-26 14:03:06 -07:00
Konstantinos Tsakalozos b3a1115796 Add a failsafe for etcd not returning a connection string 2017-06-26 13:00:17 +03:00
Charles Butler 28d1810cfe Insert Cynerva and Kjackal to approvers list
Per the membership reviews we're looking to promote Konstantinos and
George to approvers to help distribute the review/bug load for the juju code
tree.
2017-06-21 10:40:59 -05:00
George Kraft 02d0830594 Fix Juju kubernetes-master idle_status never being called 2017-06-16 14:48:31 -05:00
Kubernetes Submit Queue e72c64b7e3 Merge pull request #46987 from Cynerva/gkk/rm-initializers-before-1.7
Automatic merge from submit-queue

Remove Initializers from admission-control in kubernetes-master charm for pre-1.7

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

This fixes a problem with the kubernetes-master charm where kube-apiserver never comes up:

```
failed to initialize admission: Unknown admission plugin: Initializers
```

The Initializers plugin does not exist before Kubernetes 1.7. The charm needs to support 1.6 as well.

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

**Special notes for your reviewer**:

This fixes a problem introduced by https://github.com/kubernetes/kubernetes/pull/36721

**Release note**:

```release-note
Remove Initializers from admission-control in kubernetes-master charm for pre-1.7
```
2017-06-08 09:00:57 -07:00
Charles Butler 678c4bc8d4 Fixes 47182
This adds additional state guardsof  the idle_status method, which will
prevent it from being run until a worker has joined the relationship.
Previous invocations may have some message artifacting, but will reach
eventual consistency once a worker has joined.

This prevents the polling loop from executing too soon, bloating the
installation time by bare-minimum an additional 10 minutes.
2017-06-08 09:25:58 -05:00
Konstantinos Tsakalozos 2958118707 Fix setting juju worker labels during deployment 2017-06-08 16:27:05 +03:00
Konstantinos Tsakalozos 1b88d08ef4 Fix restart action on juju kubernetes-master 2017-06-08 12:24:24 +03:00
George Kraft e52a888814 Remove initializers from juju admission-control for 1.6 and earlier 2017-06-05 13:40:35 -05:00
Clayton Coleman 4ce3907639
Add Initializers to all admission control paths by default 2017-06-02 22:09:04 -04:00
George Kraft d50b69442e Fix lint failures on kubernetes-e2e charm 2017-05-15 13:22:55 -05: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
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 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
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 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
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
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 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
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
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 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
Konstantinos Tsakalozos d228609dca Send dns details only after cdk-addons are configured 2017-04-26 10:35:27 +03: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
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
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
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
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 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
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
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
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
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
Matt Bruzek 7f3f05e101 Fixing the README to use the containers namespace. 2017-04-13 12:05:39 -05: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 3a3dc827e4 Merge pull request #43467 from tvansteenburgh/gpu-support
Automatic merge from submit-queue (batch tested with PRs 44047, 43514, 44037, 43467)

Juju: Enable GPU mode if GPU hardware detected

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

Automatically configures kubernetes-worker node to utilize GPU hardware when such hardware is detected.

layer-nvidia-cuda does the hardware detection, installs CUDA and Nvidia
drivers, and sets a state that the k8s-worker can react to.

When gpu is available, worker updates config and restarts kubelet to
enable gpu mode. Worker then notifies master that it's in gpu mode via
the kube-control relation.

When master sees that a worker is in gpu mode, it updates to privileged
mode and restarts kube-apiserver.

The kube-control interface has subsumed the kube-dns interface
functionality.

An 'allow-privileged' config option has been added to both worker and
master charms. The gpu enablement respects the value of this option;
i.e., we can't enable gpu mode if the operator has set
allow-privileged="false".

**Special notes for your reviewer**:

Quickest test setup is as follows:
```bash
# Bootstrap. If your aws account doesn't have a default vpc, you'll need to
# specify one at bootstrap time so that juju can provision a p2.xlarge.
# Otherwise you can leave out the --config "vpc-id=vpc-xxxxxxxx" bit.
juju bootstrap --config "vpc-id=vpc-xxxxxxxx" --constraints "cores=4 mem=16G root-disk=64G" aws/us-east-1 k8s

# Deploy the bundle containing master and worker charms built from
# https://github.com/tvansteenburgh/kubernetes/tree/gpu-support/cluster/juju/layers
juju deploy cs:~tvansteenburgh/bundle/kubernetes-gpu-support-3

# Setup kubectl locally
mkdir -p ~/.kube
juju scp kubernetes-master/0:config ~/.kube/config
juju scp kubernetes-master/0:kubectl ./kubectl

# Download a gpu-dependent job spec
wget -O /tmp/nvidia-smi.yaml https://raw.githubusercontent.com/madeden/blogposts/master/k8s-gpu-cloud/src/nvidia-smi.yaml

# Create the job
kubectl create -f /tmp/nvidia-smi.yaml

# You should see a new nvidia-smi-xxxxx pod created
kubectl get pods

# Wait a bit for the job to run, then view logs; you should see the
# nvidia-smi table output
kubectl logs $(kubectl get pods -l name=nvidia-smi -o=name -a)
```

kube-control interface: https://github.com/juju-solutions/interface-kube-control
nvidia-cuda layer: https://github.com/juju-solutions/layer-nvidia-cuda
(Both are registered on http://interfaces.juju.solutions/)

**Release note**:
```release-note
Juju: Enable GPU mode if GPU hardware detected
```
2017-04-04 14:33:26 -07:00
Kubernetes Submit Queue 12fbc9083e Merge pull request #43625 from mbruzek/cdk-load-balancer-update
Automatic merge from submit-queue

Adding more proxy options and header to nginx load-balancer.

**What this PR does / why we need it**: The kubeapi-load-balancer uses nginx to proxy commands to the kube-apiserver. It currently does not support SPDY and therefore the `kubectl exec` command is broken.

**Which issue this PR fixes** : 
fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/226
fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/201

**Special notes for your reviewer**: This only changes the nginx configuration no code change was required.

**Release note**:
```release-note
Using http2 in kubeapi-load-balancer to fix kubectl exec uses
```
2017-04-04 08:03:44 -07:00
Konstantinos Tsakalozos 12a5c3a2f3 Fixing bug: non-leaders should retry fetching auth keys 2017-03-27 16:59:43 +03:00
Kubernetes Submit Queue ba63cb4538 Merge pull request #42903 from krousey/owners
Automatic merge from submit-queue

Remove krousey from some OWNERS files
2017-03-24 10:26:40 -07:00
Kubernetes Submit Queue f5d3126fca Merge pull request #42035 from timchenxiaoyu/enableerror
Automatic merge from submit-queue

enable error

enable word error
2017-03-24 10:25:13 -07:00
Kubernetes Submit Queue ff353231ec Merge pull request #42102 from timchenxiaoyu/kubltworderror
Automatic merge from submit-queue

kubelet word mistake
2017-03-24 10:25:06 -07:00
Konstantinos Tsakalozos 533d4bfd54 Fixes: 1. Get certs for a dead leader. 2. Append tokens. 2017-03-24 12:46:55 +02:00
Matt Bruzek 71f583ebe4 Adding more proxy options and header to nginx load-balancer. 2017-03-23 16:14:02 -05:00
Tim Van Steenburgh c87ac5ef2e Enable gpu mode if gpu hardware detected.
layer-nvidia-cuda does the hardware detection and sets a state that the
worker can react to.

When gpu is available, worker updates config and restarts kubelet to
enable gpu mode. Worker then notifies master that it's in gpu mode via
the kube-control relation.

When master sees that a worker is in gpu mode, it updates to privileged
mode and restarts kube-apiserver.

The kube-control interface has subsumed the kube-dns interface
functionality.

An 'allow-privileged' config option has been added to both worker and
master charms. The gpu enablement respects the value of this option;
i.e., we can't enable gpu mode if the operator has set
allow-privileged="false".
2017-03-23 12:01:23 -04:00
Jordan Liggitt bc539151f3
Keep ResourceQuota admission at the end of the chain 2017-03-21 01:53:11 -04:00
Kris ee4227f4bf Remove krousey from some OWNERS files 2017-03-10 11:12:29 -08:00
Zihong Zheng 3acff7d3ef Update startup scripts for kube-dns ConfigMap and ServiceAccount 2017-03-09 11:10:23 -08:00
Kubernetes Submit Queue 5b8d600d72 Merge pull request #41919 from Cynerva/gkk/kubelet-auth
Automatic merge from submit-queue (batch tested with PRs 41919, 41149, 42350, 42351, 42285)

Juju: Disable anonymous auth on kubelet

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

This disables anonymous authentication on kubelet when deployed via Juju.

I've also adjusted a few other TLS options for kubelet and kube-apiserver. The end result is that:
1. kube-apiserver can now authenticate with kubelet
2. kube-apiserver now verifies the integrity of kubelet

**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/juju-solutions/bundle-canonical-kubernetes/issues/219

**Special notes for your reviewer**:

This is dependent on PR #41251, where the tactics changes are being merged in separately.

Some useful pages from the documentation:
* [apiserver -> kubelet](https://kubernetes.io/docs/admin/master-node-communication/#apiserver---kubelet)
* [Kubelet authentication/authorization](https://kubernetes.io/docs/admin/kubelet-authentication-authorization/)

**Release note**:

```release-note
Juju: Disable anonymous auth on kubelet
```
2017-03-03 16:44:37 -08:00
Kubernetes Submit Queue 336203a69b Merge pull request #41923 from Cynerva/gkk/juju-nrpe-relation-squash
Automatic merge from submit-queue (batch tested with PRs 42162, 41973, 42015, 42115, 41923)

add nrpe-external-master relation to kubernetes-master and kubernetes-worker

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

This PR adds an an nrpe-external-master relation to the kubernetes-worker, kubernetes-master and kubeapi-load-balancer charms. This is needed to monitor the state of the workers, the masters and the load-balancers via Nagios.

**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/juju-solutions/bundle-canonical-kubernetes/issues/165

**Special notes for your reviewer**:

Original work by @axinojolais in PR #40897. All I've done is squash commits on his behalf.

**Release note**:

```release-note
The kubernetes-master, kubernetes-worker and kubeapi-load-balancer charms have gained an nrpe-external-master relation, allowing the integration of their monitoring in an external Nagios server.
```
2017-02-28 22:06:05 -08:00
George Kraft 27504d8aca Juju: Disable anonymous auth on kubelet
Adds TLS verification between kube-apiserver and kubelet in both directions
2017-02-27 09:02:24 -06:00
Kubernetes Submit Queue 4f277b480d Merge pull request #42058 from Cynerva/gkk/fix-action-shebangs
Automatic merge from submit-queue (batch tested with PRs 42058, 41160, 42065, 42076, 39338)

Juju: Fix shebangs in charm actions to use python3

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

This fixes the microbot and create-rbd-pv actions by reverting them back to python3. We accidentally switched them to python2 to match the boilerplate checker's expectations for python files.

It looks like hack/verify-boilerplate.sh does not check these since they don't have the .py extension, so we should be good with no changes there.

**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/juju-solutions/bundle-canonical-kubernetes/issues/212

**Special notes for your reviewer**:

**Release note**:

```release-note
Juju: Fix shebangs in charm actions to use python3
```
2017-02-27 01:29:58 -08:00
axino 83766d2894 add nrpe-external-master relation to kubernetes-master and kubernetes-worker
For now, the checks are very basic and only check if the systemd
services are running properly.
2017-02-26 10:37:34 -06:00
Kubernetes Submit Queue 77ba346f55 Merge pull request #41815 from kevin-wangzefeng/enable-defaulttolerationseconds-admission-controller
Automatic merge from submit-queue (batch tested with PRs 40932, 41896, 41815, 41309, 41628)

enable DefaultTolerationSeconds admission controller by default

**What this PR does / why we need it**:
Continuation of PR #41414, enable DefaultTolerationSeconds admission controller by default.


**Which issue this PR fixes**: 
fixes: #41860
related Issue: #1574, #25320
related PRs: #34825, #41133, #41414 

**Special notes for your reviewer**:

**Release note**:

```release-note
enable DefaultTolerationSeconds admission controller by default
```
2017-02-26 08:09:58 -08:00
timchenxiaoyu 34bf0bf1cd kubelet word mistake 2017-02-25 22:15:53 +08:00
Kubernetes Submit Queue 3701e54eb1 Merge pull request #41351 from chuckbutler/multi-master-patch
Automatic merge from submit-queue (batch tested with PRs 40665, 41094, 41351, 41721, 41843)

Multi master patch

**What this PR does / why we need it**: Corrects a sync files issue present when running in a HA Master configuration. This PR adds logic to syncronize on first deployment for `/etc/kubernetes/serviceaccount.key` which will cause cypto verification failure if not 1:1 on each master unit. Additionally syncs basic_auth and additional files in /srv/kubernetes. 

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

**Special notes for your reviewer**: This requires PR #41251 as a dependency before merging. 

**Release note**:

```release-note
Juju - K8s master charm now properly keeps distributed master files in sync for an HA control plane.
```
2017-02-25 03:56:55 -08:00
Marco Ceppi 07ef43b630 Update owners file to reflect Juju/Charm knowledgable reviewers 2017-02-24 11:57:19 -05:00
George Kraft 100490bd8e Fix shebangs in juju charm actions to use python3 2017-02-24 10:32:19 -06:00
timchenxiaoyu 50bc2ee9ba enable error 2017-02-24 14:09:27 +08:00
Charles Butler 3c5009d00a Remove ivan4th from reviewers
Per ivans request in #41351 he would like to be removed from the
reviewers list in this directory tree. This commit addresses that
request.
2017-02-22 12:06:00 -06:00
Charles Butler 4408b82a90 Fixes for #41019
This branch sync's the crypto keys, and flat-files used for auth with
all the masters when scaling the kubernetes-master units. This should
fix the mis-matched crypto keys seen when rebooting units after first
deploy.
2017-02-22 10:20:51 -06:00
George Kraft d697b10885 Fix UpdateAddonsTactic to use local repo, add KUBE_VERSION option 2017-02-22 10:19:05 -06:00
Kevin cd427fa4be enable DefaultTolerationSeconds admission controller by default 2017-02-22 00:45:56 +08:00
Matt Bruzek 3b29b6a9ef Lint fixes for the master and worker Python code. 2017-02-16 14:01:30 -06: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 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
Joe Finney 3ec286adda Remove spxtr from several owners files, add rmmh as test reviewer. 2017-01-30 13:45:21 -08: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