Merge "Parameterize RabbitMQ FD limit"
[apex-tripleo-heat-templates.git] / puppet / controller.yaml
index 48f3ace..9252486 100644 (file)
@@ -14,6 +14,9 @@ parameters:
     description: The keystone auth secret and db password.
     type: string
     hidden: true
+  CeilometerApiVirtualIP:
+    type: string
+    default: ''
   CeilometerBackend:
     default: 'mongodb'
     description: The ceilometer backend type.
@@ -28,6 +31,9 @@ parameters:
     description: The password for the ceilometer service  and db account.
     type: string
     hidden: true
+  CinderApiVirtualIP:
+    type: string
+    default: ''
   CinderEnableNfsBackend:
     default: false
     description: Whether to enable or not the NFS backend for Cinder
@@ -187,6 +193,10 @@ parameters:
   HeatAuthEncryptionKey:
     description: Auth encryption key for heat-engine
     type: string
+  HorizonAllowedHosts:
+    default: '*'
+    description: A list of IP/Hostname allowed to connect to horizon
+    type: comma_delimited_list
   HorizonSecret:
     description: Secret key for Django
     type: string
@@ -395,6 +405,9 @@ parameters:
         of VXLAN VNI IDs that are available for tenant network allocation
     default: ["1:1000", ]
     type: comma_delimited_list
+  NovaApiVirtualIP:
+    type: string
+    default: ''
   NovaPassword:
     default: unset
     description: The password for the nova service and db account, used by nova-api.
@@ -442,6 +455,10 @@ parameters:
     default: 5672
     description: Set rabbit subscriber port, change this if using SSL
     type: number
+  RabbitFDLimit:
+    default: 16384
+    description: Configures RabbitMQ FD limit
+    type: string
   RedisVirtualIP:
     type: string
     default: ''  # Has to be here because of the ignored empty value bug
@@ -492,6 +509,9 @@ parameters:
       services.
     hidden: true
     type: string
+  SwiftProxyVirtualIP:
+    type: string
+    default: ''
   SwiftReplicas:
     type: number
     default: 3
@@ -505,6 +525,9 @@ parameters:
   GlanceApiVirtualIP:
     type: string
     default: ''
+  GlanceRegistryVirtualIP:
+    type: string
+    default: ''
   MysqlVirtualIP:
     type: string
     default: ''
@@ -663,6 +686,7 @@ resources:
               - {get_param: HeatApiVirtualIP}
               - ':8000/v1/waitcondition'
         heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
+        horizon_allowed_hosts: {get_param: HorizonAllowedHosts}
         horizon_secret: {get_param: HorizonSecret}
         admin_password: {get_param: AdminPassword}
         admin_token: {get_param: AdminToken}
@@ -874,6 +898,14 @@ resources:
         rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
         rabbit_client_port: {get_param: RabbitClientPort}
         mongodb_no_journal: {get_param: MongoDbNoJournal}
+        # We need to force this into quotes or hiera will return integer causing
+        # the puppet module validation regexp to fail.
+        # Remove when: https://github.com/puppetlabs/puppetlabs-rabbitmq/pull/401
+        rabbit_fd_limit:
+          str_replace:
+            template: "'LIMIT'"
+            params:
+              LIMIT: {get_param: RabbitFDLimit}
         ntp_servers:
           str_replace:
             template: '["server"]'
@@ -903,6 +935,7 @@ resources:
               - {get_param: GlanceApiVirtualIP}
               - ':'
               - {get_param: GlancePort}
+        glance_registry_host: {get_param: GlanceRegistryVirtualIP}
         heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
         keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
         keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
@@ -1021,7 +1054,7 @@ resources:
                 glance::api::bind_host: {get_input: glance_api_network}
                 glance::api::auth_uri: {get_input: keystone_auth_uri}
                 glance::api::identity_uri: {get_input: keystone_identity_uri}
-                glance::api::registry_host: {get_input: glance_registry_network}
+                glance::api::registry_host: {get_input: glance_registry_host}
                 glance::api::keystone_password: {get_input: glance_password}
                 glance::api::debug: {get_input: debug}
                 glance_notifier_strategy: {get_input: glance_notifier_strategy}
@@ -1030,7 +1063,7 @@ resources:
                 glance::api::database_connection: {get_input: glance_dsn}
                 glance::registry::keystone_password: {get_input: glance_password}
                 glance::registry::database_connection: {get_input: glance_dsn}
-                glance::registry::bind_host: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
+                glance::registry::bind_host: {get_input: glance_registry_network}
                 glance::registry::auth_uri: {get_input: keystone_auth_uri}
                 glance::registry::identity_uri: {get_input: keystone_identity_uri}
                 glance::registry::debug: {get_input: debug}
@@ -1178,6 +1211,7 @@ resources:
 
                 # Horizon
                 apache::ip: {get_input: horizon_network}
+                horizon::allowed_hosts: {get_input: horizon_allowed_hosts}
                 horizon::django_debug: {get_input: debug}
                 horizon::secret_key: {get_input: horizon_secret}
                 horizon::bind_address: {get_input: horizon_network}
@@ -1186,6 +1220,7 @@ resources:
                 # Rabbit
                 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
                 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
+                rabbitmq::file_limit: {get_input: rabbit_fd_limit}
                 # Redis
                 redis::bind: {get_input: redis_network}
                 redis_vip: {get_input: redis_vip}
@@ -1207,6 +1242,14 @@ resources:
     properties:
         server: {get_resource: Controller}
 
+  # Hook for site-specific additional pre-deployment config,
+  # applying to all nodes, e.g node registration/unregistration
+  NodeExtraConfig:
+    depends_on: ControllerExtraConfigPre
+    type: OS::TripleO::NodeExtraConfig
+    properties:
+        server: {get_resource: Controller}
+
   UpdateConfig:
     type: OS::TripleO::Tasks::PackageUpdate