---
# System prepended metadata

title: Untitled

---

## Rook 1.5.9 to 1.6.2 Upgrade

### Part 1:  Rook Operator Upgrade 1.5.9 to 1.6.2

**1a: Update common.yaml and crd.yaml**

```
# kubectl apply -f common.yaml -f crds.yaml
```

**1b: Update CSI image**

```
# kubectl -n $ROOK_OPERATOR_NAMESPACE edit configmap rook-ceph-operator-config
```

**1c: Wait for CSI updates to complete**

```
# kubectl --namespace rook-ceph get pod -o jsonpath='{range .items[*]}{range .spec.containers[*]}{.image}{"\n"}' -l 'app in (csi-rbdplugin,csi-rbdplugin-provisioner,csi-cephfsplugin,csi-cephfsplugin-provisioner)' | sort | uniq
```

**1d: Update operator image**

```
# kubectl -n $ROOK_OPERATOR_NAMESPACE set image deploy/rook-ceph-operator rook-ceph-operator=rook/ceph:v1.6.2
```

**1e: Wait for operator update to complete**

```
# kubectl -n $ROOK_CLUSTER_NAMESPACE get deployment -l rook_cluster=$ROOK_CLUSTER_NAMESPACE -o jsonpath='{range .items[*]}{"rook-version="}{.metadata.labels.rook-version}{"\n"}{end}' | sort | uniq
```

---

### Part 2: Ceph Version Upgrade

**2a:  Update ceph daemons**

```
# NEW_CEPH_IMAGE='ceph/ceph:v15.2.11-20210224'
# CLUSTER_NAME="rook-ceph"
# kubectl -n rook-ceph patch CephCluster $CLUSTER_NAME --type=merge -p "{\"spec\": {\"cephVersion\": {\"image\": \"$NEW_CEPH_IMAGE\"}}}"
```

**2b: Wait for all daemon pods to update**
```
# kubectl -n $ROOK_CLUSTER_NAMESPACE get deployment -l rook_cluster=$ROOK_CLUSTER_NAMESPACE -o jsonpath='{range .items[*]}{"ceph-version="}{.metadata.labels.ceph-version}{"\n"}{end}' | sort | uniq
```

---

For details see:

[Rook Ceph 1.5 to 1.6 Upgrade Doc](https://rook.io/docs/rook/v1.6/ceph-upgrade.html#upgrading-from-v15-to-v16)