diff options
-rw-r--r-- | manifests/profile/base/ceph/rgw.pp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/manifests/profile/base/ceph/rgw.pp b/manifests/profile/base/ceph/rgw.pp new file mode 100644 index 0000000..7cd2b6a --- /dev/null +++ b/manifests/profile/base/ceph/rgw.pp @@ -0,0 +1,63 @@ +# Copyright 2016 Red Hat, Inc. +# +# 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. +# +# == Class: tripleo::profile::base::ceph::rgw +# +# Ceph RadosGW profile for tripleo +# +# === Parameters +# +# [*keystone_admin_token*] +# The keystone admin token +# +# [*keystone_url*] +# The internal or admin url for keystone +# +# [*rgw_key*] +# The cephx key for the RGW client service +# +# [*step*] +# (Optional) The current step in deployment. See tripleo-heat-templates +# for more details. +# Defaults to hiera('step') +# +class tripleo::profile::base::ceph::rgw ( + $keystone_admin_token, + $keystone_url, + $rgw_key, + $step = hiera('step'), +) { + + include ::tripleo::profile::base::ceph + + if $step >= 3 { + include ::ceph::profile::rgw + $rgw_name = hiera('ceph::profile::params::rgw_name', 'radosgw.gateway') + ceph::key { "client.${rgw_name}": + secret => $rgw_key, + cap_mon => 'allow *', + cap_osd => 'allow *', + inject => true, + } + } + + if $step >= 4 { + ceph::rgw::keystone { $rgw_name: + rgw_keystone_accepted_roles => ['admin', '_member_', 'Member'], + use_pki => false, + rgw_keystone_admin_token => $keystone_admin_token, + rgw_keystone_url => $keystone_url, + } + } +} |