Browse Source
Implement topology support for Cinder CSI (#5667 )
* make cinder csi topology aware
* change feature description do better reflect whats being done
* remove sameas true since it isn't required
pull/5575/head
Hugo Blom
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
19 additions and
0 deletions
roles/kubernetes-apps/csi_driver/cinder/templates/cinder-csi-controllerplugin.yml.j2
roles/kubernetes-apps/persistent_volumes/cinder-csi/templates/cinder-csi-storage-class.yml.j2
roles/kubespray-defaults/defaults/main.yaml
@ -35,6 +35,9 @@ spec:
image: {{ cinder_csi_provisioner_image_repo }}:{{ cinder_csi_provisioner_image_tag }}
image: {{ cinder_csi_provisioner_image_repo }}:{{ cinder_csi_provisioner_image_tag }}
args:
args:
- "--csi-address=$(ADDRESS)"
- "--csi-address=$(ADDRESS)"
{% if cinder_topology is defined and cinder_topology %}
- --feature-gates=Topology=true
{% endif %}
env:
env:
- name: ADDRESS
- name: ADDRESS
value: /var/lib/csi/sockets/pluginproxy/csi.sock
value: /var/lib/csi/sockets/pluginproxy/csi.sock
@ -11,4 +11,13 @@ parameters:
{% for key, value in (class.parameters | default({})).items() %}
{% for key, value in (class.parameters | default({})).items() %}
"{{ key }}": "{{ value }}"
"{{ key }}": "{{ value }}"
{% endfor %}
{% endfor %}
{% if cinder_topology is defined and cinder_topology is sameas true %}
allowedTopologies:
- matchLabelExpressions:
- key: topology.cinder.csi.openstack.org/zone
values:
{% for zone in cinder_topology_zones %}
- "{{ zone }}"
{% endfor %}
{% endif %}
{% endfor %}
{% endfor %}
@ -308,6 +308,13 @@ expand_persistent_volumes: false
## When OpenStack is used, Cinder version can be explicitly specified if autodetection fails (Fixed in 1.9: https://github.com/kubernetes/kubernetes/issues/50461)
## When OpenStack is used, Cinder version can be explicitly specified if autodetection fails (Fixed in 1.9: https://github.com/kubernetes/kubernetes/issues/50461)
# openstack_blockstorage_version: "v1/v2/auto (default)"
# openstack_blockstorage_version: "v1/v2/auto (default)"
openstack_blockstorage_ignore_volume_az : "{{ volume_cross_zone_attachment | default('false') }}"
openstack_blockstorage_ignore_volume_az : "{{ volume_cross_zone_attachment | default('false') }}"
# Cinder CSI topology, when false volumes can be cross-mounted between availability zones
# cinder_topology: false
# Set Cinder topology zones (can be multiple zones, default not set)
# cinder_topology_zones:
# - nova
## When OpenStack is used, if LBaaSv2 is available you can enable it with the following 2 variables.
## When OpenStack is used, if LBaaSv2 is available you can enable it with the following 2 variables.
openstack_lbaas_enabled : false
openstack_lbaas_enabled : false
# openstack_lbaas_subnet_id: "Neutron subnet ID (not network ID) to create LBaaS VIP"
# openstack_lbaas_subnet_id: "Neutron subnet ID (not network ID) to create LBaaS VIP"