default: ''
     description: The list of ip/names to use as Ceph monitors
     type: json
+
 resources:
   CephStorage:
     type: OS::Nova::Server
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
+  NetworkConfig:
+    type: OS::TripleO::CephStorage::Net::SoftwareConfig
+
+  NetworkDeployment:
+    type: OS::TripleO::SoftwareDeployment
+    properties:
+      config: {get_attr: [NetworkConfig, config_id]}
+      server: {get_resource: CephStorage}
+
   CephStorageDeployment:
     type: OS::Heat::StructuredDeployment
     properties:
 
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
+  NetworkConfig:
+    type: OS::TripleO::BlockStorage::Net::SoftwareConfig
+
+  NetworkDeployment:
+    type: OS::TripleO::SoftwareDeployment
+    properties:
+      config: {get_attr: [NetworkConfig, config_id]}
+      server: {get_resource: BlockStorage}
+
   BlockStorageDeployment:
     type: OS::Heat::StructuredDeployment
     properties:
 
     type: OS::TripleO::NodeUserData
 
   NetworkConfig:
-    type: OS::TripleO::Net::SoftwareConfig
+    type: OS::TripleO::Compute::Net::SoftwareConfig
 
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
 
     type: OS::TripleO::NodeUserData
 
   NetworkConfig:
-    type: OS::TripleO::Net::SoftwareConfig
+    type: OS::TripleO::Controller::Net::SoftwareConfig
 
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
 
 resource_registry:
   OS::TripleO::BlockStorage: puppet/cinder-storage-puppet.yaml
+  OS::TripleO::BlockStorage::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::Compute: puppet/compute-puppet.yaml
+  OS::TripleO::Compute::Net::SoftwareConfig: net-config-bridge.yaml
   OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment
   OS::TripleO::Controller: puppet/controller-puppet.yaml
+  OS::TripleO::Controller::Net::SoftwareConfig: net-config-bridge.yaml
   OS::TripleO::ObjectStorage: puppet/swift-storage-puppet.yaml
-  OS::TripleO::Net::SoftwareConfig: net-config-bridge.yaml
+  OS::TripleO::ObjectStorage::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::CephStorage: puppet/ceph-storage-puppet.yaml
+  OS::TripleO::CephStorage::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::ControllerPostDeployment: puppet/controller-post-puppet.yaml
   OS::TripleO::ComputePostDeployment: puppet/compute-post-puppet.yaml
   OS::TripleO::ObjectStoragePostDeployment: puppet/swift-storage-post.yaml
 
 resource_registry:
   OS::TripleO::BlockStorage: cinder-storage.yaml
+  OS::TripleO::BlockStorage::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::Compute: compute.yaml
+  OS::TripleO::Compute::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment
   OS::TripleO::Controller: controller.yaml
+  OS::TripleO::Controller::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::ObjectStorage: swift-storage.yaml
-  OS::TripleO::Net::SoftwareConfig: net-config-noop.yaml
+  OS::TripleO::ObjectStorage::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::CephStorage: ceph-storage.yaml
+  OS::TripleO::CephStorage::Net::SoftwareConfig: net-config-noop.yaml
   OS::TripleO::ControllerPostDeployment: controller-post.yaml
   OS::TripleO::ComputePostDeployment: compute-post.yaml
   OS::TripleO::ObjectStoragePostDeployment: swift-storage-post.yaml
 
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
+  NetworkConfig:
+    type: OS::TripleO::CephStorage::Net::SoftwareConfig
+
+  NetworkDeployment:
+    type: OS::TripleO::SoftwareDeployment
+    properties:
+      config: {get_attr: [NetworkConfig, config_id]}
+      server: {get_resource: CephStorage}
+
   CephStorageDeployment:
     type: OS::Heat::StructuredDeployment
     properties:
             params:
               server: {get_param: NtpServer}
         enable_package_install: {get_param: EnablePackageInstall}
+
   CephStorageConfig:
     type: OS::Heat::StructuredConfig
     properties:
 
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
+  NetworkConfig:
+    type: OS::TripleO::BlockStorage::Net::SoftwareConfig
+
+  NetworkDeployment:
+    type: OS::TripleO::SoftwareDeployment
+    properties:
+      config: {get_attr: [NetworkConfig, config_id]}
+      server: {get_resource: BlockStorage}
+
   BlockStorageDeployment:
     type: OS::Heat::StructuredDeployment
     properties:
 
     type: OS::TripleO::NodeUserData
 
   NetworkConfig:
-    type: OS::TripleO::Net::SoftwareConfig
+    type: OS::TripleO::Compute::Net::SoftwareConfig
 
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
 
     type: OS::TripleO::NodeUserData
 
   NetworkConfig:
-    type: OS::TripleO::Net::SoftwareConfig
+    type: OS::TripleO::Controller::Net::SoftwareConfig
 
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
 
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
+  NetworkConfig:
+    type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
+
+  NetworkDeployment:
+    type: OS::TripleO::SoftwareDeployment
+    properties:
+      config: {get_attr: [NetworkConfig, config_id]}
+      server: {get_resource: SwiftStorage}
+
   SwiftStorageHieraConfig:
     type: OS::Heat::StructuredConfig
     properties:
 
   NodeUserData:
     type: OS::TripleO::NodeUserData
 
+  NetworkConfig:
+    type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
+
+  NetworkDeployment:
+    type: OS::TripleO::SoftwareDeployment
+    properties:
+      config: {get_attr: [NetworkConfig, config_id]}
+      server: {get_resource: SwiftStorage}
+
   SwiftStorageDeploy:
     type: OS::Heat::StructuredDeployment
     properties: