Document and example for storage filters use

swift::storage::filter::recon
swift::storage::filter::healthcheck

Change-Id: I770a201b36fa82e5063c02e5d84d4c231211919b
Closes-Bug: #1466707
This commit is contained in:
Adam Vinsh 2015-12-10 17:55:35 -05:00
parent 67df8085d0
commit 1b3864d211
2 changed files with 53 additions and 0 deletions

@ -194,6 +194,34 @@ swift::storage::server { '6010':
}
```
### Define: swift::storage::filter::recon
Configure the swift recon middleware on a swift:storage::server
Can be configured on: account, container, object servers.
### Define: swift::storage::filter::healthcheck
Configure the swift health check middleware on a swift:storage::server
Can be configured on: account, container, object servers.
Declaring either the recon or health check middleware in a node manifest is required when specifying the recon or healthcheck middleware in an (account|container|object)_pipeline.
example manifest:
```
class { 'swift::storage::all':
storage_local_net_ip => $swift_local_net_ip,
account_pipeline => ['healthcheck', 'recon', 'account-server'],
container_pipeline => ['healthcheck', 'recon', 'container-server'],
object_pipeline => ['healthcheck', 'recon', 'object-server'],
}
$rings = [
'account',
'object',
'container']
swift::storage::filter::recon { $rings: }
swift::storage::filter::healthcheck { $rings: }
```
####`namevar`
The namevar/title for this type will map to the port where the server is hosted.

@ -33,6 +33,24 @@ $swift_shared_secret = hiera('swift_shared_secret', 'changeme')
#$swift_local_net_ip = $ipaddress_eth0
$swift_local_net_ip = hiera('swift_local_net_ip', $ipaddress_eth0)
# Swift storage configurations
$rings = [
'account',
'object',
'container']
$account_pipeline = [
'healthcheck',
'recon',
'account-server']
$container_pipeline = [
'healthcheck',
'recon',
'container-server']
$object_pipeline = [
'healthcheck',
'recon',
'object-server']
#$swift_keystone_node = '172.16.0.21'
$swift_keystone_node = hiera('swift_keystone_node', '172.16.0.25')
#$swift_proxy_node = '172.168.0.25'
@ -121,9 +139,16 @@ node /swift-storage/ {
require => Class['swift'],
}
# configure account/container/object server middlewares
swift::storage::filter::recon { $rings: }
swift::storage::filter::healthcheck { $rings: }
# install all swift storage servers together
class { '::swift::storage::all':
storage_local_net_ip => $swift_local_net_ip,
object_pipeline => $object_pipeline,
container_pipeline => $container_pipeline,
account_pipeline => $account_pipeline,
}
# specify endpoints per device to be added to the ring specification