Merge "Update haproxy backend checks for placement"
diff --git a/haproxy/proxy/listen/openstack/placement.yml b/haproxy/proxy/listen/openstack/placement.yml
index b2e37bb..78776ca 100644
--- a/haproxy/proxy/listen/openstack/placement.yml
+++ b/haproxy/proxy/listen/openstack/placement.yml
@@ -1,5 +1,6 @@
 # Starting with Nova (17.0.0) Queens - accessing to / of placement service
 # returns 200 with version data instead of 401 as it was before.
+# Also OPTIONS default haproxy check method is no longer allowed starting from Queens.
 # This file should be included for nova/placement higher than Queens.
 parameters:
   _param:
@@ -7,9 +8,19 @@
   haproxy:
     proxy:
       listen:
+        # Nova placement API returns 401 when doing GET to root URL, while
+        # other services normally returns 200 and API versions data.
         placement_api:
-          type: openstack-service
           service_name: placement
+          mode: http
+          options:
+            - httpclose
+            - httplog
+            - httpchk GET /
+          health-check:
+            http:
+              options:
+              - expect rstatus (401|200)
           binds:
           - address: ${_param:cluster_vip_address}
             port: 8778
diff --git a/haproxy/proxy/listen/openstack/placement_large.yml b/haproxy/proxy/listen/openstack/placement_large.yml
index d559572..95711d2 100644
--- a/haproxy/proxy/listen/openstack/placement_large.yml
+++ b/haproxy/proxy/listen/openstack/placement_large.yml
@@ -1,5 +1,6 @@
 # Starting with Nova (17.0.0) Queens - accessing to / of placement service
 # returns 200 with version data instead of 401 as it was before.
+# Also OPTIONS default haproxy check method is no longer allowed starting from Queens.
 # This file should be included for nova/placement higher than Queens.
 parameters:
   _param:
@@ -7,9 +8,19 @@
   haproxy:
     proxy:
       listen:
+        # Nova placement API returns 401 when doing GET to root URL, while
+        # other services normally returns 200 and API versions data.
         placement_api:
-          type: openstack-service
           service_name: placement
+          mode: http
+          options:
+            - httpclose
+            - httplog
+            - httpchk GET /
+          health-check:
+            http:
+              options:
+              - expect rstatus (401|200)
           binds:
           - address: ${_param:cluster_vip_address}
             port: 8778