Parameterize RabbitMQ FD limit
authorGiulio Fidente <gfidente@redhat.com>
Tue, 14 Jul 2015 22:30:12 +0000 (00:30 +0200)
committerGiulio Fidente <gfidente@redhat.com>
Tue, 13 Oct 2015 10:22:42 +0000 (12:22 +0200)
Together with [1] this change permits to parameterize the file
descriptor limit for RabbitMQ for both the Systemd startup script
and the Pacemaker resource agent.

1. https://github.com/puppetlabs/puppetlabs-rabbitmq/commit/20325325b977c508b151ef8036107dcfefdf990b

Closes-Bug: 1474586
Change-Id: I62d31e483641ccb5cf489df81146ecb31d0c423f

os-apply-config/controller.yaml
overcloud-without-mergepy.yaml
puppet/controller.yaml

index 18dcc8e..a317d7a 100644 (file)
@@ -466,6 +466,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
index 654c242..9af7ef9 100644 (file)
@@ -253,6 +253,11 @@ parameters:
     default: 5672
     description: Set rabbit subscriber port, change this if using SSL
     type: number
+  # We need to set this as string because 'unlimited' is a valid setting
+  RabbitFDLimit:
+    default: 16384
+    description: Configures RabbitMQ FD limit
+    type: string
   SnmpdReadonlyUserName:
     default: ro_snmp_user
     description: The user name for SNMPd with readonly rights running on all Overcloud nodes
@@ -833,6 +838,7 @@ resources:
           RabbitCookie: {get_attr: [RabbitCookie, value]}
           RabbitClientUseSSL: {get_param: RabbitClientUseSSL}
           RabbitClientPort: {get_param: RabbitClientPort}
+          RabbitFDLimit: {get_param: RabbitFDLimit}
           SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
           SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
           RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
index 8ea7053..1674e4d 100644 (file)
@@ -446,6 +446,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
@@ -882,6 +886,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"]'
@@ -1196,6 +1208,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}