cinder sphinx documentation
diff --git a/cinder/meta/sphinx.yml b/cinder/meta/sphinx.yml
index 847a27d..5d79416 100644
--- a/cinder/meta/sphinx.yml
+++ b/cinder/meta/sphinx.yml
@@ -3,12 +3,82 @@
   description: Cinder provides an infrastructure for managing volumes in OpenStack. It was originally a Nova component called nova-volume, but has become an independent project since the Folsom release.
   role:
   {%- if pillar.cinder.controller is defined %}
+  {%- from "cinder/map.jinja" import controller with context %}
     controller:
       name: controller
-      param: {}
+      endpoint:
+        glance_api:
+          name: cinder-api
+          type: cinder-api
+          address: http://{{ controller.osapi.host }}:8776
+          protocol: http
+      param:
+        bind:
+          value: {{ controller.osapi.host }}:8776
+        version:
+          name: "Version"
+          value: {{ controller.version }}
+        glance_host:
+          name: "Glance service"
+          value: {{ controller.glance.host }}:{{ controller.glance.port }}
+        database_host:
+          name: "Database"
+          value: {{ controller.database.user }}@{{ controller.database.host }}:{{ controller.database.port }}//{{ controller.database.name }}
+        message_queue_ip:
+          name: "Message queue"
+          value: {{ controller.message_queue.user }}@{{ controller.message_queue.host }}:{{ controller.message_queue.port }}{{ controller.message_queue.virtual_host }}
+        identity_host:
+          name: "Identity service"
+          value: {{ controller.identity.user }}@{{ controller.identity.host }}:{{ controller.identity.port }}
+        packages:
+          value: |
+            {%- for pkg in controller.pkgs %}
+            {%- set pkg_version = "dpkg -l "+pkg+" | grep "+pkg+" | awk '{print $3}'" %}
+            * {{ pkg }}: {{ salt['cmd.run'](pkg_version) }}
+            {%- endfor %}
+        {%- if controller.backend is defined %}
+        backends:
+          value: |
+            {%- for backend_name, backend in controller.get('backend', {}).iteritems() %}
+            * {{ backend_name }}:
+              * storage engine: {{ backend.engine }}
+              * volume type: {{ backend.type_name}}
+            {%- endfor %}
+        {%- endif %}
   {%- endif %}
   {%- if pillar.cinder.volume is defined %}
+  {%- from "cinder/map.jinja" import volume with context %}
     volume:
       name: volume
-      param: {}
+      param:
+        version:
+          name: "Version"
+          value: {{ volume.version }}
+        glance_host:
+          name: "Glance service"
+          value: {{ volume.glance.host }}:{{ volume.glance.port }}
+        database_host:
+          name: "Database"
+          value: {{ volume.database.user }}@{{ volume.database.host }}:{{ volume.database.port }}//{{ volume.database.name }}
+        message_queue_ip:
+          name: "Message queue"
+          value: {{ volume.message_queue.user }}@{{ volume.message_queue.host }}:{{ volume.message_queue.port }}{{ volume.message_queue.virtual_host }}
+        identity_host:
+          name: "Identity service"
+          value: {{ volume.identity.user }}@{{ volume.identity.host }}:{{ volume.identity.port }}
+        packages:
+          value: |
+            {%- for pkg in volume.pkgs %}
+            {%- set pkg_version = "dpkg -l "+pkg+" | grep "+pkg+" | awk '{print $3}'" %}
+            * {{ pkg }}: {{ salt['cmd.run'](pkg_version) }}
+            {%- endfor %}
+        {%- if volume.backend is defined %}
+        backends:
+          value: |
+            {%- for backend_name, backend in volume.get('backend', {}).iteritems() %}
+            * {{ backend_name }}:
+              * storage engine: {{ backend.engine }}
+              * volume type: {{ backend.type_name}}
+            {%- endfor %}
+        {%- endif %}
   {%- endif %}