7f195ff9a8
This was mainly there as an legacy interface which was for internal use. Now that we pull the passwords from the existing environment and don't use it, we can drop this. Reduces a number of heat resources. Change-Id: If83d0f3d72a229d737a45b2fd37507dc11a04649
172 lines
6.1 KiB
YAML
172 lines
6.1 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: >
|
|
OpenStack containerized Iscsid service
|
|
|
|
parameters:
|
|
ContainerIscsidImage:
|
|
description: image
|
|
type: string
|
|
ContainerIscsidConfigImage:
|
|
description: The container image to use for the iscsid config_volume
|
|
type: string
|
|
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
|
|
LVMFilterEnabled:
|
|
default: false
|
|
description: Enables configuration of LVM2 with a filter so that devices not
|
|
in use on the host or explicitly allowed are ignored by
|
|
LVM2. Can be configured per-role.
|
|
When disabled, the proposed lvm.conf file will be created
|
|
regardless and left in /tmp/tripleo_lvmfilter.conf for
|
|
debugging purposes.
|
|
type: boolean
|
|
tags:
|
|
- role_specific
|
|
LVMFilterAllowlist:
|
|
default: []
|
|
description: A list of block devices which should be allowed in the LVM2
|
|
`global_filter`. Supports regular expressions, like `/dev/sd.*`
|
|
and can be configured per-role. Any block device in use at boot
|
|
time will be automatically allowed.
|
|
type: comma_delimited_list
|
|
tags:
|
|
- role_specific
|
|
LVMFilterDenylist:
|
|
default: ['.*']
|
|
description: A list of block devices which should be disallowed in the LVM2
|
|
`global_filter`. Supports regular expressions, like `/dev/sd.*`
|
|
and can be configured per-role.
|
|
type: comma_delimited_list
|
|
tags:
|
|
- role_specific
|
|
|
|
resources:
|
|
|
|
ContainersCommon:
|
|
type: ../containers-common.yaml
|
|
|
|
RoleParametersValue:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
type: json
|
|
value:
|
|
map_replace:
|
|
- map_replace:
|
|
- tripleo_tripleo_lvmfilter_enabled: LVMFilterEnabled
|
|
tripleo_tripleo_lvmfilter_devices_allowlist: LVMFilterAllowlist
|
|
tripleo_tripleo_lvmfilter_devices_denylist: LVMFilterDenylist
|
|
- values: {get_param: [RoleParameters]}
|
|
- values:
|
|
LVMFilterEnabled: {get_param: LVMFilterEnabled}
|
|
LVMFilterAllowlist: {get_param: LVMFilterAllowlist}
|
|
LVMFilterDenylist: {get_param: LVMFilterDenylist}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Iscsid role.
|
|
value:
|
|
service_name: iscsid
|
|
config_settings: {}
|
|
service_config_settings: {}
|
|
deploy_steps_tasks:
|
|
- name: Run lvmfilter role
|
|
include_role:
|
|
name: tripleo_lvmfilter
|
|
when:
|
|
- step|int == 1
|
|
ansible_group_vars: {get_attr: [RoleParametersValue, value]}
|
|
# BEGIN DOCKER SETTINGS
|
|
puppet_config:
|
|
config_volume: iscsid
|
|
puppet_tags: iscsid_config
|
|
step_config: |
|
|
include tripleo::profile::base::iscsid
|
|
config_image: {get_param: ContainerIscsidConfigImage}
|
|
volumes:
|
|
# NOTE(bogdando) Containerized or running on baremetal services
|
|
# on a node must use the same iSCSI Qualified Name (IQN).
|
|
# However, overcloud nodes must have a unique IQN. Allow full
|
|
# (write) access to /etc/iscsi so that puppet ensures the IQN
|
|
# is unique and is reset once, and only once.
|
|
- /etc/iscsi:/etc/iscsi:z
|
|
kolla_config:
|
|
/var/lib/kolla/config_files/iscsid.json:
|
|
command: /usr/sbin/iscsid -f
|
|
config_files:
|
|
- source: "/var/lib/kolla/config_files/src-iscsid/*"
|
|
dest: "/etc/iscsi/"
|
|
merge: true
|
|
preserve_properties: true
|
|
docker_config:
|
|
step_3:
|
|
iscsid:
|
|
start_order: 2
|
|
image: {get_param: ContainerIscsidImage}
|
|
net: host
|
|
privileged: true
|
|
restart: always
|
|
healthcheck:
|
|
test: /openstack/healthcheck
|
|
volumes:
|
|
list_concat:
|
|
- {get_attr: [ContainersCommon, volumes]}
|
|
-
|
|
- /var/lib/kolla/config_files/iscsid.json:/var/lib/kolla/config_files/config.json:ro
|
|
- /dev/:/dev/
|
|
- /run/:/run/
|
|
- /sys:/sys
|
|
- /lib/modules:/lib/modules:ro
|
|
- /etc/iscsi:/var/lib/kolla/config_files/src-iscsid:ro
|
|
- /etc/target:/etc/target:z
|
|
- /var/lib/iscsi:/var/lib/iscsi:z
|
|
environment:
|
|
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
|
|
host_prep_tasks:
|
|
- name: create persistent directories
|
|
file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
setype: "{{ item.setype }}"
|
|
with_items:
|
|
- { 'path': /etc/iscsi, 'setype': container_file_t }
|
|
- { 'path': /etc/target, 'setype': container_file_t }
|
|
- { 'path': /var/lib/iscsi, 'setype': container_file_t }
|
|
- name: stat /lib/systemd/system/iscsid.socket
|
|
stat: path=/lib/systemd/system/iscsid.socket
|
|
register: stat_iscsid_socket
|
|
- name: Stop and disable iscsid.socket service
|
|
service: name=iscsid.socket state=stopped enabled=no
|
|
when: stat_iscsid_socket.stat.exists
|
|
- name: Check if iscsi.service is enabled
|
|
command: systemctl is-enabled --quiet iscsi.service
|
|
failed_when: false
|
|
register: iscsi_service_enabled_result
|
|
- name: Stop iscsi.service
|
|
service: name=iscsi.service state=stopped enabled=no
|
|
when:
|
|
- iscsi_service_enabled_result is changed
|
|
- iscsi_service_enabled_result.rc == 0
|
|
upgrade_tasks: []
|