Skip to content
Snippets Groups Projects
main.yml 13.5 KiB
Newer Older
cinder_services:
  cinder-api:
    container_name: cinder_api
    group: cinder-api
    enabled: true
    image: "{{ cinder_api_image_full }}"
    volumes: "{{ cinder_api_default_volumes + cinder_api_extra_volumes }}"
    dimensions: "{{ cinder_api_dimensions }}"
    healthcheck: "{{ cinder_api_healthcheck }}"
    haproxy:
      cinder_api:
        enabled: "{{ enable_cinder }}"
        mode: "http"
        external: false
        port: "{{ cinder_api_port }}"
        listen_port: "{{ cinder_api_listen_port }}"
        tls_backend: "{{ cinder_enable_tls_backend }}"
      cinder_api_external:
        enabled: "{{ enable_cinder }}"
        mode: "http"
        external: true
        port: "{{ cinder_api_port }}"
        listen_port: "{{ cinder_api_listen_port }}"
        tls_backend: "{{ cinder_enable_tls_backend }}"
  cinder-scheduler:
    container_name: cinder_scheduler
    group: cinder-scheduler
    enabled: true
    image: "{{ cinder_scheduler_image_full }}"
    volumes: "{{ cinder_scheduler_default_volumes + cinder_scheduler_extra_volumes }}"
    dimensions: "{{ cinder_scheduler_dimensions }}"
    healthcheck: "{{ cinder_scheduler_healthcheck }}"
  cinder-volume:
    container_name: cinder_volume
    group: cinder-volume
    enabled: true
    image: "{{ cinder_volume_image_full }}"
    privileged: True
    ipc_mode: "host"
    tmpfs: "{{ cinder_volume_tmpfs }}"
    volumes: "{{ cinder_volume_default_volumes + cinder_volume_extra_volumes }}"
    dimensions: "{{ cinder_volume_dimensions }}"
    healthcheck: "{{ cinder_volume_healthcheck }}"
  cinder-backup:
    container_name: cinder_backup
    group: cinder-backup
    enabled: "{{ enable_cinder_backup | bool }}"
    image: "{{ cinder_backup_image_full }}"
    privileged: True
    volumes: "{{ cinder_backup_default_volumes + cinder_backup_extra_volumes }}"
    dimensions: "{{ cinder_backup_dimensions }}"
    healthcheck: "{{ cinder_backup_healthcheck }}"
####################
# Database
####################
cinder_database_name: "cinder"
cinder_database_user: "{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}cinder{% endif %}"
cinder_database_address: "{{ database_address | put_address_in_context('url') }}:{{ database_port }}"

####################
# Docker
####################
cinder_tag: "{{ openstack_tag }}"
cinder_volume_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/cinder-volume"
cinder_volume_tag: "{{ cinder_tag }}"
cinder_volume_image_full: "{{ cinder_volume_image }}:{{ cinder_volume_tag }}"

cinder_scheduler_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/cinder-scheduler"
cinder_scheduler_tag: "{{ cinder_tag }}"
cinder_scheduler_image_full: "{{ cinder_scheduler_image }}:{{ cinder_scheduler_tag }}"

cinder_backup_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/cinder-backup"
cinder_backup_tag: "{{ cinder_tag }}"
cinder_backup_image_full: "{{ cinder_backup_image }}:{{ cinder_backup_tag }}"

cinder_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/cinder-api"
cinder_api_tag: "{{ cinder_tag }}"
cinder_api_image_full: "{{ cinder_api_image }}:{{ cinder_api_tag }}"

cinder_api_dimensions: "{{ default_container_dimensions }}"
cinder_backup_dimensions: "{{ default_container_dimensions }}"
cinder_scheduler_dimensions: "{{ default_container_dimensions }}"
cinder_volume_dimensions: "{{ default_container_dimensions }}"
cinder_api_enable_healthchecks: "{{ enable_container_healthchecks }}"
cinder_api_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
cinder_api_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
cinder_api_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
cinder_api_healthcheck_test: ["CMD-SHELL", "healthcheck_curl {{ 'https' if cinder_enable_tls_backend | bool else 'http' }}://{{ api_interface_address |  put_address_in_context('url') }}:{{ cinder_api_listen_port}}"]
cinder_api_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
cinder_api_healthcheck:
  interval: "{{ cinder_api_healthcheck_interval }}"
  retries: "{{ cinder_api_healthcheck_retries }}"
  start_period: "{{ cinder_api_healthcheck_start_period }}"
  test: "{% if cinder_api_enable_healthchecks | bool %}{{ cinder_api_healthcheck_test }}{% else %}NONE{% endif %}"
  timeout: "{{ cinder_api_healthcheck_timeout }}"

cinder_scheduler_enable_healthchecks: "{{ enable_container_healthchecks }}"
cinder_scheduler_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
cinder_scheduler_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
cinder_scheduler_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
cinder_scheduler_healthcheck_test: ["CMD-SHELL", "healthcheck_port cinder-scheduler {{ om_rpc_port }}"]
cinder_scheduler_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
cinder_scheduler_healthcheck:
  interval: "{{ cinder_scheduler_healthcheck_interval }}"
  retries: "{{ cinder_scheduler_healthcheck_retries }}"
  start_period: "{{ cinder_scheduler_healthcheck_start_period }}"
  test: "{% if cinder_scheduler_enable_healthchecks | bool %}{{ cinder_scheduler_healthcheck_test }}{% else %}NONE{% endif %}"
  timeout: "{{ cinder_scheduler_healthcheck_timeout }}"

cinder_volume_enable_healthchecks: "{{ enable_container_healthchecks }}"
cinder_volume_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
cinder_volume_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
cinder_volume_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
cinder_volume_healthcheck_test: ["CMD-SHELL", "healthcheck_port cinder-volume {{ om_rpc_port }}"]
cinder_volume_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
cinder_volume_healthcheck:
  interval: "{{ cinder_volume_healthcheck_interval }}"
  retries: "{{ cinder_volume_healthcheck_retries }}"
  start_period: "{{ cinder_volume_healthcheck_start_period }}"
  test: "{% if cinder_volume_enable_healthchecks | bool %}{{ cinder_volume_healthcheck_test }}{% else %}NONE{% endif %}"
  timeout: "{{ cinder_volume_healthcheck_timeout }}"

cinder_backup_enable_healthchecks: "{{ enable_container_healthchecks }}"
cinder_backup_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
cinder_backup_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
cinder_backup_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
cinder_backup_healthcheck_test: ["CMD-SHELL", "healthcheck_port cinder-backup {{ om_rpc_port }}"]
cinder_backup_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
cinder_backup_healthcheck:
  interval: "{{ cinder_backup_healthcheck_interval }}"
  retries: "{{ cinder_backup_healthcheck_retries }}"
  start_period: "{{ cinder_backup_healthcheck_start_period }}"
  test: "{% if cinder_backup_enable_healthchecks | bool %}{{ cinder_backup_healthcheck_test }}{% else %}NONE{% endif %}"
  timeout: "{{ cinder_backup_healthcheck_timeout }}"

cinder_api_default_volumes:
  - "{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
  - "kolla_logs:/var/log/kolla/"
  - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/cinder' if cinder_dev_mode | bool else '' }}"
cinder_backup_default_volumes:
  - "{{ node_config_directory }}/cinder-backup/:{{ container_config_directory }}/:ro"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
  - "/dev/:/dev/"
  - "/lib/modules:/lib/modules:ro"
  - "/run/:/run/:shared"
  - "cinder:/var/lib/cinder"
  - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
  - "kolla_logs:/var/log/kolla/"
  - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/cinder' if cinder_dev_mode | bool else '' }}"
cinder_scheduler_default_volumes:
  - "{{ node_config_directory }}/cinder-scheduler/:{{ container_config_directory }}/:ro"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
  - "kolla_logs:/var/log/kolla/"
  - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/cinder' if cinder_dev_mode | bool else '' }}"
cinder_volume_default_volumes:
  - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ '/etc/timezone:/etc/timezone:ro' if ansible_facts.os_family == 'Debian' else '' }}"
  - "/dev/:/dev/"
  - "/lib/modules:/lib/modules:ro"
  - "/run/:/run/:shared"
  - "cinder:/var/lib/cinder"
  - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
  - "{% if enable_cinder_backend_lvm | bool and cinder_target_helper == 'lioadm' %}target_config:/etc/target{% endif %}"
  - "kolla_logs:/var/log/kolla/"
  - "{{ kolla_dev_repos_directory ~ '/cinder/cinder:/var/lib/kolla/venv/lib/python' ~ distro_python_version ~ '/site-packages/cinder' if cinder_dev_mode | bool else '' }}"

cinder_extra_volumes: "{{ default_extra_volumes }}"
cinder_api_extra_volumes: "{{ cinder_extra_volumes }}"
cinder_backup_extra_volumes: "{{ cinder_extra_volumes }}"
cinder_scheduler_extra_volumes: "{{ cinder_extra_volumes }}"
cinder_volume_extra_volumes: "{{ cinder_extra_volumes }}"

cinder_volume_tmpfs:
  - "{% if cinder_enable_conversion_tmpfs | bool %}/var/lib/cinder/conversion{% endif %}"

# If true, use a tmpfs mount for the Cinder image conversion directory.
cinder_enable_conversion_tmpfs: false

####################
####################
cinder_internal_base_endpoint: "{{ internal_protocol }}://{{ cinder_internal_fqdn | put_address_in_context('url') }}:{{ cinder_api_port }}"
cinder_public_base_endpoint: "{{ public_protocol }}://{{ cinder_external_fqdn | put_address_in_context('url') }}:{{ cinder_api_port }}"

cinder_v3_internal_endpoint: "{{ cinder_internal_base_endpoint }}/v3/%(tenant_id)s"
cinder_v3_public_endpoint: "{{ cinder_public_base_endpoint }}/v3/%(tenant_id)s"

cinder_logging_debug: "{{ openstack_logging_debug }}"

openstack_cinder_auth: "{{ openstack_auth }}"
# After upgrading cinder, services will have an RPC version cap in place.  We
# need to restart all services in order to allow them to use the latest RPC
# version. Ideally, there would be a way to check whether all cinder services
# are using the latest version, but currently there is not. Instead, wait a
# short time for all cinder services to update the version of their service in
# the database.  This seems to take around 10 seconds, but the default is 30 to
# allow room for slowness.
cinder_rpc_version_startup_delay: 30

cinder_api_workers: "{{ openstack_service_workers }}"

####################
# Cinder
####################
cinder_backends:
  - name: "rbd-1"
    enabled: "{{ cinder_backend_ceph | bool }}"
  - name: "lvm-1"
    enabled: "{{ enable_cinder_backend_lvm | bool }}"
  - name: "nfs-1"
    enabled: "{{ enable_cinder_backend_nfs | bool }}"
  - name: "hnas-nfs"
    enabled: "{{ enable_cinder_backend_hnas_nfs | bool }}"
  - name: "vmwarevc-vmdk"
    enabled: "{{ cinder_backend_vmwarevc_vmdk | bool }}"
  - name: "vmware-vstorage-object"
    enabled: "{{ cinder_backend_vmware_vstorage_object | bool }}"
  - name: "QuobyteHD"
    enabled: "{{ enable_cinder_backend_quobyte | bool }}"
  - name: "Pure-FlashArray-iscsi"
    enabled: "{{ enable_cinder_backend_pure_iscsi | bool }}"
  - name: "Pure-FlashArray-fc"
    enabled: "{{ enable_cinder_backend_pure_fc | bool }}"
skip_cinder_backend_check: False

cinder_enabled_backends: "{{ cinder_backends|selectattr('enabled', 'equalto', true)|list }}"
####################
# Notification
####################
cinder_notification_topics:
  - name: notifications
    enabled: "{{ enable_ceilometer | bool }}"
  - name: vitrage_notifications
    enabled: "{{ enable_vitrage | bool }}"

cinder_enabled_notification_topics: "{{ cinder_notification_topics | selectattr('enabled', 'equalto', true) | list }}"

##################################
# Hitachi NAS Platform NFS drivers
##################################
# nfs
hnas_nfs_backend: "hnas_nfs_backend"
hnas_nfs_username:
hnas_nfs_mgmt_ip0:
hnas_nfs_svc0_volume_type:
hnas_nfs_svc0_hdp:
#########################
# Quobyte Storage Driver
#########################
quobyte_storage_host:
quobyte_storage_volume:

################################
# Pure FlashArray Storage Driver
################################
pure_iscsi_backend: "pure_iscsi_backend"
pure_fc_backend: "pure_fc_backend"
pure_api_token:
pure_san_ip:

####################
# Kolla
####################
cinder_git_repository: "{{ kolla_dev_repos_git }}/{{ project_name }}"
cinder_dev_repos_pull: "{{ kolla_dev_repos_pull }}"
cinder_dev_mode: "{{ kolla_dev_mode }}"
cinder_source_version: "{{ kolla_source_version }}"

####################
# Keystone
####################
cinder_ks_services:
  - name: "cinderv3"
    type: "volumev3"
    description: "Openstack Block Storage"
    endpoints:
      - {'interface': 'internal', 'url': '{{ cinder_v3_internal_endpoint }}'}
      - {'interface': 'public', 'url': '{{ cinder_v3_public_endpoint }}'}

cinder_ks_users:
  - project: "service"
    user: "{{ cinder_keystone_user }}"
    password: "{{ cinder_keystone_password }}"
    role: "admin"

####################
# TLS
####################
cinder_enable_tls_backend: "{{ kolla_enable_tls_backend }}"