Unify the Cinder HA and non-HA docker configurations
Relocate the list of docker volumes used by the CinderVolume and CinderBackup services so that a common list can be used in both HA and non-HA deployments. For HA, the list is passed to puppet-tripleo via hiera data. Closes-Bug: #1748290 Depends-On: I4ba0d78ad17183b97290b853a6c103e55bc8977c Change-Id: I41d6ff1dc60a799cec18fbeb64c8b63961953388
This commit is contained in:
parent
16e15b73b9
commit
f89d8d2077
@ -62,6 +62,9 @@ resources:
|
||||
RoleName: {get_param: RoleName}
|
||||
RoleParameters: {get_param: RoleParameters}
|
||||
|
||||
CinderCommon:
|
||||
type: ./cinder-common.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Cinder Backup role.
|
||||
@ -129,22 +132,8 @@ outputs:
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: /openstack/healthcheck
|
||||
volumes:
|
||||
list_concat:
|
||||
- {get_attr: [ContainersCommon, volumes]}
|
||||
-
|
||||
- /var/lib/kolla/config_files/cinder_backup.json:/var/lib/kolla/config_files/config.json:ro
|
||||
- /var/lib/config-data/puppet-generated/cinder/:/var/lib/kolla/config_files/src:ro
|
||||
- /etc/iscsi:/var/lib/kolla/config_files/src-iscsid:ro
|
||||
- /etc/ceph:/var/lib/kolla/config_files/src-ceph:ro
|
||||
- /dev/:/dev/
|
||||
- /run/:/run/
|
||||
- /sys:/sys
|
||||
- /lib/modules:/lib/modules:ro
|
||||
- /var/lib/cinder:/var/lib/cinder
|
||||
- /var/log/containers/cinder:/var/log/cinder
|
||||
environment:
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||
volumes: {get_attr: [CinderCommon, cinder_backup_volumes]}
|
||||
environment: {get_attr: [CinderCommon, cinder_backup_environment]}
|
||||
host_prep_tasks:
|
||||
- name: create persistent directories
|
||||
file:
|
||||
|
96
docker/services/cinder-common.yaml
Normal file
96
docker/services/cinder-common.yaml
Normal file
@ -0,0 +1,96 @@
|
||||
heat_template_version: queens
|
||||
|
||||
description: >
|
||||
Provides the list of Docker volumes and environment to be used by the
|
||||
CinderVolume and CinderBackup services. The same list is used for
|
||||
HA and non-HA deployments.
|
||||
|
||||
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. This
|
||||
mapping overrides those in ServiceNetMapDefaults.
|
||||
type: json
|
||||
DefaultPasswords:
|
||||
default: {}
|
||||
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
|
||||
CinderVolumeOptVolumes:
|
||||
default: []
|
||||
description: list of optional volumes to be mounted
|
||||
type: comma_delimited_list
|
||||
CinderVolumeOptEnvVars:
|
||||
default: []
|
||||
description: list of optional environment variables
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
|
||||
ContainersCommon:
|
||||
type: ./containers-common.yaml
|
||||
|
||||
outputs:
|
||||
cinder_volume_volumes:
|
||||
description: Volumes for the cinder-volume container (HA or non-HA)
|
||||
value:
|
||||
list_concat:
|
||||
- {get_attr: [ContainersCommon, volumes]}
|
||||
- {get_param: CinderVolumeOptVolumes}
|
||||
-
|
||||
- /var/lib/kolla/config_files/cinder_volume.json:/var/lib/kolla/config_files/config.json:ro
|
||||
- /var/lib/config-data/puppet-generated/cinder/:/var/lib/kolla/config_files/src:ro
|
||||
- /etc/iscsi:/var/lib/kolla/config_files/src-iscsid:ro
|
||||
- /etc/ceph:/var/lib/kolla/config_files/src-ceph:ro
|
||||
- /lib/modules:/lib/modules:ro
|
||||
- /dev/:/dev/
|
||||
- /run/:/run/
|
||||
- /sys:/sys
|
||||
- /var/lib/cinder:/var/lib/cinder
|
||||
- /var/log/containers/cinder:/var/log/cinder
|
||||
|
||||
cinder_volume_environment:
|
||||
description: Docker environment for the cinder-volume container (HA or non-HA)
|
||||
value:
|
||||
list_concat:
|
||||
- {get_param: CinderVolumeOptEnvVars}
|
||||
-
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||
|
||||
cinder_backup_volumes:
|
||||
description: Volumes for the cinder-backup container (HA or non-HA)
|
||||
value:
|
||||
list_concat:
|
||||
- {get_attr: [ContainersCommon, volumes]}
|
||||
-
|
||||
- /var/lib/kolla/config_files/cinder_backup.json:/var/lib/kolla/config_files/config.json:ro
|
||||
- /var/lib/config-data/puppet-generated/cinder/:/var/lib/kolla/config_files/src:ro
|
||||
- /etc/iscsi:/var/lib/kolla/config_files/src-iscsid:ro
|
||||
- /etc/ceph:/var/lib/kolla/config_files/src-ceph:ro
|
||||
- /dev/:/dev/
|
||||
- /run/:/run/
|
||||
- /sys:/sys
|
||||
- /lib/modules:/lib/modules:ro
|
||||
- /var/lib/cinder:/var/lib/cinder
|
||||
- /var/log/containers/cinder:/var/log/cinder
|
||||
|
||||
cinder_backup_environment:
|
||||
description: Docker environment for the cinder-backup container (HA or non-HA)
|
||||
value:
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
@ -52,14 +52,6 @@ parameters:
|
||||
CephClientUserName:
|
||||
default: openstack
|
||||
type: string
|
||||
CinderVolumeOptVolumes:
|
||||
default: []
|
||||
description: list of optional volumes to be mounted
|
||||
type: comma_delimited_list
|
||||
CinderVolumeOptEnvVars:
|
||||
default: []
|
||||
description: list of optional environment variables
|
||||
type: comma_delimited_list
|
||||
|
||||
resources:
|
||||
|
||||
@ -79,6 +71,9 @@ resources:
|
||||
RoleName: {get_param: RoleName}
|
||||
RoleParameters: {get_param: RoleParameters}
|
||||
|
||||
CinderCommon:
|
||||
type: ./cinder-common.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Cinder Volume role.
|
||||
@ -148,26 +143,8 @@ outputs:
|
||||
restart: always
|
||||
healthcheck:
|
||||
test: /openstack/healthcheck
|
||||
volumes:
|
||||
list_concat:
|
||||
- {get_attr: [ContainersCommon, volumes]}
|
||||
- {get_param: CinderVolumeOptVolumes}
|
||||
-
|
||||
- /var/lib/kolla/config_files/cinder_volume.json:/var/lib/kolla/config_files/config.json:ro
|
||||
- /var/lib/config-data/puppet-generated/cinder/:/var/lib/kolla/config_files/src:ro
|
||||
- /etc/iscsi:/var/lib/kolla/config_files/src-iscsid:ro
|
||||
- /etc/ceph:/var/lib/kolla/config_files/src-ceph:ro
|
||||
- /lib/modules:/lib/modules:ro
|
||||
- /dev/:/dev/
|
||||
- /run/:/run/
|
||||
- /sys:/sys
|
||||
- /var/lib/cinder:/var/lib/cinder
|
||||
- /var/log/containers/cinder:/var/log/cinder
|
||||
environment:
|
||||
list_concat:
|
||||
- {get_param: CinderVolumeOptEnvVars}
|
||||
-
|
||||
- KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
|
||||
volumes: {get_attr: [CinderCommon, cinder_volume_volumes]}
|
||||
environment: {get_attr: [CinderCommon, cinder_volume_environment]}
|
||||
host_prep_tasks:
|
||||
- name: create persistent directories
|
||||
file:
|
||||
|
@ -77,6 +77,9 @@ resources:
|
||||
CinderBackupRbdPoolName: {get_param: CinderBackupRbdPoolName}
|
||||
CephClientUserName: {get_param: CephClientUserName}
|
||||
|
||||
CinderCommon:
|
||||
type: ../cinder-common.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Cinder Backup role.
|
||||
@ -92,6 +95,8 @@ outputs:
|
||||
data: {get_param: DockerCinderBackupImage}
|
||||
expression: $.data.rightSplit(separator => ":", maxSplits => 1)[0]
|
||||
- 'pcmklatest'
|
||||
tripleo::profile::pacemaker::cinder::backup_bundle::docker_volumes: {get_attr: [CinderCommon, cinder_backup_volumes]}
|
||||
tripleo::profile::pacemaker::cinder::backup_bundle::docker_environment: {get_attr: [CinderCommon, cinder_backup_environment]}
|
||||
cinder::backup::manage_service: false
|
||||
cinder::backup::enabled: false
|
||||
logging_source: {get_attr: [CinderBackupBase, role_data, logging_source]}
|
||||
|
@ -71,6 +71,9 @@ resources:
|
||||
RoleName: {get_param: RoleName}
|
||||
RoleParameters: {get_param: RoleParameters}
|
||||
|
||||
CinderCommon:
|
||||
type: ../cinder-common.yaml
|
||||
|
||||
outputs:
|
||||
role_data:
|
||||
description: Role data for the Cinder Volume role.
|
||||
@ -87,6 +90,8 @@ outputs:
|
||||
data: {get_param: DockerCinderVolumeImage}
|
||||
expression: $.data.rightSplit(separator => ":", maxSplits => 1)[0]
|
||||
- 'pcmklatest'
|
||||
tripleo::profile::pacemaker::cinder::volume_bundle::docker_volumes: {get_attr: [CinderCommon, cinder_volume_volumes]}
|
||||
tripleo::profile::pacemaker::cinder::volume_bundle::docker_environment: {get_attr: [CinderCommon, cinder_volume_environment]}
|
||||
cinder::volume::manage_service: false
|
||||
cinder::volume::enabled: false
|
||||
cinder::host: hostgroup
|
||||
|
Loading…
Reference in New Issue
Block a user