diff options
author | Michael Polenchuk <mpolenchuk@mirantis.com> | 2018-10-24 14:47:18 +0400 |
---|---|---|
committer | Michael Polenchuk <mpolenchuk@mirantis.com> | 2018-10-24 14:57:24 +0400 |
commit | 6b8a6a91c230a495fd227d0115258adcef0ac264 (patch) | |
tree | a3ddf046d503a958e78fb4782d27d7eccbc922cf | |
parent | b6d00190ea2d1cc166b39f1db59912b3f572f248 (diff) |
[ha] Add haproxy on opendaylight nodes
Setup haproxy on opendaylight nodes to listen/bind on VIP address.
Keepalived will be checking existence of haproxy daemon.
Change-Id: Ie0a3a6ebb82523388d528529709415644f67a380
Signed-off-by: Michael Polenchuk <mpolenchuk@mirantis.com>
-rwxr-xr-x | mcp/config/states/opendaylight | 2 | ||||
-rw-r--r-- | mcp/salt-formulas/salt-formula-opendaylight/metadata/service/server/cluster.yml | 35 |
2 files changed, 29 insertions, 8 deletions
diff --git a/mcp/config/states/opendaylight b/mcp/config/states/opendaylight index de15d0cef..b17b15ef1 100755 --- a/mcp/config/states/opendaylight +++ b/mcp/config/states/opendaylight @@ -14,7 +14,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" # Get OpenDaylight server options with prefix odl_ function odl() { - salt --out txt -I 'opendaylight:server' pillar.get "opendaylight:server:odl_$1" | cut -d ' ' -f2 + salt --out txt -I 'opendaylight:server and *01*' pillar.get "opendaylight:server:odl_$1" | cut -d ' ' -f2 } wait_for 5.0 "salt -I 'opendaylight:server' state.sls opendaylight" diff --git a/mcp/salt-formulas/salt-formula-opendaylight/metadata/service/server/cluster.yml b/mcp/salt-formulas/salt-formula-opendaylight/metadata/service/server/cluster.yml index 69e1d84fd..a310fa3e8 100644 --- a/mcp/salt-formulas/salt-formula-opendaylight/metadata/service/server/cluster.yml +++ b/mcp/salt-formulas/salt-formula-opendaylight/metadata/service/server/cluster.yml @@ -10,6 +10,7 @@ applications: - opendaylight classes: - service.keepalived.cluster.single + - service.haproxy.proxy.single parameters: _param: opendaylight_version: fluorine @@ -17,6 +18,7 @@ parameters: keepalived_vip_address: ${_param:opendaylight_service_host} keepalived_vip_password: ${_param:opnfv_main_password} keepalived_vip_interface: ${_param:single_nic} + haproxy_odl_api_check_params: check inter 20s fastinter 2s opendaylight: server: enabled: 'True' @@ -28,14 +30,33 @@ parameters: keepalived: cluster: vrrp_scripts: - check_port: - args: - - ${_param:opendaylight_rest_port} - - TCP - - 4 - interval: 15 + check_pidof: + args: haproxy + interval: 20 rise: 3 fall: 1 instance: VIP: - track_script: check_port + track_script: check_pidof + haproxy: + proxy: + listen: + opendaylight_api: + type: general-service + balance: source + binds: + - address: ${_param:opendaylight_service_host} + port: ${_param:opendaylight_rest_port} + servers: + - name: ${_param:opendaylight_server_node01_hostname} + host: ${_param:opendaylight_server_node01_address} + port: ${_param:opendaylight_rest_port} + params: ${_param:haproxy_odl_api_check_params} + - name: ${_param:opendaylight_server_node02_hostname} + host: ${_param:opendaylight_server_node02_address} + port: ${_param:opendaylight_rest_port} + params: ${_param:haproxy_odl_api_check_params} + - name: ${_param:opendaylight_server_node03_hostname} + host: ${_param:opendaylight_server_node03_address} + port: ${_param:opendaylight_rest_port} + params: ${_param:haproxy_odl_api_check_params} |