Type creates
diff --git a/cinder/controller.sls b/cinder/controller.sls
index a30b7ca..c687317 100644
--- a/cinder/controller.sls
+++ b/cinder/controller.sls
@@ -36,6 +36,28 @@
- require:
- service: cinder_controller_services
+{# new way #}
+
+{%- for backend_name, backend in controller.get('backend', {}).iteritems() %}
+
+cinder_type_create_{{ backend_name }}:
+ cmd.run:
+ - name: "source /root/keystonerc; cinder type-create {{ backend_name }}"
+ - unless: "source /root/keystonerc; cinder type-list | grep {{ backend_name }}"
+ - require:
+ - service: cinder_controller_services
+
+cinder_type_update_{{ backend_name }}:
+ cmd.run:
+ - name: "source /root/keystonerc; cinder type-key {{ backend_name }} set volume_backend_name={{ backend.get('name', backend_name) }}"
+ - unless: "source /root/keystonerc; cinder extra-specs-list | grep \"{u'volume_backend_name': u'{{ backend.get('name', backend_name) }}'}\""
+ - require:
+ - cmd: cinder_type_create_{{ backend_name }}
+
+{%- endfor %}
+
+{# old way #}
+
{% for type in controller.get('types', []) %}
cinder_type_create_{{ type.name }}: