tripleo-heat-templates/deployment/multipathd/multipathd-container-ansible.yaml
ramishra c9991c2e31 Use 'wallaby' heat_template_version
With I57047682cfa82ba6ca4affff54fab5216e9ba51c Heat has added
a new template version for wallaby. This would allow us to use
2-argument variant of the ``if`` function that would allow for
 e.g. conditional definition of resource properties and help
cleanup templates. If only two arguments are passed to ``if``
function, the entire enclosing item is removed when the condition
is false.

Change-Id: I25f981b60c6a66b39919adc38c02a051b6c51269
2021-03-31 17:35:12 +05:30

126 lines
4.4 KiB
YAML

heat_template_version: wallaby
description: >
OpenStack containerized Multipathd service
parameters:
ContainerMultipathdImage:
description: image
type: string
ContainerMultipathdConfigImage:
description: The container image to use for the multipathd config_volume
type: string
MultipathdEnable:
default: false
description: Whether to enable the multipath daemon
type: boolean
MultipathdCustomConfigFile:
default: ''
description: Fully qualified path of a local multipath.conf file to be
installed on the overcloud nodes. By default, a minimal
multipath.conf file will be installed. NOTE - Other TripleO
multipath parameters will override any corresponding
value in the local custom config file. For example, if
MultipathdEnableUserFriendlyNames is False, the files on the
overcloud nodes will be updated match, even if the setting is
enabled in the local custom file.
type: string
MultipathdEnableUserFriendlyNames:
default: false
description: Whether to enable assigning a user friendly name to each path
type: boolean
MultipathdEnableFindMultipaths:
default: true
description: Whether to automatically create a multipath device for each path
type: boolean
MultipathdSkipKpartx:
default: true
description: Whether to skip automatically creating partitions on the device
type: boolean
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. This
mapping overrides those in ServiceNetMapDefaults.
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
resources:
ContainersCommon:
type: ../containers-common.yaml
outputs:
role_data:
description: Role data for the Multipathd API role.
value:
service_name: multipathd
config_settings: {}
service_config_settings: {}
kolla_config:
/var/lib/kolla/config_files/multipathd.json:
command: /usr/sbin/multipathd -d
config_files:
- source: "/var/lib/kolla/config_files/src-iscsid/*"
dest: "/etc/iscsi/"
merge: true
preserve_properties: true
docker_config:
step_3:
multipathd:
start_order: 1
image: {get_param: ContainerMultipathdImage}
net: host
privileged: true
restart: always
healthcheck:
test: /openstack/healthcheck
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}
-
- /var/lib/kolla/config_files/multipathd.json:/var/lib/kolla/config_files/config.json:ro
- /etc/iscsi:/var/lib/kolla/config_files/src-iscsid:ro
- /dev/:/dev/
- /run/:/run/
- /sys:/sys
- /lib/modules:/lib/modules:ro
- /var/lib/iscsi:/var/lib/iscsi:z
- /etc/multipath:/etc/multipath:z
- /etc/multipath.conf:/etc/multipath.conf:ro
environment:
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
deploy_steps_tasks:
- name: Configure multipathd
when: step|int == 2
import_role:
name: tripleo_multipathd
vars:
tripleo_multipathd_enable: {get_param: MultipathdEnable}
tripleo_multipathd_custom_config_file: {get_param: MultipathdCustomConfigFile}
tripleo_multipathd_find_multipaths: {get_param: MultipathdEnableFindMultipaths}
tripleo_multipathd_skip_kpartx: {get_param: MultipathdSkipKpartx}
tripleo_multipathd_user_friendly_names: {get_param: MultipathdEnableUserFriendlyNames}
host_prep_tasks:
- name: Prep host for multipathd
import_role:
name: tripleo_multipathd
tasks_from: host_prep
upgrade_tasks: []