
The previous use of require caused File.join on several occasions to calculate different paths to the same library, depending on which __FILE__ the library was being calculated as relative to; e.g. /some/path/prefix/spec/one/bar.rb would do the equivalent of: require '/some/path/prefix/spec/one/../../libraries/foo/mylib.rb' and /some/path/prefix/spec/two/baz.rb would do the equivalent of: require '/some/path/prefix/spec/two/../../libraries/foo/mylib.rb' This would result in mylib.rb being loaded multiple times, causing warnings from constants being redefined, and worse, multiple objects representing the same class hierarchy (@@foo) variables. The latter actually broke the @@subclasses registration mechanism in Pacemaker::CIBObject. By switching to File.expand_path, we ensure we always refer to each library using a single absolute path, which means Ruby's require mechanism works as it should, only loading the code the first time round.
DESCRIPTION
This is a cookbook for installing and configuring pacemaker.
Recipes
default
Installs and start pacemaker
.
config
Configures pacemaker resources such as primitive, location, colocation and order.
Resources/Providers
There are 7 LWRPs for interacting with pacemaker.
primitive
Configure and delete primitive resource.
:create
configures aprimitive
:delete
deletes aprimitive
Examples
pacemaker_primitive drbd do
agent "ocf:linbit:drbd"
params {'drbd_resource' => 'r0'}
op {'monitor' => { 'interval' => '5s', 'role' => 'Master' } }
action :create
end
clone
TBU
ms
TBU
location
TBU
colocation
TBU
order
TBU
node
TBU
License and Author
Author:: Robert Choi taeilchoi1@gmail.com
Copyright:: 2013 Robert Choi
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.