Skip to content
This repository has been archived by the owner on Feb 22, 2022. It is now read-only.

Commit

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

See #7680.

Signed-off-by: Cédric de Saint Martin <cdesaintmartin@wiremind.fr>
  • Loading branch information
desaintmartin authored and k8s-ci-robot committed Oct 21, 2018
1 parent b501010 commit c5b9357
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
@@ -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
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
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 c5b9357

Please sign in to comment.