From 3729e63b59b36615180e64ffdab9e1f6fd66796e Mon Sep 17 00:00:00 2001 From: Jiri Stransky Date: Tue, 7 Jul 2015 15:16:10 +0200 Subject: Support NFS backend for Glance (via Pacemaker) Adds support for NFS backend in Glance by allowing the storage directory for the 'file' backend to be a mount managed by Pacemaker. Default behavior is unchanged. Since the Pacemaker-related parameters are not exposed on top level, change storage-environment.yaml to use parameter_defaults instead of parameters. Depends on a Heat fix for environment file's parameter_defaults to work well with JSONs and comma delimited lists (see Depends-On). Change-Id: I6e7e2eaf6919b955650c0b32e1629a4067602c89 Depends-On: I85b13a79dbc97a77e20c0d5df8eaf05b3000815e --- puppet/controller.yaml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'puppet/controller.yaml') diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 0bb8035b..6db9e955 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -180,6 +180,30 @@ parameters: type: string constraints: - allowed_values: ['swift', 'file', 'rbd'] + GlanceFilePcmkDevice: + default: '' + description: > + An exported storage device that should be mounted by Pacemaker + as Glance storage. Effective when GlanceFilePcmkManage is true. + type: string + GlanceFilePcmkFstype: + default: 'nfs' + description: > + Filesystem type for Pacemaker mount used as Glance storage. + Effective when GlanceFilePcmkManage is true. + type: string + GlanceFilePcmkManage: + default: false + description: > + Whether to make Glance file backend a mount managed by Pacemaker. + Effective when GlanceBackend is 'file'. + type: boolean + GlanceFilePcmkOptions: + default: '' + description: > + Mount options for Pacemaker mount used as Glance storage. + Effective when GlanceFilePcmkManage is true. + type: string HAProxySyslogAddress: default: /dev/log description: Syslog address where HAproxy will send its log @@ -728,6 +752,10 @@ resources: glance_port: {get_param: GlancePort} glance_password: {get_param: GlancePassword} glance_backend: {get_param: GlanceBackend} + glance_file_pcmk_device: {get_param: GlanceFilePcmkDevice} + glance_file_pcmk_fstype: {get_param: GlanceFilePcmkFstype} + glance_file_pcmk_manage: {get_param: GlanceFilePcmkManage} + glance_file_pcmk_options: {get_param: GlanceFilePcmkOptions} glance_notifier_strategy: {get_param: GlanceNotifierStrategy} glance_log_file: {get_param: GlanceLogFile} glance_dsn: @@ -1081,6 +1109,10 @@ resources: glance::backend::swift::swift_store_key: {get_input: glance_password} glance_backend: {get_input: glance_backend} glance::db::mysql::password: {get_input: glance_password} + glance_file_pcmk_device: {get_input: glance_file_pcmk_device} + glance_file_pcmk_fstype: {get_input: glance_file_pcmk_fstype} + glance_file_pcmk_manage: {get_input: glance_file_pcmk_manage} + glance_file_pcmk_options: {get_input: glance_file_pcmk_options} # Heat heat_stack_domain_admin_password: {get_input: heat_stack_domain_admin_password} -- cgit 1.2.3-korg