Add support for installing Ceph MDS via ceph-ansible

Based on puppet/services/ceph-mds.yaml. Nodes in the CephMds role
will already be in the Ansible inventory but this change provides
a way pass their parameters to ceph-ansible.

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Change-Id: Ia3ef9e9a2b159dacea01e38762145ff2bcc7ba27
This commit is contained in:
John Fulton 2017-06-30 22:07:46 +00:00
parent b32d1c145b
commit 3626095a81
3 changed files with 103 additions and 0 deletions

View File

@ -88,6 +88,14 @@ parameters:
description: default minimum replication for RBD copies
type: number
default: 3
ManilaCephFSNativeCephFSAuthId:
default: manila
type: string
CephManilaClientKey:
default: ''
description: The Ceph client key. Can be created with ceph-authtool --gen-print-key.
type: string
hidden: true
CephIPv6:
default: False
type: boolean
@ -202,6 +210,16 @@ outputs:
GLANCE_POOL: {get_param: GlanceRbdPoolName}
GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
mode: "0644"
- name:
list_join:
- '.'
- - client
- {get_param: ManilaCephFSNativeCephFSAuthId}
key: {get_param: CephManilaClientKey}
mon_cap: "allow r, allow command auth del, allow command auth caps, allow command auth get, allow command auth get-or-create"
mds_cap: "allow *"
osd_cap: "allow rw"
mode: "0644"
keys: *openstack_keys
pools: []
ceph_conf_overrides:

View File

@ -0,0 +1,83 @@
heat_template_version: pike
description: >
Ceph Metadata 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
CephMdsKey:
description: The cephx key for the MDS service. Can be created
with ceph-authtool --gen-print-key.
type: string
hidden: true
ManilaCephFSDataPoolName:
default: manila_data
type: string
ManilaCephFSMetadataPoolName:
default: manila_metadata
type: string
ManilaCephFSNativeShareBackendName:
default: cephfs
type: string
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 Metadata service.
value:
service_name: ceph_mds
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:
map_merge:
- tripleo.ceph_mds.firewall_rules:
'112 ceph_mds':
dport:
- '6800-7300'
- ceph_mds_ansible_vars:
map_merge:
- {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}
- cephfs_data: {get_param: ManilaCephFSDataPoolName}
cephfs_metadata: {get_param: ManilaCephFSMetadataPoolName}
cephfs: {get_param: ManilaCephFSNativeShareBackendName}

View File

@ -0,0 +1,2 @@
resource_registry:
OS::TripleO::Services::CephMds: ../../docker/services/ceph-ansible/ceph-mds.yaml