tobiko/tobiko/openstack/stacks/octavia/pool.yaml

83 lines
2.0 KiB
YAML

heat_template_version: newton
description: A pool for a Load Balancer
parameters:
lb_algorithm:
type: string
default: ROUND_ROBIN
description: Load balancing algorithm
pool_protocol:
type: string
default: HTTP
description: Protocol used by the pool members
listener_id:
type: string
description: ID of the listener
# Health monitor parameters
has_monitor:
type: boolean
description: whenever to create the health monitor
hm_delay:
type: number
default: 10
description: >
The minimum time in seconds between regular connections of the
member.
hm_max_retries:
type: number
default: 4
description: >
Number of permissible connection failures before changing the member
status to INACTIVE.
hm_timeout:
type: number
default: 3
description: >
Maximum number of seconds for a monitor to wait for a connection
to be established before it times out.
hm_type:
type: string
default: HTTP
description: Type of health-monitor
conditions:
has_monitor:
get_param: has_monitor
resources:
pool:
type: OS::Octavia::Pool
properties:
lb_algorithm: { get_param: lb_algorithm }
protocol: { get_param: pool_protocol }
listener: { get_param: listener_id }
monitor:
type: OS::Octavia::HealthMonitor
condition: has_monitor
properties:
delay: { get_param: hm_delay }
type: { get_param: hm_type }
timeout: { get_param: hm_timeout }
max_retries: { get_param: hm_max_retries }
pool: { get_resource: pool }
outputs:
pool_id:
description: Pool ID
value: { get_resource: pool }
monitor_id:
description: Healthmonitor ID
value: { get_resource: monitor }
condition: has_monitor