OphidiaBigData.ophidia-cluster
Ophidia Cluster Role
This Ansible role sets up and configures an ECAS cluster. It provides everything needed for scientific data analysis using the Ophidia framework, JupyterHub, and a Grafana monitoring system.
Introduction
This repository has Ansible roles available on Ansible Galaxy: Ophidia Galaxy
Role Variables
cert_passwd
: Password for certificates and user accounts.ophdb_passwd
: Password for MySQL.oph_user
: User who will operate the Ophidia framework.oph_account_user
: Username for the new Ophidia user account.oph_account_passwd
: Password for the new Ophidia user account.base_path
: Main path for the shared data folder.io_prefix
: Hostname prefix for Ophidia IO nodes.io_node_number
: Number of IO nodes in the cluster.io_hostnames
: List of hostnames for Ophidia IO nodes.io_cpus
: Number of CPU cores for Ophidia IO nodes.io_ips
: List of IP addresses for Ophidia IO nodes.server_hostname
: Hostname for the Ophidia server node.private_server_ip
: Private IP address of the Ophidia server node.public_server_ip
: Public IP address of the Ophidia server node.nfs_subnet
: Subnetwork for Ophidia IO computing nodes (for NFS folder mounting).mysql_subnet
: Subnetwork for the MySQL server on cluster nodes (for database access).deploy_type
: Type of deployment ('install', 'configure', or 'complete').node_type
: Type of node to deploy ('server', 'io', or 'single').user_home
: Path to the user's home directory.force_reinstall
: Flag (false or true) to decide if the instance should update when the role is run again.
Dependencies
Requires the grycap.nfs
and grycap.slurm
roles.
Requirements
Requires at least Ansible version 2.3.
Example Playbook
Here’s an example playbook to install and set up the ECAS cluster:
- hosts: oph-server
pre_tasks:
- name: Gather facts from oph-io
setup:
delegate_to: "{{ item }}"
delegate_facts: true
loop: "{{ groups['oph-io'] }}"
- name: Create NFS shared directory
file: path=/data state=directory owner=root group=root
roles:
- { role: 'OphidiaBigData.ophidia-cluster', node_type: 'server', deploy_type: 'complete', server_hostname: "{{ansible_hostname}}", io_hostnames: "{{ groups['oph-io']|map('extract', hostvars, 'ansible_hostname')|list }}", io_ips: "{{ groups['oph-io']|map('extract', hostvars, ['ansible_default_ipv4','address'])|list if 'oph-io' in groups else []}}", private_server_ip: "{{ ansible_default_ipv4.address }}", public_server_ip: "{{ ansible_default_ipv4.address }}", nfs_subnet: 'oph-*', mysql_subnet: 'oph-%'}
- hosts: oph-io
roles:
- { role: 'OphidiaBigData.ophidia-cluster', node_type: 'io', deploy_type: 'complete', server_hostname: "{{ hostvars['oph-server']['ansible_hostname'] }}", io_hostnames: "{{ groups['oph-io']|map('extract', hostvars, 'ansible_hostname')|list if 'oph-io' in groups else []}}", io_ips: "{{ groups['oph-io']|map('extract', hostvars, ['ansible_default_ipv4', 'address'])|list if 'oph-io' in groups else []}}", private_server_ip: "{{ hostvars['oph-server']['ansible_default_ipv4']['address'] }}", public_server_ip: "{{ hostvars['oph-server']['ansible_default_ipv4']['address'] }}", nfs_subnet: "oph-*", mysql_subnet: "oph-%" }
Further Documentation
- Ophidia: Ophidia Website
- Installation and Configuration: Ophidia Admin Documentation
Installa
ansible-galaxy install OphidiaBigData.ophidia-cluster
Licenza
Unknown
Download
466
Proprietario