Skip to content

open-io/ansible-role-openio-rawx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Ansible role rawx

An Ansible role for OpenIO rawx.

Rawx is the storage service and is implemented as an apache webdav repository module.

Requirements

  • Ansible 2.4+

Role Variables

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)

Dependencies

No dependencies.

Example Playbook

- 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

Location

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

Contributing

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.

License

GNU AFFERO GENERAL PUBLIC LICENSE, Version 3

Contributors

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors