Add ironic inspector as a terminated HAProxy endpoint
authorJuan Antonio Osorio Robles <jaosorior@redhat.com>
Wed, 22 Jun 2016 05:59:16 +0000 (08:59 +0300)
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>
Wed, 22 Jun 2016 13:35:51 +0000 (16:35 +0300)
This is needed for the undercloud, as it's in HAProxy where we make
the SSL terminations.

Change-Id: Ie4d652b4e5a95849c2fa32a5ce5ecec09ccb6bd9
Related-Bug: #1595047

manifests/haproxy.pp

index e3e48ce..33185dc 100644 (file)
 #  (optional) Enable or not Ironic API binding
 #  Defaults to false
 #
+# [*ironic_inspector*]
+#  (optional) Enable or not Ironic Inspector API binding
+#  Defaults to false
+#
 # [*mysql*]
 #  (optional) Enable or not MySQL Galera binding
 #  Defaults to false
 #    'heat_cw_ssl_port' (Defaults to 13003)
 #    'ironic_api_port' (Defaults to 6385)
 #    'ironic_api_ssl_port' (Defaults to 13385)
+#    'ironic_inspector_port' (Defaults to 5050)
+#    'ironic_inspector_ssl_port' (Defaults to 13050)
 #    'keystone_admin_api_port' (Defaults to 35357)
 #    'keystone_admin_api_ssl_port' (Defaults to 13357)
 #    'keystone_public_api_port' (Defaults to 5000)
@@ -302,6 +308,7 @@ class tripleo::haproxy (
   $heat_cfn                  = false,
   $horizon                   = false,
   $ironic                    = false,
+  $ironic_inspector          = false,
   $mysql                     = false,
   $mysql_clustercheck        = false,
   $rabbitmq                  = false,
@@ -330,6 +337,8 @@ class tripleo::haproxy (
     heat_cw_ssl_port => 13003,
     ironic_api_port => 6385,
     ironic_api_ssl_port => 13385,
+    ironic_inspector_port => 5050,
+    ironic_inspector_ssl_port => 13050,
     keystone_admin_api_port => 35357,
     keystone_admin_api_ssl_port => 13357,
     keystone_public_api_port => 5000,
@@ -754,6 +763,17 @@ class tripleo::haproxy (
     }
   }
 
+  if $ironic_inspector {
+    ::tripleo::haproxy::endpoint { 'ironic-inspector':
+      public_virtual_ip => $public_virtual_ip,
+      internal_ip       => hiera('ironic_inspector_vip', $controller_virtual_ip),
+      service_port      => $ports[ironic_inspector_port],
+      ip_addresses      => hiera('ironic_inspector_node_ips', $controller_hosts_real),
+      server_names      => $controller_hosts_names_real,
+      public_ssl_port   => $ports[ironic_inspector_ssl_port],
+    }
+  }
+
   if $mysql_clustercheck {
     $mysql_listen_options = {
       'option'         => [ 'tcpka', 'httpchk' ],