tripleo-heat-templates/deployment/nova/nova-compute-common-container-puppet.yaml
Takashi Kajinami 76adfd4202 Use true/false for boolean values
In ansible, usage of true/false for boolean values, instead of yes/no,
is considered as a best practise and is enforced by ansible-lint with
the "truthy value should be one of false, true (truthy)" rule.

This change replaces usage of yes/no by true/false to follow that
practise.

Change-Id: I3313278f1ef6cbee0f906aca0a77bde1a3c53784
2021-10-12 09:35:38 +09:00

89 lines
3.5 KiB
YAML

heat_template_version: wallaby
description: >
Contains a static list of common things necessary for nova-compute containers
parameters:
# Required parameters
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. Use
parameter_merge_strategies to merge it with the defaults.
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
NovaAdditionalCell:
default: false
description: Whether this is an cell additional to the default cell.
type: boolean
outputs:
container_config_scripts:
description: Shared docker config scripts
value:
nova_statedir_ownership.py:
mode: "0700"
content: { get_file: ../../container_config_scripts/nova_statedir_ownership.py }
nova_wait_for_compute_service.py:
mode: "0755"
content: { get_file: ../../container_config_scripts/nova_wait_for_compute_service.py }
nova_compute_common_deploy_steps_tasks:
description: Common host prep tasks for nova-compute services (compute + ironic)
# Runs as external_post_deploy_tasks
value: &nova_compute_common_deploy_steps_tasks
- block:
- name: is additonal Cell?
set_fact:
nova_additional_cell: {get_param: NovaAdditionalCell}
- name: check if discover hosts is required
when:
- not nova_additional_cell|bool
- nova_cellv2_discovery_done is not defined
block:
- name: discover via nova_manager?
set_fact:
nova_cellv2_discovery_delegate_host: "{{ groups['nova_manager'][0] }}"
nova_cellv2_discovery_container: nova_manager
when:
- groups['nova_manager'] is defined and (groups['nova_manager']|length>0)
- name: discover via nova_api?
set_fact:
nova_cellv2_discovery_delegate_host: "{{ groups['nova_api'][0] }}"
nova_cellv2_discovery_container: nova_api
when:
- nova_cellv2_discovery_delegate_host is not defined
- groups['nova_api'] is defined and (groups['nova_api']|length>0)
- name: Warn if no discovery host available
fail:
msg: 'No hosts available to run nova cell_v2 host discovery.'
ignore_errors: true
when:
- nova_cellv2_discovery_delegate_host is not defined
- name: Discovering nova hosts
command: "{{ container_cli }} exec {{ nova_cellv2_discovery_container }} nova-manage cell_v2 discover_hosts --by-service"
become: true
changed_when: false
delegate_to: '{{ nova_cellv2_discovery_delegate_host }}'
when:
- nova_cellv2_discovery_delegate_host is defined
# Could be included multiple times so ensure it only runs once
- set_fact:
nova_cellv2_discovery_done: true