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