mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 12:03:59 +00:00
Prefer infra-managed manifests for bootstrap; reconcile CNPG instances based on Ready+schedulable labeled db nodes; update manifests to use node-role affinity + anti-affinity; add policy/tests and config touch-ups (incl. prole.cfg).
161 lines
3.7 KiB
YAML
161 lines
3.7 KiB
YAML
---
|
|
- name: Install iSCSI dependencies
|
|
ansible.builtin.package:
|
|
name:
|
|
- open-iscsi
|
|
- util-linux
|
|
- xfsprogs
|
|
state: present
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Ensure iscsid enabled
|
|
ansible.builtin.service:
|
|
name: iscsid
|
|
state: started
|
|
enabled: true
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Check if k3s systemd unit exists
|
|
ansible.builtin.stat:
|
|
path: /etc/systemd/system/k3s.service
|
|
register: _k3s_unit
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Check if k3s-agent systemd unit exists
|
|
ansible.builtin.stat:
|
|
path: /etc/systemd/system/k3s-agent.service
|
|
register: _k3s_agent_unit
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Ensure k3s stops/restarts before open-iscsi (systemd drop-in)
|
|
block:
|
|
- name: Ensure k3s.service.d exists
|
|
ansible.builtin.file:
|
|
path: /etc/systemd/system/k3s.service.d
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Install k3s open-iscsi ordering drop-in
|
|
ansible.builtin.copy:
|
|
dest: /etc/systemd/system/k3s.service.d/open-iscsi.conf
|
|
mode: "0644"
|
|
content: |
|
|
[Unit]
|
|
Wants=open-iscsi.service
|
|
After=open-iscsi.service
|
|
PartOf=open-iscsi.service
|
|
notify:
|
|
- reload systemd
|
|
when: _k3s_unit.stat.exists | default(false)
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Ensure k3s-agent stops/restarts before open-iscsi (systemd drop-in)
|
|
block:
|
|
- name: Ensure k3s-agent.service.d exists
|
|
ansible.builtin.file:
|
|
path: /etc/systemd/system/k3s-agent.service.d
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Install k3s-agent open-iscsi ordering drop-in
|
|
ansible.builtin.copy:
|
|
dest: /etc/systemd/system/k3s-agent.service.d/open-iscsi.conf
|
|
mode: "0644"
|
|
content: |
|
|
[Unit]
|
|
Wants=open-iscsi.service
|
|
After=open-iscsi.service
|
|
PartOf=open-iscsi.service
|
|
notify:
|
|
- reload systemd
|
|
when: _k3s_agent_unit.stat.exists | default(false)
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Ensure open-iscsi systemd override directory exists
|
|
ansible.builtin.file:
|
|
path: /etc/systemd/system/open-iscsi.service.d
|
|
state: directory
|
|
mode: "0755"
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Install open-iscsi retry-on-boot override
|
|
ansible.builtin.copy:
|
|
dest: /etc/systemd/system/open-iscsi.service.d/retry-on-boot.conf
|
|
mode: "0644"
|
|
content: |
|
|
[Unit]
|
|
Wants=network-online.target iscsid.service
|
|
After=network-online.target iscsid.service
|
|
|
|
[Service]
|
|
Restart=on-failure
|
|
RestartSec=10s
|
|
StartLimitIntervalSec=120
|
|
StartLimitBurst=10
|
|
notify:
|
|
- reload systemd
|
|
- restart open-iscsi
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Apply open-iscsi override immediately (if changed)
|
|
ansible.builtin.meta: flush_handlers
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Ensure open-iscsi enabled
|
|
ansible.builtin.systemd:
|
|
name: open-iscsi
|
|
enabled: true
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Discover iSCSI targets
|
|
ansible.builtin.command: >-
|
|
iscsiadm -m discovery -t st -p {{ iscsi_portal }}
|
|
register: _iscsi_discovery
|
|
changed_when: false
|
|
tags:
|
|
- iscsi
|
|
- iscsi_discovery
|
|
- iscsi_login
|
|
- iscsi_storage
|
|
|
|
- name: Configure and login iSCSI targets
|
|
ansible.builtin.include_tasks: iscsi_target.yml
|
|
loop: "{{ iscsi_targets | default([]) }}"
|
|
loop_control:
|
|
loop_var: t
|
|
label: "{{ t.iqn | default('<unknown-iqn>') }}"
|
|
tags:
|
|
- iscsi
|
|
- iscsi_login
|
|
- iscsi_storage
|