Merge "Pacemaker HA suport for OVN DB servers"
[apex-tripleo-heat-templates.git] / docker / services / manila-api.yaml
1 heat_template_version: pike
2
3 description: >
4   OpenStack containerized Manila API service
5
6 parameters:
7   DockerNamespace:
8     description: namespace
9     default: 'tripleoupstream'
10     type: string
11   DockerManilaApiImage:
12     description: image
13     default: 'centos-binary-manila-api:latest'
14     type: string
15   DockerManilaConfigImage:
16     description: image
17     default: 'centos-binary-manila-base:latest'
18   EndpointMap:
19     default: {}
20     description: Mapping of service endpoint -> protocol. Typically set
21                  via parameter_defaults in the resource registry.
22     type: json
23   ServiceNetMap:
24     default: {}
25     description: Mapping of service_name -> network name. Typically set
26                  via parameter_defaults in the resource registry.  This
27                  mapping overrides those in ServiceNetMapDefaults.
28     type: json
29   DefaultPasswords:
30     default: {}
31     type: json
32   RoleName:
33     default: ''
34     description: Role name on which the service is applied
35     type: string
36   RoleParameters:
37     default: {}
38     description: Parameters specific to the role
39     type: json
40
41 resources:
42
43   ManilaApiPuppetBase:
44     type: ../../puppet/services/manila-api.yaml
45     properties:
46       EndpointMap: {get_param: EndpointMap}
47       ServiceNetMap: {get_param: ServiceNetMap}
48       DefaultPasswords: {get_param: DefaultPasswords}
49
50 outputs:
51   role_data:
52     description: Role data for the Manila API role.
53     value:
54       service_name: {get_attr: [ManilaApiPuppetBase, role_data, service_name]}
55       config_settings: {get_attr: [ManilaApiPuppetBase, role_data, config_settings]}
56       step_config: &step_config
57         {get_attr: [ManilaApiPuppetBase, role_data, step_config]}
58       service_config_settings: {get_attr: [ManilaApiPuppetBase, role_data, service_config_settings]}
59       # BEGIN DOCKER SETTINGS #
60       puppet_config:
61         config_volume: manila
62         puppet_tags: manila_config,manila_api_paste_ini
63         step_config: *step_config
64         config_image:
65           list_join:
66             - '/'
67             - [ {get_param: DockerNamespace}, {get_param: DockerManilaConfigImage} ]
68       kolla_config:
69         /var/lib/kolla/config_files/manila_api.json:
70           command: /usr/bin/manila-api --config-file /usr/share/manila/manila-dist.conf --config-file /etc/manila/manila.conf
71           permissions:
72             - path: /var/log/manila
73               owner: manila:manila
74               recurse: true
75       docker_config:
76         step_3:
77           manila_api_db_sync:
78             user: root
79             image: &manila_api_image
80               list_join:
81                 - '/'
82                 - [ {get_param: DockerNamespace}, {get_param: DockerManilaApiImage} ]
83             net: host
84             detach: false
85             volumes:
86               - /var/lib/config-data/manila/etc/manila/:/etc/manila:ro
87               - /etc/hosts:/etc/hosts:ro
88               - /etc/localtime:/etc/localtime:ro
89               - logs:/var/log
90             command: "/usr/bin/bootstrap_host_exec manila_api su manila -s /bin/bash -c '/usr/bin/manila-manage db sync'"
91         step_4:
92           manila_api:
93             image: *manila_api_image
94             net: host
95             restart: always
96             volumes:
97               - /var/lib/kolla/config_files/manila_api.json:/var/lib/kolla/config_files/config.json:ro
98               - /var/lib/config-data/manila/etc/manila/:/etc/manila/:ro
99               - /etc/hosts:/etc/hosts:ro
100               - /etc/localtime:/etc/localtime:ro
101               - /var/log/containers/manila:/var/log/manila
102             environment:
103               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
104       host_prep_tasks:
105         - name: Create persistent manila logs directory
106           file:
107             path: /var/log/containers/manila
108             state: directory
109       upgrade_tasks:
110         - name: Stop and disable manila_api service
111           tags: step2
112           service: name=openstack-manila-api state=stopped enabled=no