
Previously, all of the storage server types (account, container, proxy) were always configured to be installed on the same node. It often makes sense to only have the account and container together, and to put the object server on a different node. (or its possible that other configurations make sense) This commit refactors the swift module so that each of the types of nodes can be built independently of each other.
50 lines
1.4 KiB
Puppet
50 lines
1.4 KiB
Puppet
#
|
|
# configures all storage types
|
|
# on the same node
|
|
#
|
|
# [*storeage_local_net_ip*] ip address that the swift servers should
|
|
# bind to. Required
|
|
# [*devices*] The path where the managed volumes can be found.
|
|
# This assumes that all servers use the same path.
|
|
# Optional. Defaults to /srv/node/
|
|
# [*object_port*] Port where object storage server should be hosted.
|
|
# Optional. Defaults to 6000.
|
|
# [*container_port*] Port where the container storage server should be hosted.
|
|
# Optional. Defaults to 6001.
|
|
# [*account_port*] Port where the account storage server should be hosted.
|
|
# Optional. Defaults to 6002.
|
|
#
|
|
#
|
|
class swift::storage::all(
|
|
$storage_local_net_ip,
|
|
$devices = '/srv/node',
|
|
$object_port = '6000',
|
|
$container_port = '6001',
|
|
$account_port = '6002'
|
|
) {
|
|
|
|
class { 'swift::storage':
|
|
storage_local_net_ip => $storage_local_net_ip,
|
|
}
|
|
|
|
Swift::Storage::Server {
|
|
devices => $devices,
|
|
storage_local_net_ip => $storage_local_net_ip,
|
|
}
|
|
|
|
swift::storage::server { $account_port:
|
|
type => 'account',
|
|
config_file_path => 'account-server.conf',
|
|
}
|
|
|
|
swift::storage::server { $container_port:
|
|
type => 'container',
|
|
config_file_path => 'container-server.conf',
|
|
}
|
|
|
|
swift::storage::server { $object_port:
|
|
type => 'object',
|
|
config_file_path => 'object-server.conf',
|
|
}
|
|
}
|