summaryrefslogtreecommitdiffstats
path: root/docker/services
diff options
context:
space:
mode:
authorGiulio Fidente <gfidente@redhat.com>2017-08-31 16:42:16 +0200
committerGiulio Fidente <gfidente@redhat.com>2017-09-07 13:46:20 +0200
commitab8bdfaa3839b0c78dec5cdcbd958eae132dbfc7 (patch)
treea024185458934e39e6d7d5f2ff7871ddf705c0fd /docker/services
parenta38bd9eee95eecb6665d1529c3a24b33af50ed5a (diff)
Add CephExternal role for ceph-ansible
Previously it was only possible to configure the overcloud with an external Ceph cluster via puppet-ceph-external. This submission adds a CephExternal implementation which uses ceph-ansible. Change-Id: Id0d375f88e27e91e9d89f25a0cd7388b6e45df8b Depends-On: Ifc57c9cf6ca8017a2abc78d6320c0675ad49ca9f Closes-Bug: #1714271 (cherry picked from commit 01e55c314de74579196518d958bf5be30e390409)
Diffstat (limited to 'docker/services')
-rw-r--r--docker/services/ceph-ansible/ceph-external.yaml66
1 files changed, 66 insertions, 0 deletions
diff --git a/docker/services/ceph-ansible/ceph-external.yaml b/docker/services/ceph-ansible/ceph-external.yaml
new file mode 100644
index 00000000..f93dd566
--- /dev/null
+++ b/docker/services/ceph-ansible/ceph-external.yaml
@@ -0,0 +1,66 @@
+heat_template_version: pike
+
+description: >
+ Ceph External service.
+
+parameters:
+ ServiceData:
+ default: {}
+ description: Dictionary packing service data
+ type: json
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry. This
+ mapping overrides those in ServiceNetMapDefaults.
+ type: json
+ DefaultPasswords:
+ default: {}
+ type: json
+ RoleName:
+ default: ''
+ description: Role name on which the service is applied
+ type: string
+ RoleParameters:
+ default: {}
+ description: Parameters specific to the role
+ type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ CephExternalMonHost:
+ default: ''
+ type: string
+ description: List of externally managed Ceph Mon Host IPs. Only used for external Ceph deployments.
+
+resources:
+ CephBase:
+ type: ./ceph-base.yaml
+ properties:
+ ServiceData: {get_param: ServiceData}
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
+ RoleName: {get_param: RoleName}
+ RoleParameters: {get_param: RoleParameters}
+
+outputs:
+ role_data:
+ description: Role data for the Ceph External service.
+ value:
+ service_name: ceph_client
+ upgrade_tasks: []
+ step_config: ''
+ puppet_config:
+ config_image: ''
+ config_volume: ''
+ step_config: ''
+ docker_config: {}
+ service_workflow_tasks: {get_attr: [CephBase, role_data, service_workflow_tasks]}
+ config_settings:
+ ceph_client_ansible_vars:
+ map_merge:
+ - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}
+ - external_cluster_mon_ips: {get_param: CephExternalMonHost} \ No newline at end of file