Add volume QoS support
In this patchset, volume QoS creation and association are added to the bootstrap if configured. Change-Id: I8c4bd4909f06e9db4fbc6a6daad0932babe94bcf
This commit is contained in:
parent
9c7f716bb0
commit
a711de8195
@ -14,7 +14,7 @@ apiVersion: v1
|
||||
appVersion: v1.0.0
|
||||
description: OpenStack-Helm Cinder
|
||||
name: cinder
|
||||
version: 0.2.4
|
||||
version: 0.2.5
|
||||
home: https://docs.openstack.org/cinder/latest/
|
||||
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Cinder/OpenStack_Project_Cinder_vertical.png
|
||||
sources:
|
||||
|
@ -53,8 +53,34 @@ openstack volume type show {{ $name }} || \
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Create and associate volume QoS if defined */}}
|
||||
{{- if .Values.bootstrap.volume_qos}}
|
||||
{{- range $qos_name, $qos_properties := .Values.bootstrap.volume_qos }}
|
||||
type_defined=true
|
||||
{{- /* If the volume type to associate with is not defined, skip the qos */}}
|
||||
{{- range $qos_properties.associates }}
|
||||
if ! openstack volume type show {{ . }}; then
|
||||
type_defined=false
|
||||
fi
|
||||
{{- end }}
|
||||
if $type_defined; then
|
||||
openstack volume qos show {{ $qos_name }} || \
|
||||
openstack volume qos create \
|
||||
--consumer {{ $qos_properties.consumer }} \
|
||||
{{- range $key, $value := $qos_properties.properties }}
|
||||
--property {{ $key }}={{ $value }} \
|
||||
{{- end }}
|
||||
{{ $qos_name }}
|
||||
{{- range $qos_properties.associates }}
|
||||
openstack volume qos associate {{ $qos_name }} {{ . }}
|
||||
{{- end }}
|
||||
fi
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Check volume type and properties were added */}}
|
||||
openstack volume type list --long
|
||||
openstack volume qos list
|
||||
|
||||
{{- end }}
|
||||
|
||||
|
@ -361,6 +361,18 @@ bootstrap:
|
||||
name:
|
||||
group:
|
||||
volume_backend_name:
|
||||
# Volume QoS if any. By default, None QoS is created.
|
||||
# Below values with a number at the end need to be replaced
|
||||
# with real names.
|
||||
# volume_qos:
|
||||
# qos_name_1:
|
||||
# consumer: front-end
|
||||
# properties:
|
||||
# key_1: value_1
|
||||
# key_2: value_2
|
||||
# associates:
|
||||
# - volume_type_1
|
||||
# - volume_type_2
|
||||
|
||||
network:
|
||||
api:
|
||||
|
13
cinder/values_overrides/qos.yaml
Normal file
13
cinder/values_overrides/qos.yaml
Normal file
@ -0,0 +1,13 @@
|
||||
# NOTE: In this yaml file, an example qos is created
|
||||
# and associated with volume type rbd1
|
||||
|
||||
---
|
||||
bootstrap:
|
||||
high-iops:
|
||||
consumer: front-end
|
||||
properties:
|
||||
read_iops_sec: 20000
|
||||
write_iops_sec: 10000
|
||||
associates:
|
||||
- rbd1
|
||||
...
|
@ -21,4 +21,5 @@ cinder:
|
||||
- 0.2.2 Adding rabbitmq TLS logic
|
||||
- 0.2.3 Mount rabbitmq TLS secret
|
||||
- 0.2.4 Add Ussuri release support
|
||||
- 0.2.5 Add volume QoS support
|
||||
...
|
||||
|
Loading…
Reference in New Issue
Block a user