From ef7d2abd4051c891f36e7b0cac175a5835694986 Mon Sep 17 00:00:00 2001 From: Giulio Fidente Date: Wed, 15 Jul 2015 00:30:12 +0200 Subject: Parameterize RabbitMQ FD limit 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 | 4 ++++ overcloud-without-mergepy.yaml | 6 ++++++ puppet/controller.yaml | 13 +++++++++++++ 3 files changed, 23 insertions(+) diff --git a/os-apply-config/controller.yaml b/os-apply-config/controller.yaml index 18dcc8eb..a317d7a0 100644 --- a/os-apply-config/controller.yaml +++ b/os-apply-config/controller.yaml @@ -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 diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index 654c2427..9af7ef93 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -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]} diff --git a/puppet/controller.yaml b/puppet/controller.yaml index 8ea7053e..1674e4d6 100644 --- a/puppet/controller.yaml +++ b/puppet/controller.yaml @@ -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} -- cgit 1.2.3-korg