Adding haproxy class for horizon

The patch adds new class for HAproxy is going
to be used in dashborad nodes with two nodes instead
id three ones how it is used in existing class.

Change-Id: Ib959d3e24d658feef01c6bccbd78588dcc2b0dbf
Related-PROD: PROD-24977
diff --git a/defaults/openstack/init.yml b/defaults/openstack/init.yml
index 441e1c1..f04809f 100644
--- a/defaults/openstack/init.yml
+++ b/defaults/openstack/init.yml
@@ -58,3 +58,19 @@
     horizon_public_host: ${_param:cluster_public_host}
     horizon_public_port: 443
     horizon_public_protocol: https
+    # HAproxy
+    haproxy_openstack_web_bind_port: ${_param:horizon_public_port}
+    #
+    # haproxy_openstack_web_sticks_params is defined for SSL by default
+    # if cluster_protocolr HTTP is going to be used then haproxy_openstack_web_sticks_params
+    # should be redefined peroperly. For example empty list.
+    #
+    haproxy_openstack_web_sticks_params:
+      - stick-table type binary len 32 size 30k expire 30m
+      - acl clienthello req_ssl_hello_type 1
+      - acl serverhello rep_ssl_hello_type 2
+      - tcp-request inspect-delay 5s
+      - tcp-request content accept if clienthello
+      - tcp-response content accept if serverhello
+      - stick on payload_lv(43,1) if clienthello
+      - stick store-response payload_lv(43,1) if serverhello
diff --git a/haproxy/proxy/listen/openstack/openstack_web.yml b/haproxy/proxy/listen/openstack/openstack_web.yml
new file mode 100644
index 0000000..a96a337
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/openstack_web.yml
@@ -0,0 +1,22 @@
+parameters:
+  _param:
+    haproxy_openstack_web_check_params: check
+  haproxy:
+    proxy:
+      listen:
+        openstack_web:
+          type: custom
+          check: false
+          sticks: ${_param:haproxy_openstack_web_sticks_params}
+          binds:
+          - address: ${_param:cluster_vip_address}
+            port: ${_param:haproxy_openstack_web_bind_port}
+          servers:
+          - name: ${_param:cluster_node01_hostname}
+            host: ${_param:cluster_node01_address}
+            port: 8078
+            params: ${_param:haproxy_openstack_web_check_params}
+          - name: ${_param:cluster_node02_hostname}
+            host: ${_param:cluster_node02_address}
+            port: 8078
+            params: ${_param:haproxy_openstack_web_check_params}