config:
         get_file: manifests/overcloud_volume.pp
 
-  VolumePuppetDeployment:
+  VolumeDeployment_Step1:
     type: OS::Heat::StructuredDeployments
     properties:
-      name: puppet_1
       servers:  {get_param: servers}
       config: {get_resource: VolumePuppetConfig}
 
   # Step through a series of Puppet runs using the same manifest.
   # NOTE(dprince): Heat breakpoints would make for a really cool way to step
   # through breakpoints in a controlled manner across the entire cluster
-  ControllerPuppetDeploymentLoadBalancer:
+  ControllerDeploymentLoadBalancer_Step1:
     type: OS::Heat::StructuredDeployments
     properties:
-      name: puppet_1
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
         step: 1
       actions: ['CREATE'] # no need for two passes on an UPDATE
 
-  ControllerPuppetDeploymentServicesBase:
+  ControllerDeploymentServicesBase_Step2:
     type: OS::Heat::StructuredDeployments
+    depends_on: ControllerDeploymentLoadBalancer_Step1
     properties:
-      name: puppet_2
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
       config:
         get_file: manifests/ringbuilder.pp
 
-  ControllerRingbuilderPuppetDeployment:
+  ControllerRingbuilderDeployment_Step3:
     type: OS::Heat::StructuredDeployments
+    depends_on: ControllerDeploymentServicesBase_Step2
     properties:
-      name: puppet_3
       servers:  {get_param: servers}
       config: {get_resource: ControllerRingbuilderPuppetConfig}
 
-  ControllerPuppetDeploymentOvercloudServices:
+  ControllerDeploymentOvercloudServices_Step4:
     type: OS::Heat::StructuredDeployments
+    depends_on: ControllerRingbuilderDeployment_Step3
     properties:
-      name: puppet_4
       servers:  {get_param: servers}
       config: {get_resource: ControllerPuppetConfig}
       input_values:
 
       config:
         get_file: manifests/overcloud_object.pp
 
-  StoragePuppetDeployment:
+  StorageDeployment_Step1:
     type: OS::Heat::StructuredDeployments
     properties:
-      name: puppet_1
       servers:  {get_param: servers}
       config: {get_resource: StoragePuppetConfig}
 
       config:
         get_file: manifests/ringbuilder.pp
 
-  StorageRingbuilderPuppetDeployment:
+  StorageRingbuilderDeployment_Step2:
     type: OS::Heat::StructuredDeployments
+    depends_on: StorageDeployment_Step1
     properties:
-      name: puppet_2
       servers:  {get_param: servers}
       config: {get_resource: StorageRingbuilderPuppetConfig}