Files
puppet-swift/manifests/storage/all.pp
Emilien Macchi e52ebb053b Change defaults fro incoming/outgoing chmod (rsync)
In a previous release, we sent a warning about the default
incoming/outgoing chmod that was configured for rsync.
We mentionned it was risky and people should avoid using 0644 like it
was by default. For backward compatibility, we kept this default and
sent a warning.

2 releases later, this patch aims to change the default and stop to send
the warning.

Change-Id: Ic3aaaec0eee4225bf2021937edf972528ea72e2c
Closes-bug: #1433390
2015-12-24 15:00:48 +01:00

146 lines
4.5 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 false. Soon to be changed to 'true' to match Swift defaults.
#
# [*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 = undef,
$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',
) {
if (!$mount_check) {
warning('The default for the mount_check parameter will change from false to true in the next release to match upstream. To disable this warning, set mount_check=false.')
$mount_check_real = false
}
else {
$mount_check_real = $mount_check
}
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_real,
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,
}
}