Merge "Enable mistral to run under mod_wsgi"
[apex-tripleo-heat-templates.git] / puppet / services / octavia-worker.yaml
1 heat_template_version: pike
2
3 description: >
4   OpenStack Octavia Worker service.
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   RoleName:
17     default: ''
18     description: Role name on which the service is applied
19     type: string
20   RoleParameters:
21     default: {}
22     description: Parameters specific to the role
23     type: json
24   EndpointMap:
25     default: {}
26     description: Mapping of service endpoint -> protocol. Typically set
27                  via parameter_defaults in the resource registry.
28     type: json
29   MonitoringSubscriptionOctaviaWorker:
30     default: 'overcloud-octavia-worker'
31     type: string
32   OctaviaWorkerLoggingSource:
33     type: json
34     default:
35       tag: openstack.octavia.worker
36       path: /var/log/octavia/worker.log
37   OctaviaAmphoraImageTag:
38     default: ''
39     description: Glance image tag for identifying the amphora image.
40     type: string
41   OctaviaAmphoraNetworkList:
42     default: []
43     description: List of networks to attach to amphorae.
44     type: comma_delimited_list
45   OctaviaLoadBalancerTopology:
46     default: ''
47     description: Load balancer topology configuration.
48     type: string
49   OctaviaFlavorId:
50     default: 65
51     description: Nova flavor ID to be used when creating the nova flavor for
52                  amphora.
53     type: number
54   OctaviaFlavorProperties:
55     default: {}
56     description: Dictionary describing the nova flavor for amphora.
57     type: json
58   OctaviaManageNovaFlavor:
59     default: false
60     description: Configure the nova flavor for the amphora.
61     type: boolean
62   OctaviaSSHKeyName:
63     default: 'octavia-ssh-key'
64     description: name for ssh key to be configured so the amphora can
65                  be logged into.
66     type: string
67
68 conditions:
69   octavia_topology_unset: {equals : [{get_param: OctaviaLoadBalancerTopology}, ""]}
70   octavia_amphora_tag_unset: {equals: [{get_param: OctaviaAmphoraImageTag}, ""]}
71
72 resources:
73
74   OctaviaBase:
75     type: ./octavia-base.yaml
76     properties:
77       ServiceNetMap: {get_param: ServiceNetMap}
78       DefaultPasswords: {get_param: DefaultPasswords}
79       EndpointMap: {get_param: EndpointMap}
80       RoleName: {get_param: RoleName}
81       RoleParameters: {get_param: RoleParameters}
82
83 outputs:
84   role_data:
85     description: Role data for the Octavia WoWorker service.
86     value:
87       service_name: octavia_worker
88       monitoring_subscription: {get_param: MonitoringSubscriptionOctaviaWorker}
89       logging_source: {get_param: OctaviaWorkerLoggingSource}
90       logging_groups:
91         -octavia
92       config_settings:
93         map_merge:
94           - get_attr: [OctaviaBase, role_data, config_settings]
95           - octavia::worker::amp_boot_network_list: {get_param: OctaviaAmphoraNetworkList}
96             octavia::worker::amp_flavor_id: {get_param: OctaviaFlavorId}
97             octavia::worker::nova_flavor_config: {get_param: OctaviaFlavorProperties}
98             octavia::worker::manage_nova_flavor: {get_param: OctaviaManageNovaFlavor}
99             octavia::worker::ssh_key_name: {get_param: OctaviaSSHKeyName}
100           -
101             if:
102             - octavia_amphora_tag_unset
103             - {}
104             - octavia::worker::amp_image_tag: {get_param: OctaviaAmphoraImageTag}
105           -
106             if:
107             - octavia_topology_unset
108             - {}
109             - octavia::worker::loadbalancer_topology: {get_param: OctaviaLoadBalancerTopology}
110       step_config: |
111         include tripleo::profile::base::octavia::worker
112