Allow for usage of storage::disk via Hiera

This submission adds a wrapper for the storage::disk defined type
which permits provisioning of a hash of disks via storage::disks

Change-Id: I3692b17988f8eacb7b8a7df1006a7fe24f587065
This commit is contained in:
Giulio Fidente
2016-08-03 23:32:48 +02:00
parent 0bb520569b
commit 287a714da4
2 changed files with 80 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
# 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: swift::storage::disks
#
# Class wrapper for the benefit of Hiera users
#
# === Parameters:
#
# [*args*] A Swift 'disk' config hash
# Optional. Defaults to a empty hash
#
# [*defaults*] A config hash
# Optional. Defaults to a empty hash
#
class swift::storage::disks($args = {}, $defaults = {}) {
create_resources(swift::storage::disk, $args, $defaults)
}

View File

@@ -0,0 +1,51 @@
# 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.
#
require 'spec_helper'
describe 'swift::storage::disks' do
shared_examples_for 'swift storage disks' do
let :params do
{
:args => {
'sdb' => {
'byte_size' => '2048',
},
'sdc' => {
},
},
}
end
it {
is_expected.to contain_swift__storage__disk('sdb').with(
:byte_size => '2048')
is_expected.to contain_swift__storage__disk('sdc')
}
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_configures 'swift storage disks'
end
end
end