[ceph-client] Add pool delete support for Ceph pools
Two new values, "delete" and "delete_all_pool_data," have been added to the Ceph pool spec to allow existing pools to be deleted in a brownfield deployment. For deployments where a pool does not exist, either for greenfield or because it has been deleted previously, the pool will be created and then deleted in a single step. Change-Id: Ic22acf02ae2e02e03b834e187d8a6a1fa58249e7
This commit is contained in:
parent
9111ae750e
commit
bcc31f9821
@ -15,6 +15,6 @@ apiVersion: v1
|
|||||||
appVersion: v1.0.0
|
appVersion: v1.0.0
|
||||||
description: OpenStack-Helm Ceph Client
|
description: OpenStack-Helm Ceph Client
|
||||||
name: ceph-client
|
name: ceph-client
|
||||||
version: 0.1.17
|
version: 0.1.18
|
||||||
home: https://github.com/ceph/ceph-client
|
home: https://github.com/ceph/ceph-client
|
||||||
...
|
...
|
||||||
|
@ -345,6 +345,17 @@ manage_pool {{ .application }} ${pool_name} {{ .replication }} {{ .percent_total
|
|||||||
if [[ -n "$(ceph --cluster ${CLUSTER} osd pool ls | grep ^{{ .name }}$)" ]] &&
|
if [[ -n "$(ceph --cluster ${CLUSTER} osd pool ls | grep ^{{ .name }}$)" ]] &&
|
||||||
[[ -z "$(ceph --cluster ${CLUSTER} osd pool ls | grep ^{{ .rename }}$)" ]]; then
|
[[ -z "$(ceph --cluster ${CLUSTER} osd pool ls | grep ^{{ .rename }}$)" ]]; then
|
||||||
ceph --cluster "${CLUSTER}" osd pool rename "{{ .name }}" "{{ .rename }}"
|
ceph --cluster "${CLUSTER}" osd pool rename "{{ .name }}" "{{ .rename }}"
|
||||||
|
pool_name="{{ .rename }}"
|
||||||
|
fi
|
||||||
|
{{- end }}
|
||||||
|
{{- if and .delete .delete_all_pool_data }}
|
||||||
|
# If delete is set to true and delete_all_pool_data is also true, delete the pool
|
||||||
|
if [[ "true" == "{{ .delete }}" ]] &&
|
||||||
|
[[ "true" == "{{ .delete_all_pool_data }}" ]]; then
|
||||||
|
ceph --cluster "${CLUSTER}" tell mon.* injectargs '--mon-allow-pool-delete=true'
|
||||||
|
ceph --cluster "${CLUSTER}" osd pool set "${pool_name}" nodelete false
|
||||||
|
ceph --cluster "${CLUSTER}" osd pool delete "${pool_name}" "${pool_name}" --yes-i-really-really-mean-it
|
||||||
|
ceph --cluster "${CLUSTER}" tell mon.* injectargs '--mon-allow-pool-delete=false'
|
||||||
fi
|
fi
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -354,6 +354,13 @@ conf:
|
|||||||
# renamed, the name will not be changed. If two pools exist with the two names, the
|
# renamed, the name will not be changed. If two pools exist with the two names, the
|
||||||
# pool matching the renamed value will be configured and the other left alone.
|
# pool matching the renamed value will be configured and the other left alone.
|
||||||
# rename: rbd-new
|
# rename: rbd-new
|
||||||
|
# Optional "delete" and "delete_all_pool_data" values may be used to delete an
|
||||||
|
# existing pool. Both must exist and must be set to true in order to delete a pool.
|
||||||
|
# NOTE: Deleting a pool deletes all of its data and is unrecoverable. This is why
|
||||||
|
# both values are required in order to delete a pool. Neither value does
|
||||||
|
# anything by itself.
|
||||||
|
# delete: false
|
||||||
|
# delete_all_pool_data: false
|
||||||
application: rbd
|
application: rbd
|
||||||
replication: 3
|
replication: 3
|
||||||
percent_total_data: 40
|
percent_total_data: 40
|
||||||
|
@ -18,4 +18,5 @@ ceph-client:
|
|||||||
- 0.1.15 Make ceph-client helm test more PG specific
|
- 0.1.15 Make ceph-client helm test more PG specific
|
||||||
- 0.1.16 Make Ceph pool init job consistent with helm test
|
- 0.1.16 Make Ceph pool init job consistent with helm test
|
||||||
- 0.1.17 Add pool rename support for Ceph pools
|
- 0.1.17 Add pool rename support for Ceph pools
|
||||||
|
- 0.1.18 Add pool delete support for Ceph pools
|
||||||
...
|
...
|
||||||
|
Loading…
Reference in New Issue
Block a user