44 lines
No EOL
1.2 KiB
YAML
44 lines
No EOL
1.2 KiB
YAML
---
|
|
- name: Create RBD volumes on Proxmox Ceph
|
|
hosts: proxmox[0]
|
|
become: true
|
|
vars:
|
|
volumes:
|
|
- name: adguard-config
|
|
size: 2G
|
|
- name: adguard-data
|
|
size: 10G
|
|
- name: nodered-data
|
|
size: 5G
|
|
|
|
tasks:
|
|
- name: Create RBD volumes
|
|
shell: |
|
|
rbd create kubernetes/{{ item.name }} --size {{ item.size }} --image-feature layering
|
|
loop: "{{ volumes }}"
|
|
register: rbd_create
|
|
failed_when:
|
|
- rbd_create.rc != 0
|
|
- "'already exists' not in rbd_create.stderr"
|
|
changed_when: rbd_create.rc == 0
|
|
|
|
- name: List created volumes
|
|
command: rbd ls kubernetes
|
|
register: rbd_list
|
|
changed_when: false
|
|
|
|
- name: Display volumes
|
|
debug:
|
|
msg: "Created volumes in kubernetes pool: {{ rbd_list.stdout_lines }}"
|
|
|
|
- name: Get volume info
|
|
shell: |
|
|
rbd info kubernetes/{{ item.name }} --format json
|
|
loop: "{{ volumes }}"
|
|
register: volume_info
|
|
changed_when: false
|
|
|
|
- name: Display volume details
|
|
debug:
|
|
msg: "Volume {{ item.item.name }}: {{ (item.stdout | from_json).size | int / 1024 / 1024 / 1024 }}GB"
|
|
loop: "{{ volume_info.results }}" |