diff --git a/sysadmin/grid5000/cassandra/ansible/hosts.yml b/sysadmin/grid5000/cassandra/ansible/hosts.yml index 185cc06..9c1fa7b 100644 --- a/sysadmin/grid5000/cassandra/ansible/hosts.yml +++ b/sysadmin/grid5000/cassandra/ansible/hosts.yml @@ -1,218 +1,219 @@ # Global configuration monitoring: hosts: monitoring1: paranoia-3.rennes.grid5000.fr: parasilo-[18:19].rennes.grid5000.fr: paravance-[1:9].rennes.grid5000.fr: troll-1.grenoble.grid5000.fr: vars: ansible_connection: local install_docker_install_script: false swh-storage: hosts: parasilo-[20:28].rennes.grid5000.fr: paravance-[10:78].rennes.grid5000.fr: troll-[2:4].grenoble.grid5000.fr: # local vagrant hosts swh-storage1: vars: ansible_connection: local journal: brokers: - broker1.journal.softwareheritage.org:9093 - broker2.journal.softwareheritage.org:9093 - broker3.journal.softwareheritage.org:9093 - broker4.journal.softwareheritage.org:9093 consumer: user: swh-vse group: swh-vse-grid5000-1 replayer_count: content: 60 skipped_content: 1 directory: 60 + extid: 5 origin: 1 origin_visit: 1 origin_visit_status: 1 release: 1 revision: 1 snapshot: 1 # Initial backfill # content: 20 # skipped_content: 2 # directory: 20 # origin: 20 # origin_visit: 20 # origin_visit_status: 20 # release: 20 # revision: 20 # snapshot: 20 cassandra: hosts: dahu-[1:32].grenoble.grid5000.fr: parasilo-[1:17].rennes.grid5000.fr: # local vagrant hosts cassandra[1:9]: vars: ansible_connection: local cassandra_config_dir: /etc/cassandra cassandra_data_dir_base: /srv/cassandra cassandra_data_dir_system: "{{cassandra_data_dir_base}}/system" cassandra_data_dir: "{{ cassandra_data_dir_base }}/data" cassandra_commitlogs_dir: "{{ cassandra_data_dir_base }}/commitlogs" # Per cluster specificities dahu_cluster_hosts: hosts: dahu-[1:32].grenoble.grid5000.fr: vars: cassandra_listen_interface: enp24s0f0 zfs_pools: commitlogs: disks: - sdb datasets: commitlogs: /srv/cassandra/commitlogs data: disks: - sdc datasets: data: /srv/cassandra/data parasilo_cluster_hosts: hosts: parasilo-[1:28].rennes.grid5000.fr: vars: cassandra_listen_interface: eno1 ## run 1/2/3 CL on SSD + data on HDDS zfs_pools: commitlogs: disks: - sdf datasets: commitlogs: /srv/cassandra/commitlogs data: disks: - sdb - sdc - sdd - sde datasets: data: /srv/cassandra/data ## run 4 CL and data on same partition # zfs_pools: # data: # disks: # - sdb # - sdc # - sdd # - sde # datasets: # data: /srv/cassandra # foo: # workaround # disks: # - sdf # datasets: # foo: /srv/foo ## run 5: CL on SSD + data on 2 HDD # zfs_pools: # commitlogs: # disks: # - sdf # datasets: # commitlogs: /srv/cassandra/commitlogs # data: # disks: # - sdc # - sdd # datasets: # data: /srv/cassandra/data ## run 6: CL on HDD + data on 2 HDD # zfs_pools: # commitlogs: # disks: # - sdb # datasets: # commitlogs: /srv/cassandra/commitlogs # data: # disks: # - sdc # - sdd # datasets: # data: /srv/cassandra/data paravance_cluster_hosts: hosts: paravance-[1:78].rennes.grid5000.fr: vars: cassandra_listen_interface: eno1 zfs_pools: - data: disks: - sdb datasets: data: /srv/cassandra # Vagrant configuration vagrant_nodes: hosts: cassandra1: ansible_host: 10.168.180.11 ansible_user: vagrant ansible_ssh_private_key_file: .vagrant/machines/cassandra1/libvirt/private_key cassandra2: ansible_host: 10.168.180.12 ansible_user: vagrant ansible_ssh_private_key_file: .vagrant/machines/cassandra2/libvirt/private_key cassandra3: ansible_host: 10.168.180.13 ansible_user: vagrant ansible_ssh_private_key_file: .vagrant/machines/cassandra3/libvirt/private_key swh-storage1: ansible_host: 10.168.180.14 ansible_user: vagrant ansible_ssh_private_key_file: .vagrant/machines/swh-storage/libvirt/private_key monitoring1: ansible_host: 10.168.180.15 ansible_user: vagrant ansible_ssh_private_key_file: .vagrant/machines/monitoring/libvirt/private_key vars: ansible_connection: ssh install_docker_install_script: true journal: brokers: # staging - broker0.journal.staging.swh.network:9093 consumer: user: swh-vse group: swh-vse-grid5000-1 replayer_count: content: 0 skipped_content: 0 directory: 5 origin: 0 origin_visit: 0 origin_visit_status: 0 release: 0 revision: 0 snapshot: 0 cassandra_listen_interface: eth1 # passed through --extra-vars on grid5000 cassandra_seed_ips: 10.168.180.11,10.168.180.12,10.168.180.13 nodes: 10.168.180.11,10.168.180.12,10.168.180.13,10.168.180.14,10.168.180.15,test zfs_pools: commitlogs: disks: - vdb datasets: commitlogs: /srv/cassandra/commitlogs data: disks: - vdc - vdd datasets: data: /srv/cassandra/data diff --git a/sysadmin/grid5000/cassandra/ansible/swh-storage.yml b/sysadmin/grid5000/cassandra/ansible/swh-storage.yml index bcb8e0f..1a6ef4c 100644 --- a/sysadmin/grid5000/cassandra/ansible/swh-storage.yml +++ b/sysadmin/grid5000/cassandra/ansible/swh-storage.yml @@ -1,128 +1,129 @@ --- - name: Add Backports repository apt_repository: repo: deb http://deb.debian.org/debian/ buster-backports main contrib non-free filename: backports.sources - name: swhstorage group group: name: swhstorage - name: swhstorage user user: name: swhstorage group: swhstorage home: /var/lib/swhstorage # *big images mount homes via nfs so the user creation failed - name: Add SWH repository apt_repository: repo: deb [trusted=yes] https://debian.softwareheritage.org/ buster-swh main state: present filename: cassandra.sources - name: Install packages apt: name: - daemonize - dstat - facter - prometheus-statsd-exporter - python3 - python3-gunicorn - tcpdump - name: Install packages from backports apt: name: - python3-typing-extensions - gunicorn3 default_release: buster-backports - name: Install swh storage packages apt: name: - python3-swh.storage - python3-swh.journal - name: install prometheus node exporter include: _install_prometheus_exporter.yml - name: Create directories file: state: directory path: "{{ item }}" owner: root group: root mode: "0755" with_items: - /etc/gunicorn - /etc/gunicorn/instances - /run/gunicorn - /run/gunicorn/swh-storage - /etc/softwareheritage - /etc/softwareheritage/storage - /etc/softwareheritage/replayer - name: Create swh-storage directories file: state: directory path: "{{ item }}" owner: swhstorage group: swhstorage mode: "0755" with_items: - /run/gunicorn/swh-storage/ - /run/replayer - name: Configure gunicorn - default service template: src: "templates/gunicorn/gunicorn.service" dest: "/etc/systemd/system/gunicorn.service" - name: Configure gunicorn - log configuration template: src: "templates/gunicorn/logconfig.ini" dest: "/etc/gunicorn/logconfig.ini" - name: swh-storage gunicorn instance configuration template: src: "templates/gunicorn/gunicorn-instance.cfg" dest: "/etc/gunicorn/instances/swh-storage.cfg" - name: swh-storage configuration directories template: src: "templates/swhstorage/storage.yml" dest: "/etc/softwareheritage/storage/storage.yml" - name: swh-storage service configuration template: src: "templates/gunicorn/gunicorn-instance-service.cfg" dest: "/etc/systemd/system/gunicorn-swh-storage.service" # TODO variabilize - name: swh-storage service service: name: gunicorn-swh-storage enabled: true state: started - name: swh-storage init cassandra script template: src: templates/swhstorage/init-cassandra-keyspace.sh dest: /usr/local/bin/swh-storage-init-cassandra.sh mode: 0755 - name: Configure replayer services include: _configure_replayer_services.yml obj={{ item }} loop: - content - skipped_content - directory + - extid - origin - origin_visit - origin_visit_status - release - revision - snapshot - name: reload systemd command: systemctl daemon-reload