diff --git a/files/linstor-client.conf b/files/linstor-client.conf new file mode 100644 index 0000000000000000000000000000000000000000..e9e805a1c8937766b584923c65a3599d88d8493b --- /dev/null +++ b/files/linstor-client.conf @@ -0,0 +1,2 @@ +[global] +controllers=10.0.42.101,10.0.42.102,10.0.42.103 diff --git a/files/linstor_db.toml b/files/linstor_db.toml new file mode 100644 index 0000000000000000000000000000000000000000..53b030bf8e79e09705c593ae6b6dcce9b2e9020b --- /dev/null +++ b/files/linstor_db.toml @@ -0,0 +1,4 @@ +[[promoter]] +id = "linstor_db" +[promoter.resources.linstor_db] +start = ["var-lib-linstor.mount", "linstor-controller.service"] diff --git a/files/override.conf b/files/override.conf new file mode 100644 index 0000000000000000000000000000000000000000..064bac4319ec6d322c870352e404930e4b665dda --- /dev/null +++ b/files/override.conf @@ -0,0 +1,5 @@ +[Service] +Environment=LS_KEEP_RES=linstor_db +Type=notify +TimeoutStartSec=infinity + diff --git a/files/var-lib-linstor.mount b/files/var-lib-linstor.mount new file mode 100644 index 0000000000000000000000000000000000000000..5f78133435ae292ddf7d543822aa96a5ecfaa5f4 --- /dev/null +++ b/files/var-lib-linstor.mount @@ -0,0 +1,7 @@ +[Unit] +Description=Filesystem for the LINSTOR controller + +[Mount] +# you can use the minor like /dev/drbdX or the udev symlink +What=/dev/drbd/by-res/linstor_db/0 +Where=/var/lib/linstor \ No newline at end of file diff --git a/tasks/linstor-setup.yml b/tasks/linstor-setup.yml index 8faae15ce213da6f807c1b3356e4707db06b2334..81120f943dd93ad777def709243378fc2ea42d91 100644 --- a/tasks/linstor-setup.yml +++ b/tasks/linstor-setup.yml @@ -17,6 +17,7 @@ - linstor-satellite - linstor-client - linstor-proxmox + - drbd-reactor state: present - name: Enable linstor-satellite @@ -28,5 +29,65 @@ - name: Disable linstor-controller systemd: service: linstor-controller - state: stopped - enabled: no \ No newline at end of file + enabled: no + +- name: copy latest binary of linstor-defaults + get_url: + url: https://git.sch.bme.hu/kszk/sysadmin/memory-storage-defaults/-/jobs/artifacts/master/raw/memory-defaults?job=build + dest: /usr/local/bin/memory-defaults + mode: 0755 +- name: copy linstor-defaults config + copy: + dest: /etc/memory-defaults.yaml + src: memory-defaults.yaml + +- name: add systemd unit 1 + get_url: + url: https://git.sch.bme.hu/kszk/sysadmin/memory-storage-defaults/-/raw/master/systemd/memory-defaults.service + dest: /etc/systemd/system/memory-defaults.service + +- name: add systemd unit 2 (timer) + get_url: + url: https://git.sch.bme.hu/kszk/sysadmin/memory-storage-defaults/-/raw/master/systemd/memory-defaults.timer + dest: /etc/systemd/system/memory-defaults.timer + +- name: start systemd timer (unit 2) + systemd: + state: started + enabled: yes + name: memory-defaults.timer + +- name: create var-lib-linstor.mount + copy: + src: var-lib-linstor.mount + dest: /etc/systemd/system/var-lib-linstor.mount + +- name: copy linstor_db.toml + copy: + src: linstor_db.toml + dest: /etc/drbd-reactor.d/linstor_db.toml + +- name: create directory for override config so that the next task won't complain... + file: + path: /etc/systemd/system/linstor-satellite.service.d/ + state: directory + +- name: copy systemd override for linstor-satellite + copy: + src: override.conf + dest: /etc/systemd/system/linstor-satellite.service.d/override.conf + +- name: Reload systemd daemon + systemd: + daemon_reload: yes + +- name: Enable and restart drbd-reactor + systemd: + name: drbd-reactor + state: restarted + enabled: yes + +- name: create linstor client config + copy: + src: linstor-client.conf + dest: /etc/linstor/linstor-client.conf