50de0269d0
Currently the haproxy loadbalancer set by TripleO uses balance roundrobin. According to this Openshift HA configuration example[1] it uses balance source for both the API and the router backends. This way we ensure that all traffic from a user’s session goes to the same node(sticky sessions). [1] https://blog.openshift.com/keeping-both-of-your-openshift-container-platforms-highly-available-with-keepalived-and-haproxy/ Change-Id: I0be466f7d30748fc46fc69f098bf5aa7eb980aa2
83 lines
2.7 KiB
YAML
83 lines
2.7 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: External tasks definition for OpenShift
|
|
|
|
parameters:
|
|
RoleNetIpMap:
|
|
default: {}
|
|
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
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
# TODO(mandre) This is unused. Remove it or make it OpenShiftNodeVars
|
|
OpenShiftWorkerNodeVars:
|
|
default: {}
|
|
description: OpenShift node vars specific for the worker nodes
|
|
type: json
|
|
|
|
resources:
|
|
|
|
OpenShiftWorker:
|
|
type: ./openshift-worker.yaml
|
|
properties:
|
|
EndpointMap: {get_param: EndpointMap}
|
|
ServiceNetMap: {get_param: ServiceNetMap}
|
|
DefaultPasswords: {get_param: DefaultPasswords}
|
|
RoleName: {get_param: RoleName}
|
|
RoleParameters: {get_param: RoleParameters}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Openshift Service
|
|
value:
|
|
service_name: openshift_infra
|
|
config_settings: {get_attr: [OpenShiftWorker, role_data, config_settings]}
|
|
service_config_settings:
|
|
haproxy:
|
|
tripleo::openshift_infra::haproxy_endpoints:
|
|
openshift-router-http:
|
|
base_service_name: openshift_infra
|
|
public_virtual_ip: "%{hiera('public_virtual_ip')}"
|
|
internal_ip: "%{hiera('openshift_infra_vip')}"
|
|
service_port: 80
|
|
listen_options:
|
|
balance: 'source'
|
|
member_options: [ 'check', 'inter 2000', 'rise 2', 'fall 5' ]
|
|
haproxy_listen_bind_param: ['transparent']
|
|
openshift-router-https:
|
|
base_service_name: openshift_infra
|
|
public_virtual_ip: "%{hiera('public_virtual_ip')}"
|
|
internal_ip: "%{hiera('openshift_infra_vip')}"
|
|
service_port: 443
|
|
listen_options:
|
|
balance: 'source'
|
|
member_options: [ 'check', 'inter 2000', 'rise 2', 'fall 5' ]
|
|
haproxy_listen_bind_param: ['transparent']
|
|
upgrade_tasks: []
|
|
step_config: ''
|
|
external_deploy_tasks:
|
|
- get_attr: [OpenShiftWorker, role_data, external_deploy_tasks]
|