ceph-ansible/roles/ceph-iscsi-gw/tasks/configure_iscsi.yml

49 lines
1.7 KiB
YAML
Raw Normal View History

---
- name: check if a rbd pool exists
command: ceph --cluster {{ cluster }} osd pool ls --format json
register: rbd_pool_exists
- name: get default value for osd_pool_default_pg_num
command: ceph --cluster {{ cluster }} daemon mon.{{ hostvars[groups[mon_group_name][0]]['ansible_hostname'] }} config get osd_pool_default_pg_num
register: osd_pool_default_pg_num
when: "'rbd' not in (rbd_pool_exists.stdout | from_json)"
delegate_to: "{{ groups[mon_group_name][0] }}"
- name: create a rbd pool if it doesn't exist
command: ceph --cluster {{ cluster }} osd pool create rbd {{ (osd_pool_default_pg_num.stdout | from_json).osd_pool_default_pg_num }}
when: "'rbd' not in (rbd_pool_exists.stdout | from_json)"
delegate_to: "{{ groups[mon_group_name][0] }}"
- name: igw_gateway (tgt) | configure iscsi target (gateway)
igw_gateway:
mode: "target"
gateway_iqn: "{{ gateway_iqn }}"
gateway_ip_list: "{{ gateway_ip_list }}"
register: target
- name: igw_lun | configure luns (create/map rbds and add to lio)
igw_lun:
pool: "{{ item.pool }}"
image: "{{ item.image }}"
size: "{{ item.size }}"
host: "{{ item.host }}"
state: "{{ item.state }}"
with_items: "{{ rbd_devices }}"
register: images
- name: igw_gateway (map) | map luns to the iscsi target
igw_gateway:
mode: "map"
gateway_iqn: "{{ gateway_iqn }}"
gateway_ip_list: "{{ gateway_ip_list }}"
register: luns
- name: igw_client | configure client connectivity
igw_client:
client_iqn: "{{ item.client }}"
image_list: "{{ item.image_list }}"
chap: "{{ item.chap }}"
state: "{{ item.status }}"
with_items: "{{ client_connections }}"
register: clients