recipes/conf.rb (35 lines of code) (raw):
#
# Author: Hans Chris Jones <chris.jones@lambdastack.io>
# Cookbook: ceph-chef
#
# Copyright 2017, Bloomberg Finance L.P.
#
# 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.
#
# All versions of Ceph below Infernalis needs selinux disabled or in Permissive mode
execute 'set selinux' do
command 'setenforce 0'
# Opposite
only_if "getenforce | grep 'Permissive\|Disabled'"
ignore_failure true
end
include_recipe 'ceph-chef::fsid'
# Main ceph configuration location
# For Jewel and later Ceph uses a Ceph user so go ahead and create the conf directory and change ownership later...
directory '/etc/ceph' do
mode node['ceph']['mode']
action :create
not_if 'test -f /etc/ceph'
end
cookbook_file '/usr/bin/ceph-remove-clean' do
source 'ceph-remove-clean'
owner 'root'
group 'root'
mode '0755'
end
template "/etc/ceph/#{node['ceph']['cluster']}.conf" do
source 'ceph.conf.erb'
variables lazy {
{
:fsid_secret => ceph_chef_fsid_secret,
:mon_addresses => ceph_chef_mon_addresses,
:is_mon => ceph_chef_is_mon_node,
:is_rgw => ceph_chef_is_radosgw_node,
:is_rbd => ceph_chef_is_rbd_node,
:is_mds => ceph_chef_is_mds_node,
:is_admin => ceph_chef_is_admin_node,
:is_osd => ceph_chef_is_osd_node,
:is_rest_api => ceph_chef_is_restapi_node,
:is_federated => ceph_chef_is_radosgw_federated
}
}
mode '0644'
end