Puppet Class: swift::internal_client
- Inherits:
- swift::params
- Defined in:
- manifests/internal_client.pp
Overview
Class: swift::internal_client
Configures internal client
Parameters
- user
-
(optional) User to run as Defaults to $::swift::params::user.
- pipeline
-
(optional) The list of elements of the internal client pipeline. Defaults to [‘catch_errors’, ‘proxy-logging’, ‘cache’, ‘proxy-server’]
- object_chunk_size
-
(optional) Chunk size to read from object servers. Defaults to $facts.
- client_chunk_size
-
(optional) Chunk size to read from clients. Defaults to $facts.
- read_affinity
-
(optional) Configures the read affinity of internal client. Defaults to undef.
- write_affinity
-
(optional) Configures the write affinity of internal client. Defaults to $facts.
- write_affinity_node_count
-
(optional) Configures write_affinity_node_count for internal client. Optional but requires write_affinity to be set. Defaults to $facts.
- client_timeout
-
(optional) Configures client_timeout for internal client. Defaults to $facts.
- node_timeout
-
(optional) Configures node_timeout for internal client. Defaults to $facts.
- recoverable_node_timeout
-
(optional) Configures recoverable_node_timeout for internal client. Defaults to $facts.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'manifests/internal_client.pp', line 48
class swift::internal_client (
$user = $::swift::params::user,
$pipeline = ['catch_errors', 'proxy-logging', 'cache', 'proxy-server'],
$object_chunk_size = $facts['os_service_default'],
$client_chunk_size = $facts['os_service_default'],
$read_affinity = undef,
$write_affinity = $facts['os_service_default'],
$write_affinity_node_count = $facts['os_service_default'],
$client_timeout = $facts['os_service_default'],
$node_timeout = $facts['os_service_default'],
$recoverable_node_timeout = $facts['os_service_default'],
) inherits swift::params {
include swift::deps
validate_legacy(Array, 'validate_array', $pipeline)
if empty($pipeline) or $pipeline[-1] != 'proxy-server' {
fail('proxy-server must be the last element in pipeline')
}
swift_internal_client_config {
'DEFAULT/user': value => $user;
'pipeline:main/pipeline': value => join($pipeline, ' ');
'app:proxy-server/use': value => 'egg:swift#proxy';
'app:proxy-server/account_autocreate': value => true;
'app:proxy-server/object_chunk_size': value => $object_chunk_size;
'app:proxy-server/client_chunk_size': value => $client_chunk_size;
'app:proxy-server/write_affinity': value => $write_affinity;
'app:proxy-server/write_affinity_node_count': value => $write_affinity_node_count;
'app:proxy-server/client_timeout': value => $client_timeout;
'app:proxy-server/node_timeout': value => $node_timeout;
'app:proxy-server/recoverable_node_timeout': value => $recoverable_node_timeout;
}
if $read_affinity {
swift_internal_client_config {
'app:proxy-server/sorting_method': value => 'affinity';
'app:proxy-server/read_affinity': value => $read_affinity;
}
} else {
swift_internal_client_config {
'app:proxy-server/sorting_method': value => $facts['os_service_default'];
'app:proxy-server/read_affinity': value => $facts['os_service_default'];
}
}
}
|