0383a1aea2
* add a ini_file helper as ceph_config. * set the seperator as ' = ' in order to be the same as ceph-deploy * add path param so that seperator can be easily tested. ** also allows for users to change the default path if desired. * add test case to prove spacing around seperator. * add simple test case to ensure type works. Closes-bug: #1243852 Change-Id: I0f3bb41d75d48d8af3b5b7cfb7768c4d3de2c002
51 lines
1.3 KiB
Ruby
51 lines
1.3 KiB
Ruby
# Copyright (C) Dan Bode <bodepd@gmail.com>
|
|
#
|
|
# 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: Dan Bode <bodepd@gmail.com>
|
|
# Author: Andrew Woodward <xarses>
|
|
|
|
Puppet::Type.type(:ceph_config).provide(
|
|
:ini_setting,
|
|
:parent => Puppet::Type.type(:ini_setting).provider(:ruby)
|
|
) do
|
|
|
|
def section
|
|
resource[:name].split('/', 2).first
|
|
end
|
|
|
|
def setting
|
|
resource[:name].split('/', 2).last
|
|
end
|
|
|
|
def separator
|
|
' = '
|
|
end
|
|
|
|
def self.file_path
|
|
'/etc/ceph/ceph.conf'
|
|
end
|
|
|
|
# required to be able to hack the path in unit tests
|
|
# also required if a user wants to otherwise overwrite the default file_path
|
|
# Note: purge will not work on over-ridden file_path
|
|
def file_path
|
|
if not resource[:path]
|
|
self.class.file_path
|
|
else
|
|
resource[:path]
|
|
end
|
|
end
|
|
|
|
end
|