diff --git a/environments/storage-environment-external.yaml b/environments/storage-environment-external.yaml
new file mode 100644
index 0000000000..46f9b095e8
--- /dev/null
+++ b/environments/storage-environment-external.yaml
@@ -0,0 +1,35 @@
+# A Heat environment file which can be used to enable the
+# use of an externally managed Ceph cluster.
+resource_registry:
+  OS::TripleO::Services::CephExternal: ../docker/services/ceph-ansible/ceph-external.yaml
+  OS::TripleO::Services::CephMon: OS::Heat::None
+  OS::TripleO::Services::CephClient: OS::Heat::None
+  OS::TripleO::Services::CephOSD: OS::Heat::None
+
+parameter_defaults:
+  # NOTE: These example parameters are required when using CephExternal
+  #CephClusterFSID: '4b5c8c0a-ff60-454b-a1b4-9747aa737d19'
+  #CephClientKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ=='
+  #CephExternalMonHost: '172.16.1.7, 172.16.1.8'
+
+  # the following parameters enable Ceph backends for Cinder, Glance, Gnocchi and Nova
+  NovaEnableRbdBackend: true
+  CinderEnableRbdBackend: true
+  CinderBackupBackend: ceph
+  GlanceBackend: rbd
+  GnocchiBackend: rbd
+  # If the Ceph pools which host VMs, Volumes and Images do not match these
+  # names OR the client keyring to use is not named 'openstack',  edit the
+  # following as needed.
+  NovaRbdPoolName: vms
+  CinderRbdPoolName: volumes
+  CinderBackupRbdPoolName: backups
+  GlanceRbdPoolName: images
+  GnocchiRbdPoolName: metrics
+  CephClientUserName: openstack
+
+  # finally we disable the Cinder LVM backend
+  CinderEnableIscsiBackend: false
+
+  # Uncomment if connecting to a pre-Jewel or RHCS1.3 Ceph Cluster
+  # RbdDefaultFeatures: 1
diff --git a/environments/storage-environment.yaml b/environments/storage-environment.yaml
index 8e02c30095..4a7ef5d1fc 100644
--- a/environments/storage-environment.yaml
+++ b/environments/storage-environment.yaml
@@ -2,9 +2,9 @@
 ## backends. Defaults to Ceph used as a backend for Cinder, Glance and
 ## Nova ephemeral storage.
 resource_registry:
-  OS::TripleO::Services::CephMon: ../puppet/services/ceph-mon.yaml
-  OS::TripleO::Services::CephOSD: ../puppet/services/ceph-osd.yaml
-  OS::TripleO::Services::CephClient: ../puppet/services/ceph-client.yaml
+  OS::TripleO::Services::CephMon: ../docker/services/ceph-ansible/ceph-mon.yaml
+  OS::TripleO::Services::CephOSD: ../docker/services/ceph-ansible/ceph-osd.yaml
+  OS::TripleO::Services::CephClient: ../docker/services/ceph-ansible/ceph-client.yaml
 
 parameter_defaults:
 
@@ -65,3 +65,9 @@ parameter_defaults:
   # CephAdminKey: ''
   ## Ceph client key, e.g 'AQC+vYNXgDAgAhAAc8UoYt+OTz5uhV7ItLdwUw=='
   # CephClientKey: ''
+  ## OSDs configuration
+  ## See https://github.com/ceph/ceph-ansible/blob/stable-3.0/docs/source/osds/scenarios.rst
+  # CephAnsibleDisksConfig:
+  #   devices:
+  #   - /dev/vdb
+  #   osd_scenario: collocated