From 4794154d71a7a566bb0c75cb8e0b4adb5fc52bfd Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Tue, 11 Oct 2016 12:51:44 +0200 Subject: [PATCH] Enable Glance multiple locations when using Ceph Currently Glance v2 doesn't allow to specify custom locations for images by default, it returns 403. To enable this, the 'show_multiple_locations' param must be set to True. Also see similar change introduced in devstack [1]. 1. Id0f1c398b8b48f2ffc2488b29bc7cbd279069337 Change-Id: Ia7e0558e4f318640981abb44d188e3479b5eae69 Closes-Bug: 1632285 --- puppet/services/ceph-base.yaml | 26 +++++++++++++++++++++++++- puppet/services/ceph-external.yaml | 2 ++ puppet/services/ceph-mon.yaml | 2 ++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/puppet/services/ceph-base.yaml b/puppet/services/ceph-base.yaml index adb17b2692..71d81dc2ba 100644 --- a/puppet/services/ceph-base.yaml +++ b/puppet/services/ceph-base.yaml @@ -1,4 +1,4 @@ -heat_template_version: 2016-04-08 +heat_template_version: 2016-10-14 description: > Ceph base service. Shared by all Ceph services. @@ -29,9 +29,20 @@ parameters: GlanceRbdPoolName: default: images type: string + GlanceBackend: + default: swift + description: The short name of the Glance backend to use. Should be one + of swift, rbd, or file + type: string + constraints: + - allowed_values: ['swift', 'file', 'rbd'] GnocchiRbdPoolName: default: metrics type: string + NovaEnableRbdBackend: + default: false + description: Whether to enable or not the Rbd backend for Nova + type: boolean NovaRbdPoolName: default: vms type: string @@ -63,6 +74,16 @@ parameter_groups: parameters: - ControllerEnableCephStorage +conditions: + glance_multiple_locations: + and: + - equals: + - get_param: GlanceBackend + - rbd + - equals: + - get_param: NovaEnableRbdBackend + - false + outputs: role_data: description: Role data for the Ceph base service. @@ -128,3 +149,6 @@ outputs: CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName} GLANCE_POOL: {get_param: GlanceRbdPoolName} GNOCCHI_POOL: {get_param: GnocchiRbdPoolName} + service_config_settings: + glance_api: + glance::api::show_multiple_locations: {if: [glance_multiple_locations, true, false]} diff --git a/puppet/services/ceph-external.yaml b/puppet/services/ceph-external.yaml index 52c4824f04..7d75074ce3 100644 --- a/puppet/services/ceph-external.yaml +++ b/puppet/services/ceph-external.yaml @@ -78,5 +78,7 @@ outputs: CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName} GLANCE_POOL: {get_param: GlanceRbdPoolName} GNOCCHI_POOL: {get_param: GnocchiRbdPoolName} + service_config_settings: + get_attr: [CephBase, role_data, service_config_settings] step_config: | include ::tripleo::profile::base::ceph::client diff --git a/puppet/services/ceph-mon.yaml b/puppet/services/ceph-mon.yaml index 552086ab17..3471f16ca8 100644 --- a/puppet/services/ceph-mon.yaml +++ b/puppet/services/ceph-mon.yaml @@ -101,5 +101,7 @@ outputs: '110 ceph_mon': dport: - 6789 + service_config_settings: + get_attr: [CephBase, role_data, service_config_settings] step_config: | include ::tripleo::profile::base::ceph::mon