
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
57 lines
1.7 KiB
YAML
57 lines
1.7 KiB
YAML
---
|
|
- import_role:
|
|
name: service-precheck
|
|
vars:
|
|
service_precheck_services: "{{ neutron_services }}"
|
|
service_name: "{{ project_name }}"
|
|
|
|
- name: Get container facts
|
|
become: true
|
|
kolla_container_facts:
|
|
container_engine: "{{ kolla_container_engine }}"
|
|
name:
|
|
- neutron_server
|
|
check_mode: false
|
|
register: container_facts
|
|
|
|
- name: Checking free port for Neutron Server
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ neutron_server_listen_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['neutron_server'] is not defined
|
|
- inventory_hostname in groups['neutron-server']
|
|
|
|
- name: Checking number of network agents
|
|
fail:
|
|
msg: "Number of network agents are less than two when enabling agent ha"
|
|
changed_when: false
|
|
run_once: True
|
|
when:
|
|
- enable_neutron_agent_ha | bool
|
|
- groups['neutron-dhcp-agent'] | length < 2
|
|
or groups['neutron-l3-agent'] | length < 2
|
|
|
|
- name: Checking tenant network types
|
|
vars:
|
|
type_drivers: "{{ neutron_type_drivers.replace(' ', '').split(',') | reject('equalto', '') | list }}"
|
|
tenant_network_types: "{{ neutron_tenant_network_types.replace(' ', '').split(',') | reject('equalto', '') | list }}"
|
|
fail:
|
|
msg: "Tenant network type '{{ item }}' is not in type drivers [{{ neutron_type_drivers }}]"
|
|
changed_when: false
|
|
when: item not in type_drivers
|
|
run_once: true
|
|
with_items: "{{ tenant_network_types }}"
|
|
|
|
- name: Checking whether Ironic enabled
|
|
fail:
|
|
msg: "Ironic must be enabled when using networking-baremetal/ironic-neutron-agent"
|
|
changed_when: false
|
|
run_once: True
|
|
when:
|
|
- enable_ironic_neutron_agent | bool
|
|
- not (enable_ironic | bool)
|