Add CephConfigOverrides to allow arbitrary configs in ceph.conf
authorGiulio Fidente <gfidente@redhat.com>
Wed, 6 Sep 2017 07:39:12 +0000 (09:39 +0200)
committerEmilien Macchi <emilien@redhat.com>
Tue, 12 Sep 2017 14:52:41 +0000 (14:52 +0000)
We need to reuse the ceph_conf_overrides structure provided by
ceph-ansible for both user provided configs and TripleO managed
configs. This change merges the special user facing parameter
with the TripleO generated configs.

Also adds osd_scenario and osd_objectstore params for compatibility
with newer ceph-ansible versions.

Change-Id: I29c689c6c689590da5b6a3f581fdbec98a52e207
Closes-Bug: #1715321
(cherry picked from commit 32bc2abf14af4ca1449e18b848e2be3cff013987)

ci/environments/scenario001-multinode-containers.yaml
docker/services/ceph-ansible/ceph-base.yaml
docker/services/ceph-ansible/ceph-osd.yaml

index 79d5a28..e061c0a 100644 (file)
@@ -106,6 +106,7 @@ parameter_defaults:
       - /dev/loop3
     journal_size: 512
     journal_collocation: true
+    osd_scenario: collocated
   CephAnsibleExtraConfig:
     ceph_conf_overrides:
       global:
index 18d3e6a..9941234 100644 (file)
@@ -58,6 +58,10 @@ parameters:
     type: string
     description: List of ceph-ansible tags to skip
     default: 'package-install,with_pkg'
+  CephConfigOverrides:
+    type: json
+    description: Extra config settings to dump into ceph.conf
+    default: {}
   CephClusterFSID:
     type: string
     description: The Ceph cluster FSID. Must be a UUID.
@@ -268,17 +272,19 @@ outputs:
           keys: *openstack_keys
           pools: []
           ceph_conf_overrides:
-            global:
-              osd_pool_default_size: {get_param: CephPoolDefaultSize}
-              osd_pool_default_pg_num: {get_param: CephPoolDefaultPgNum}
-              rgw_keystone_api_version: 3
-              rgw_keystone_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
-              rgw_keystone_accepted_roles: 'Member, _member_, admin'
-              rgw_keystone_admin_domain: default
-              rgw_keystone_admin_project: service
-              rgw_keystone_admin_user: swift
-              rgw_keystone_admin_password: {get_param: SwiftPassword}
-              rgw_s3_auth_use_keystone: 'true'
+            map_merge:
+              - global:
+                  osd_pool_default_size: {get_param: CephPoolDefaultSize}
+                  osd_pool_default_pg_num: {get_param: CephPoolDefaultPgNum}
+                  rgw_keystone_api_version: 3
+                  rgw_keystone_url: {get_param: [EndpointMap, KeystoneInternal, uri_no_suffix]}
+                  rgw_keystone_accepted_roles: 'Member, _member_, admin'
+                  rgw_keystone_admin_domain: default
+                  rgw_keystone_admin_project: service
+                  rgw_keystone_admin_user: swift
+                  rgw_keystone_admin_password: {get_param: SwiftPassword}
+                  rgw_s3_auth_use_keystone: 'true'
+              - {get_param: CephConfigOverrides}
           ntp_service_enabled: false
           generate_fsid: false
           ip_version:
index 6e0f4a6..fe7d311 100644 (file)
@@ -38,6 +38,7 @@ parameters:
       - /dev/vdb
       journal_size: 512
       journal_collocation: true
+      osd_scenario: collocated
 
 resources:
   CephBase:
@@ -72,4 +73,5 @@ outputs:
         - ceph_osd_ansible_vars:
             map_merge:
             - {get_attr: [CephBase, role_data, config_settings, ceph_common_ansible_vars]}
+            - osd_objectstore: filestore
             - {get_param: CephAnsibleDisksConfig}
\ No newline at end of file