puppet-ceph/manifests/profile/rgw.pp
Takashi Kajinami e970858120 rgw profile: Support keystone integration
This introduces a few new parameters to the profile class so that users
can enable keystone integration of RADOS Gateway.

This allows us to fix some ignored profile parameters, and also remove
the references from the non-profile manifest to the profile parameters.

The rgw_keystone_version parameter is removed by this change.
The actual parameter was deprecated[1] and was removed[2] from the rgw
class very long ago.

[1] 85b9d61c40
[2] 0377da4e08

Change-Id: I4026d3c2d40ae9b7ed9c3a60529011854b878f89
2023-07-31 10:54:07 +09:00

56 lines
2.3 KiB
Puppet

#
# Copyright (C) 2016 Keith Schincke
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Author: Keith Schincke <keith.schincke@gmail.com>
#
# == Class: ceph::profile::rgw
#
# Profile for Ceph rgw
#
class ceph::profile::rgw {
require ceph::profile::base
$rgw_name = $ceph::profile::params::rgw_name ? {
undef => 'radosgw.gateway',
default => $ceph::profile::params::rgw_name,
}
ceph::rgw { $rgw_name:
user => $ceph::profile::params::rgw_user,
rgw_print_continue => $ceph::profile::params::rgw_print_continue,
frontend_type => $ceph::profile::params::frontend_type,
rgw_frontends => $ceph::profile::params::rgw_frontends,
rgw_swift_url => $ceph::profile::params::rgw_swift_url,
}
if $ceph::profile::params::rgw_keystone_integration {
ceph::rgw::keystone { $rgw_name:
rgw_keystone_admin_domain => $ceph::profile::params::rgw_keystone_admin_domain,
rgw_keystone_admin_project => $ceph::profile::params::rgw_keystone_admin_project,
rgw_keystone_admin_user => $ceph::profile::params::rgw_keystone_admin_user,
rgw_keystone_admin_password => $ceph::profile::params::rgw_keystone_admin_password,
rgw_keystone_url => $ceph::profile::params::rgw_keystone_url,
}
class { 'ceph::rgw::keystone::auth':
password => $ceph::profile::params::rgw_keystone_admin_password,
user => $ceph::profile::params::rgw_keystone_admin_user,
tenant => $ceph::profile::params::rgw_keystone_admin_project,
public_url => $ceph::profile::params::rgw_swift_public_url,
admin_url => $ceph::profile::params::rgw_swift_admin_url,
internal_url => $ceph::profile::params::rgw_swift_internal_url,
region => $ceph::profile::params::rgw_swift_region,
}
}
}