An Ansible role for OpenIO rawx.
Rawx is the storage service and is implemented as an apache webdav repository module.
- Ansible 2.4+
Variable | Default | Comments (type) |
---|---|---|
openio_rawx_bind_address |
{ hostvars[inventory_hostname]['ansible_' + openio_rawx_bind_interface]['ipv4']['address'] }} |
Address IP to use. |
openio_rawx_bind_interface |
"{{ ansible_default_ipv4.alias }}" |
Interface to use |
openio_rawx_bind_port |
6200 |
Listening PORT |
openio_rawx_buffer_size |
0 |
Size of the buffer receiving chunk data (kiB). 0 keeps the default set by the code. |
openio_rawx_compression |
"off" |
Compression mode |
openio_rawx_events |
true |
Events notifications |
openio_rawx_fsync |
enabled |
At the end of an upload, perform a fsync() on the chunk file itself |
openio_rawx_fsync_dir |
enabled |
At the end of an upload, perform a fsync() on the directory holding the chunk |
openio_rawx_gridinit_dir |
"/etc/gridinit.d/{{ openio_rawx_namespace }}" |
Path to copy the gridinit conf |
openio_rawx_gridinit_file_prefix |
"" |
Maybe set it to {{ openio_memcached_namespace }}- for old gridinit's style |
openio_rawx_hash_depth |
1 |
How many levels of directories are used to store chunks |
openio_rawx_hash_width |
3 |
How many hexdigits must be used to name the indirection directories |
openio_rawx_headers_buffer_size |
0 |
Size of the buffer receiving header data (bytes). 0 keeps the default set by the code |
openio_rawx_location |
`"{{ openio_location_room | default ('') }}{{ openio_location_rack |
openio_rawx_location_ending |
"" |
... |
openio_rawx_mpm_max_requests_per_child |
0 |
set the total number of requests each child server process serves before the child dies |
openio_rawx_mpm_max_spare_threads |
256 |
Maximum number of idle threads |
openio_rawx_mpm_min_spare_threads |
32 |
Minimum number of idle threads to handle request spikes |
openio_rawx_mpm_server_limit |
16 |
sets the maximum configured value for MaxRequestWorkers for the lifetime of the process |
openio_rawx_mpm_start_servers |
1 |
sets the number of child server processes created on startup |
openio_rawx_mpm_threads_per_child |
256 |
sets the maximum configured value for ThreadsPerChild for the lifetime of the process |
openio_rawx_namespace |
"/var/lib/oio/sds/{{ openio_rawx_namespace }}/{{ openio_rawx_servicename }}" |
Namespace |
openio_rawx_pid_directory |
"/run/oio/sds/{{ openio_rawx_namespace }}" |
Folder for pid file |
openio_rawx_provision_only |
false |
Provision only without restarting services |
openio_rawx_serviceid |
"0" |
ID in gridinit |
openio_rawx_slots |
[rawx] |
The service's slot in conscience |
openio_rawx_state |
present |
If absent the configuration will be removed and service will be stopped. If offline the configure part is skipped. |
openio_rawx_volume |
"/var/lib/oio/sds/{{ openio_rawx_namespace }}/{{ openio_rawx_servicename }}" |
Path to store data |
openio_rawx_package_upgrade |
false |
Set the packages to the latest version (to be set in extra_vars) |
No dependencies.
- hosts: all
become: true
vars:
NS: OPENIO
roles:
- role: users
- role: repo
openio_repository_no_log: false
openio_repository_products:
sds:
release: "18.10"
- role: namespace
openio_namespace_name: "{{ NS }}"
- role: gridinit
openio_gridinit_namespace: "{{ NS }}"
openio_gridinit_per_ns: true
- role: rawx
openio_rawx_namespace: "{{ NS }}"
openio_rawx_serviceid: "0"
openio_rawx_bind_port: 6200
openio_rawx_volume: "/var/lib/oio/sds/{{ openio_rawx_namespace }}/{{ openio_rawx_servicename }}"
[all]
node1 ansible_host=192.168.1.173
The administrator can declare the location of each service as a dot-separated string like room1.rack1.server2.volume4 (1 to 4 words)
http://docs.openio.io/arch-design/conscience.html#locations
Issues, feature requests, ideas are appreciated and can be posted in the Issues section.
Pull requests are also very welcome. The best way to submit a PR is by first creating a fork of this Github project, then creating a topic branch for the suggested change and pushing that branch to your own fork. Github can then easily create a PR based on that branch.
GNU AFFERO GENERAL PUBLIC LICENSE, Version 3
- Cedric DELGEHIER (maintainer)