diff --git a/ansible/inventories/group_vars/all/app_disks.yml b/ansible/inventories/group_vars/all/app_disks.yml index 0164b40..e0bb971 100644 --- a/ansible/inventories/group_vars/all/app_disks.yml +++ b/ansible/inventories/group_vars/all/app_disks.yml @@ -11,30 +11,12 @@ app_data_disks: disk_id: scsi1 mount_point: /data/pocket-id device: /dev/sdb - komodo: - vm: infra-core-1 - vmid: 410 - node: purah - size: "20" - storage: purah-mirror-860gb - disk_id: scsi2 - mount_point: /data/komodo - device: /dev/sdc - komodo-periphery-media: - vm: media-1 - vmid: 420 - node: purah - size: "20" - storage: purah-mirror-860gb - disk_id: scsi1 - mount_point: /data/komodo-periphery - device: /dev/sdb - komodo-periphery-apps: + trek: vm: apps-1 vmid: 430 node: yunobo - size: "20" + size: "10" storage: nvme-2tb disk_id: scsi1 - mount_point: /data/komodo-periphery + mount_point: /data/trek device: /dev/sdb diff --git a/ansible/playbooks/configure_vms.yml b/ansible/playbooks/configure_vms.yml index ccc8fc1..da36923 100644 --- a/ansible/playbooks/configure_vms.yml +++ b/ansible/playbooks/configure_vms.yml @@ -31,3 +31,4 @@ - base - docker - komodo-periphery + - trek diff --git a/ansible/roles/trek/tasks/main.yml b/ansible/roles/trek/tasks/main.yml new file mode 100644 index 0000000..48b643a --- /dev/null +++ b/ansible/roles/trek/tasks/main.yml @@ -0,0 +1,53 @@ +--- +- name: Add data disk to VM for trek + community.proxmox.proxmox_disk: + api_host: "{{ proxmox_api_host }}" + api_user: "{{ proxmox_api_user }}" + api_token_id: "{{ proxmox_api_token_id }}" + api_token_secret: "{{ proxmox_api_token_secret }}" + vmid: "{{ app_data_disks.trek.vmid }}" + disk: "{{ app_data_disks.trek.disk_id }}" + storage: "{{ app_data_disks.trek.storage }}" + size: "{{ app_data_disks.trek.size }}" + state: present + delegate_to: localhost + become: no + run_once: true + ignore_errors: yes + register: disk_result + +- name: Display disk creation result + debug: + var: disk_result + +- name: Wait for data disk to be available + wait_for: + path: "{{ app_data_disks.trek.device }}" + state: present + timeout: 30 + +- name: Check if data disk is formatted + command: "blkid {{ app_data_disks.trek.device }}" + register: disk_formatted + failed_when: false + changed_when: false + +- name: Format data disk with ext4 + filesystem: + fstype: ext4 + dev: "{{ app_data_disks.trek.device }}" + when: disk_formatted.rc != 0 + +- name: Create trek data mount point + file: + path: "{{ app_data_disks.trek.mount_point }}" + state: directory + mode: "0755" + +- name: Mount data disk + mount: + path: "{{ app_data_disks.trek.mount_point }}" + src: "{{ app_data_disks.trek.device }}" + fstype: ext4 + state: mounted + opts: defaults