Add ring syncing to the multi node example

This commit adds an example of how to sync rings between
nodes.

The ringbuilder role exports resources representing the ring
databases that need to be synced.

The storage node can then just collect these resources
This commit is contained in:
Dan 2012-03-14 05:47:55 +00:00
parent 6fed9719ed
commit cf34ab0522

@ -55,6 +55,7 @@ node 'swift_storage_3' {
$swift_zone = 3
include role_swift_storage
}
#
@ -67,6 +68,7 @@ node 'swift_proxy' {
# TODO this should not be recommended
class { 'role_swift_ringbuilder': }
class { 'role_swift_proxy':
require => Class['role_swift_ringbuilder'],
}
@ -109,6 +111,14 @@ class role_swift_ringbuilder inherits role_swift {
require => Class['swift'],
}
class { 'swift::ringserver':
local_net_ip => $swift_local_net_ip,
}
@@swift::ringsync { ['account', 'object', 'container']:
ring_server => $swift_local_net_ip
}
}
class role_swift_proxy inherits role_swift {
@ -167,4 +177,7 @@ class role_swift_storage inherits role_swift {
device_name => 1,
weight => 1,
}
Swift::Ringsync<<||>>
}