---
iscsi_services:
  iscsid:
    container_name: iscsid
    group: iscsid
    enabled: "{{ enable_iscsid_for_cinder or enable_iscsid_for_ironic }}"
    image: "{{ iscsid_image_full }}"
    ipc_mode: "host"
    privileged: True
    volumes: "{{ iscsid_default_volumes + iscsid_extra_volumes + lookup('vars', 'run_default_volumes_' + kolla_container_engine) }}"
    dimensions: "{{ iscsid_dimensions }}"
  tgtd:
    container_name: tgtd
    group: tgtd
    enabled: "{{ enable_tgtd }}"
    image: "{{ tgtd_image_full }}"
    ipc_mode: "host"
    privileged: True
    volumes: "{{ tgtd_default_volumes + tgtd_extra_volumes + lookup('vars', 'run_default_volumes_' + kolla_container_engine) }}"
    dimensions: "{{ tgtd_dimensions }}"

tgtd_interface_address: "{{ api_interface_address }}"

####################
# Docker
####################
iscsi_tag: "{{ openstack_tag }}"

iscsid_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ docker_image_name_prefix }}iscsid"
iscsid_tag: "{{ iscsi_tag }}"
iscsid_image_full: "{{ iscsid_image }}:{{ iscsid_tag }}"

tgtd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ docker_image_name_prefix }}tgtd"
tgtd_tag: "{{ iscsi_tag }}"
tgtd_image_full: "{{ tgtd_image }}:{{ tgtd_tag }}"

iscsid_dimensions: "{{ default_container_dimensions }}"
tgtd_dimensions: "{{ default_container_dimensions }}"

iscsid_default_volumes:
  - "{{ node_config_directory }}/iscsid/:{{ container_config_directory }}/:ro"
  - "kolla_logs:/var/log/kolla/"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
  - "/dev/:/dev/"
  - "/run:/run{{ ':shared' if kolla_container_engine == 'docker' else '' }}"
  - "/lib/modules:/lib/modules:ro"
  - "/sys/kernel/config:/configfs"
  - "iscsi_info:/etc/iscsi"
tgtd_default_volumes:
  - "{{ node_config_directory }}/tgtd/:{{ container_config_directory }}/:ro"
  - "kolla_logs:/var/log/kolla/"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
  - "/dev/:/dev/"
  - "/run:/run{{ ':shared' if kolla_container_engine == 'docker' else '' }}"
  - "/lib/modules:/lib/modules:ro"
  - "/sys/kernel/config:/configfs"
iscsid_extra_volumes: "{{ default_extra_volumes }}"
tgtd_extra_volumes: "{{ default_extra_volumes }}"

enable_iscsid_for_cinder: >-
  {{ (inventory_hostname in groups['compute']
      or inventory_hostname in groups['cinder-backup']
      or inventory_hostname in groups['cinder-volume'])
     and enable_cinder | bool
     and enable_cinder_backend_iscsi | bool }}
enable_iscsid_for_ironic: >-
  {{ inventory_hostname in groups['ironic-conductor'] and enable_ironic | bool }}
enable_tgtd: >-
  {{ enable_cinder | bool and
     enable_cinder_backend_lvm | bool and
     cinder_target_helper == "tgtadm" }}
