default: 5000
     description: The size of the loopback file used by the cinder LVM driver.
     type: number
+  CinderPassword:
+    default: unset
+    description: The password for the cinder service and db account, used by cinder-api.
+    type: string
+    hidden: true
   VirtualIP:
     default: ''
     type: string
       config: {get_resource: BlockStorageConfig}
       input_values:
         controller_virtual_ip: {get_param: VirtualIP}
-        cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: VirtualIP} , '/cinder']]}
+        cinder_dsn: {list_join: ['', ['mysql://cinder:', {get_param: CinderPassword}, '@', {get_param: VirtualIP} , '/cinder']]}
         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
         snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
       signal_transport: NO_SIGNAL
 
     hidden: true
   AdminToken:
     default: unset
-    description: The keystone auth secret.
+    description: The keystone auth secret and db password.
     type: string
     hidden: true
   CeilometerMeteringSecret:
     hidden: true
   CeilometerPassword:
     default: unset
-    description: The password for the ceilometer service account.
+    description: The password for the ceilometer service and db account.
     type: string
     hidden: true
   CinderEnableIscsiBackend:
     type: number
   CinderPassword:
     default: unset
-    description: The password for the cinder service account, used by cinder-api.
+    description: The password for the cinder service and db account, used by cinder-api.
     type: string
     hidden: true
   CloudName:
     default: ''
   GlancePassword:
     default: unset
-    description: The password for the glance service account, used by the glance services.
+    description: The password for the glance service and db account, used by the glance services.
     type: string
     hidden: true
   GlancePort:
     type: string
   HeatPassword:
     default: unset
-    description: The password for the Heat service account, used by the Heat services.
+    description: The password for the Heat service and db account, used by the Heat services.
     type: string
     hidden: true
   HeatStackDomainAdminPassword:
     type: string
   NeutronPassword:
     default: unset
-    description: The password for the neutron service account, used by neutron agents.
+    description: The password for the neutron service and db account, used by neutron agents.
     type: string
     hidden: true
   NeutronPublicInterface:
     type: string
   NovaPassword:
     default: unset
-    description: The password for the nova service account, used by nova-api.
+    description: The password for the nova service and db account, used by nova-api.
     type: string
     hidden: true
   NtpServer:
         cinder_dsn:
           list_join:
             - ''
-            - - 'mysql://cinder:unset@'
+            - - 'mysql://cinder:'
+              - {get_param: CinderPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/cinder'
         glance_port: {get_param: GlancePort}
         glance_dsn:
           list_join:
             - ''
-            - - 'mysql://glance:unset@'
+            - - 'mysql://glance:'
+              - {get_param: GlancePassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/glance'
         heat_password: {get_param: HeatPassword}
         heat_dsn:
           list_join:
             - ''
-            - - 'mysql://heat:unset@'
+            - - 'mysql://heat:'
+              - {get_param: HeatPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/heat'
         keystone_ca_certificate: {get_param: KeystoneCACertificate}
         keystone_dsn:
           list_join:
             - ''
-            - - 'mysql://keystone:unset@'
+            - - 'mysql://keystone:'
+              - {get_param: AdminToken}
+              - '@'
               - {get_param: VirtualIP}
               - '/keystone'
         mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
         neutron_dsn:
           list_join:
             - ''
-            - - 'mysql://neutron:unset@'
+            - - 'mysql://neutron:'
+              - {get_param: NeutronPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/ovs_neutron?charset=utf8'
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_dsn:
           list_join:
             - ''
-            - - 'mysql://ceilometer:unset@'
+            - - 'mysql://ceilometer:'
+              - {get_param: CeilometerPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/ceilometer'
         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
         nova_dsn:
           list_join:
             - ''
-            - - 'mysql://nova:unset@'
+            - - 'mysql://nova:'
+              - {get_param: NovaPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/nova'
         rabbit_username: {get_param: RabbitUserName}
 
           CinderLVMLoopDeviceSize: {get_param: CinderLVMLoopDeviceSize}
           # Purpose of the dedicated BlockStorage nodes should be to use their local LVM
           CinderEnableIscsiBackend: {get_param: CinderEnableIscsiBackend}
+          CinderPassword: {get_param: CinderPassword}
           VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
           KeyName: {get_param: KeyName}
           Flavor: {get_param: OvercloudBlockStorageFlavor}
 
     default: 5000
     description: The size of the loopback file used by the cinder LVM driver.
     type: number
+  CinderPassword:
+    default: unset
+    description: The password for the cinder service and db account, used by cinder-api.
+    type: string
+    hidden: true
   Debug:
     default: ''
     description: Set to True to enable debugging on all services.
       config: {get_resource: BlockStorageConfig}
       input_values:
         debug: {get_param: Debug}
-        cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: VirtualIP} , '/cinder']]}
+        cinder_dsn: {list_join: ['', ['mysql://cinder:', {get_param: CinderPassword}, '@', {get_param: VirtualIP} , '/cinder']]}
         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
         snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
         cinder_lvm_loop_device_size:
 
     hidden: true
   AdminToken:
     default: unset
-    description: The keystone auth secret.
+    description: The keystone auth secret and db password.
     type: string
     hidden: true
   CeilometerMeteringSecret:
     hidden: true
   CeilometerPassword:
     default: unset
-    description: The password for the ceilometer service account.
+    description: The password for the ceilometer service  and db account.
     type: string
     hidden: true
   CinderEnableIscsiBackend:
     type: number
   CinderPassword:
     default: unset
-    description: The password for the cinder service account, used by cinder-api.
+    description: The password for the cinder service and db account, used by cinder-api.
     type: string
     hidden: true
   CloudName:
     default: ''
   GlancePassword:
     default: unset
-    description: The password for the glance service account, used by the glance services.
+    description: The password for the glance service and db account, used by the glance services.
     type: string
     hidden: true
   GlancePort:
     type: string
   HeatPassword:
     default: unset
-    description: The password for the Heat service account, used by the Heat services.
+    description: The password for the Heat service and db account, used by the Heat services.
     type: string
     hidden: true
   HeatStackDomainAdminPassword:
     type: string
   NeutronPassword:
     default: unset
-    description: The password for the neutron service account, used by neutron agents.
+    description: The password for the neutron service and db account, used by neutron agents.
     type: string
     hidden: true
   NeutronPublicInterface:
     type: string
   NovaPassword:
     default: unset
-    description: The password for the nova service account, used by nova-api.
+    description: The password for the nova service and db account, used by nova-api.
     type: string
     hidden: true
   NtpServer:
         cinder_dsn:
           list_join:
             - ''
-            - - 'mysql://cinder:unset@'
+            - - 'mysql://cinder:'
+              - {get_param: CinderPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/cinder'
         glance_port: {get_param: GlancePort}
         glance_dsn:
           list_join:
             - ''
-            - - 'mysql://glance:unset@'
+            - - 'mysql://glance:'
+              - {get_param: GlancePassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/glance'
         heat_password: {get_param: HeatPassword}
         heat_dsn:
           list_join:
             - ''
-            - - 'mysql://heat:unset@'
+            - - 'mysql://heat:'
+              - {get_param: HeatPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/heat'
         keystone_ca_certificate: {get_param: KeystoneCACertificate}
         keystone_dsn:
           list_join:
             - ''
-            - - 'mysql://keystone:unset@'
+            - - 'mysql://keystone:'
+              - {get_param: AdminToken}
+              - '@'
               - {get_param: VirtualIP}
               - '/keystone'
         keystone_identity_uri:
         neutron_dsn:
           list_join:
             - ''
-            - - 'mysql://neutron:unset@'
+            - - 'mysql://neutron:'
+              - {get_param: NeutronPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/ovs_neutron?charset=utf8'
         neutron_url:
         nova_dsn:
           list_join:
             - ''
-            - - 'mysql://nova:unset@'
+            - - 'mysql://nova:'
+              - {get_param: NovaPassword}
+              - '@'
               - {get_param: VirtualIP}
               - '/nova'
         pcsd_password: {get_param: PcsdPassword}