Skip to content
Snippets Groups Projects
  • Mark Goddard's avatar
    46aeb984
    Fix prechecks in check mode · 46aeb984
    Mark Goddard authored
    When running in check mode, some prechecks previously failed because
    they use the command module which is silently not run in check mode.
    Other prechecks were not running correctly in check mode due to e.g.
    looking for a string in empty command output or not querying which
    containers are running.
    
    This change fixes these issues.
    
    Closes-Bug: #2002657
    Change-Id: I5219cb42c48d5444943a2d48106dc338aa08fa7c
    46aeb984
    History
    Fix prechecks in check mode
    Mark Goddard authored
    When running in check mode, some prechecks previously failed because
    they use the command module which is silently not run in check mode.
    Other prechecks were not running correctly in check mode due to e.g.
    looking for a string in empty command output or not querying which
    containers are running.
    
    This change fixes these issues.
    
    Closes-Bug: #2002657
    Change-Id: I5219cb42c48d5444943a2d48106dc338aa08fa7c
precheck.yml 1.66 KiB
---
- import_role:
    name: service-precheck
  vars:
    service_precheck_services: "{{ cinder_services }}"
    service_name: "{{ project_name }}"

- name: Get container facts
  become: true
  kolla_container_facts:
    container_engine: "{{ kolla_container_engine }}"
    name:
      - cinder_api
  check_mode: false
  register: container_facts

- name: Checking free port for Cinder API
  wait_for:
    host: "{{ api_interface_address }}"
    port: "{{ cinder_api_listen_port }}"
    connect_timeout: 1
    timeout: 1
    state: stopped
  when:
    - container_facts['cinder_api'] is not defined
    - inventory_hostname in groups['cinder-api']

- name: Checking at least one valid backend is enabled for Cinder
  run_once: True
  fail:
    msg: "Please enable at least one backend when enabling Cinder"
  when:
    - not skip_cinder_backend_check | bool
    - not enable_cinder_backend_hnas_nfs | bool
    - not enable_cinder_backend_iscsi | bool
    - not enable_cinder_backend_lvm | bool
    - not enable_cinder_backend_nfs | bool
    - not cinder_backend_ceph | bool
    - not cinder_backend_vmwarevc_vmdk | bool
    - not cinder_backend_vmware_vstorage_object | bool
    - not enable_cinder_backend_quobyte | bool
    - not enable_cinder_backend_pure_iscsi | bool
    - not enable_cinder_backend_pure_fc | bool
    - not enable_cinder_backend_pure_roce | bool

- name: Checking LVM volume group exists for Cinder
  become: true
  command: "vgs {{ cinder_volume_group }}"
  register: result
  changed_when: false
  failed_when: result is failed
  check_mode: false
  when:
    - enable_cinder | bool
    - enable_cinder_backend_lvm | bool
    - inventory_hostname in groups['cinder-volume']