
This adds defined anchor points for external modules to hook into the software install, config and service dependency chain. This allows external modules to manage software installation (virtualenv, containers, etc) and service management (pacemaker) without needing rely on resources that may change or be renamed. Change-Id: I00cf4846bb933291469be94c9debed425eddf798
140 lines
4.2 KiB
Puppet
140 lines
4.2 KiB
Puppet
#
|
|
# configures all storage types
|
|
# on the same node
|
|
#
|
|
# [*storage_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.
|
|
#
|
|
# [*allow_versions*] Boolean to enable the versioning in swift container
|
|
# Optional. Default to false.
|
|
#
|
|
# [*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.
|
|
#
|
|
# [*object_pipeline*]
|
|
# (optional) Specify the object pipeline
|
|
# Defaults to undef
|
|
#
|
|
# [*container_pipeline*]
|
|
# (optional) Specify the container pipeline
|
|
# Defaults to undef
|
|
#
|
|
# [*allow_versions*]
|
|
# (optional) Enable/Disable object versioning feature
|
|
# Defaults to false
|
|
#
|
|
# [*mount_check*]
|
|
# (optional) Whether or not check if the devices are mounted
|
|
# to prevent accidentally writing to the root device
|
|
# Defaults to true.
|
|
#
|
|
# [*account_pipeline*]
|
|
# (optional) Specify the account pipeline
|
|
# Defaults to undef
|
|
#
|
|
# [*log_facility*]
|
|
# (optional) Syslog log facility
|
|
# Defaults to 'LOG_LOCAL2'
|
|
#
|
|
# [*log_level*]
|
|
# (optional) Log level.
|
|
# Defaults to 'INFO'.
|
|
#
|
|
# [*log_udp_host*]
|
|
# (optional) If not set, the UDP receiver for syslog is disabled.
|
|
# Defaults to undef.
|
|
#
|
|
# [*log_udp_port*]
|
|
# (optional) Port value for UDP receiver, if enabled.
|
|
# Defaults to undef.
|
|
#
|
|
# [*log_requests*]
|
|
# (optional) Whether or not log every request. reduces logging output if false,
|
|
# good for seeing errors if true
|
|
# Defaults to true.
|
|
#
|
|
# [*incoming_chmod*] Incoming chmod to set in the rsync server.
|
|
# Optional. Defaults to 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r'
|
|
# This mask translates to 0755 for directories and 0644 for files.
|
|
#
|
|
# [*outgoing_chmod*] Outgoing chmod to set in the rsync server.
|
|
# Optional. Defaults to 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r'
|
|
# This mask translates to 0755 for directories and 0644 for files.
|
|
#
|
|
class swift::storage::all(
|
|
$storage_local_net_ip,
|
|
$devices = '/srv/node',
|
|
$object_port = '6000',
|
|
$container_port = '6001',
|
|
$account_port = '6002',
|
|
$object_pipeline = undef,
|
|
$container_pipeline = undef,
|
|
$allow_versions = false,
|
|
$mount_check = true,
|
|
$account_pipeline = undef,
|
|
$log_facility = 'LOG_LOCAL2',
|
|
$log_level = 'INFO',
|
|
$log_udp_host = undef,
|
|
$log_udp_port = undef,
|
|
$log_requests = true,
|
|
$incoming_chmod = 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r',
|
|
$outgoing_chmod = 'Du=rwx,g=rx,o=rx,Fu=rw,g=r,o=r',
|
|
) {
|
|
|
|
include ::swift::deps
|
|
|
|
class { '::swift::storage':
|
|
storage_local_net_ip => $storage_local_net_ip,
|
|
}
|
|
|
|
Swift::Storage::Server {
|
|
devices => $devices,
|
|
storage_local_net_ip => $storage_local_net_ip,
|
|
mount_check => $mount_check,
|
|
log_level => $log_level,
|
|
log_udp_host => $log_udp_host,
|
|
log_udp_port => $log_udp_port,
|
|
}
|
|
|
|
swift::storage::server { $account_port:
|
|
type => 'account',
|
|
config_file_path => 'account-server.conf',
|
|
pipeline => $account_pipeline,
|
|
log_facility => $log_facility,
|
|
log_requests => $log_requests,
|
|
incoming_chmod => $incoming_chmod,
|
|
outgoing_chmod => $outgoing_chmod,
|
|
}
|
|
|
|
swift::storage::server { $container_port:
|
|
type => 'container',
|
|
config_file_path => 'container-server.conf',
|
|
pipeline => $container_pipeline,
|
|
log_facility => $log_facility,
|
|
allow_versions => $allow_versions,
|
|
log_requests => $log_requests,
|
|
incoming_chmod => $incoming_chmod,
|
|
outgoing_chmod => $outgoing_chmod,
|
|
}
|
|
|
|
swift::storage::server { $object_port:
|
|
type => 'object',
|
|
config_file_path => 'object-server.conf',
|
|
pipeline => $object_pipeline,
|
|
log_facility => $log_facility,
|
|
log_requests => $log_requests,
|
|
incoming_chmod => $incoming_chmod,
|
|
outgoing_chmod => $outgoing_chmod,
|
|
}
|
|
}
|