Skip to content
This repository has been archived by the owner on Sep 17, 2020. It is now read-only.

Commit

Permalink
[stable/horovod] Major version bump: Fix chart not being upgradable. (h…
Browse files Browse the repository at this point in the history
…elm#8596)

See helm#7680.

Signed-off-by: Cédric de Saint Martin <[email protected]>
  • Loading branch information
desaintmartin authored and emas80 committed Oct 24, 2018
1 parent 83ca6a4 commit 6edeecd
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 5 deletions.
2 changes: 1 addition & 1 deletion stable/horovod/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1
description: A Helm chart for deploying Horovod
name: horovod
version: 0.2.1
version: 1.0.0
appVersion: 0.12.1
sources:
- https://github.com/uber/horovod
Expand Down
17 changes: 16 additions & 1 deletion stable/horovod/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This chart bootstraps Horovod which is a Distributed TensorFlow Framework on a K

## Prerequisites

- Kubernetes cluster v1.8+
- Kubernetes cluster v1.8+

## Build Docker Image

Expand Down Expand Up @@ -122,6 +122,21 @@ $ helm delete mnist
The command removes all the Kubernetes components associated with the chart and
deletes the release.

## Upgrading an existing Release to a new major version
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an
incompatible breaking change needing manual actions.

### 1.0.0
This version removes the `chart` label from the `spec.selector.matchLabels`
which is immutable since `StatefulSet apps/v1beta2`. It has been inadvertently
added, causing any subsequent upgrade to fail. See https://github.com/helm/charts/issues/7726.

In order to upgrade, delete the Horovod StatefulSet before upgrading, supposing your Release is named `my-release`:

```bash
$ kubectl delete statefulsets.apps --cascade=false my-release
```

## Configuration

The following table lists the configurable parameters of the Horovod
Expand Down
10 changes: 7 additions & 3 deletions stable/horovod/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ spec:
selector:
matchLabels:
app: {{ template "horovod.name" . }}
chart: {{ template "horovod.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
role: worker
Expand All @@ -28,6 +27,11 @@ spec:
heritage: {{ .Release.Service }}
role: worker
spec:
selector:
matchLabels:
app: {{ template "horovod.name" . }}
release: {{ .Release.Name }}
role: worker
{{- if .Values.useHostNetwork }}
hostNetwork: {{ .Values.useHostNetwork }}
dnsPolicy: ClusterFirstWithHostNet
Expand Down Expand Up @@ -74,7 +78,7 @@ spec:
- name: USESECRETS
value: "{{ .Values.ssh.useSecrets }}"
{{- end }}
{{- if .Values.master.env }}
{{- if .Values.master.env }}
{{- range $key, $value := .Values.master.env }}
- name: "{{ $key }}"
value: "{{ $value }}"
Expand All @@ -97,7 +101,7 @@ spec:
{{- if .Values.volumeMounts }}
{{ toYaml .Values.volumeMounts | indent 8 }}
{{- end }}
command:
command:
- /horovod/generated/run.sh
{{- if .Values.ssh.useSecrets }}
readinessProbe:
Expand Down

0 comments on commit 6edeecd

Please sign in to comment.