Change NeutronWorkers default to result in previous behavior
authorBrent Eagles <beagles@redhat.com>
Thu, 1 Sep 2016 17:28:59 +0000 (14:58 -0230)
committerBrent Eagles <beagles@redhat.com>
Thu, 1 Sep 2016 19:37:29 +0000 (17:07 -0230)
Neutron's behavior changed in Newton with respect to the default value
of 0 for NeutronWorkers. Instead of effectively treating it as
"processorcount", it now assumes we mean what we say and doesn't spawn
any workers, resulting in only a single process for handling API
requests. This change alters the default value to regain the previous
behavior.

This change also extends the worker count to the RPC worker setting -
which was possibly an oversight in previous releases. The default
behavior will have no result for most systems.

Closes-Bug: 1619383

Change-Id: Id6e3ee544160372c806905e77348150a1a1eec1b

puppet/services/neutron-api.yaml

index 8a8c1f0..bc73dda 100644 (file)
@@ -19,9 +19,16 @@ parameters:
                  via parameter_defaults in the resource registry.
     type: json
   NeutronWorkers:
-    default: 0
-    description: Number of workers for Neutron service.
-    type: number
+    default: ''
+    description: |
+      Sets the number of API and RPC workers for the Neutron service. The
+      default value results in the configuration being left unset and a
+      system-dependent default will be chosen (usually the number of
+      processors). Please note that this can result in a large number of
+      processes and memory consumption on systems with a large core count. On
+      such systems it is recommended that a non-default value be selected that
+      matches the load requirements.
+    type: string
   NeutronPassword:
     description: The password for the neutron service and db account, used by neutron agents.
     type: string
@@ -82,6 +89,7 @@ outputs:
             neutron::keystone::authtoken::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
             neutron::keystone::authtoken::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
             neutron::server::api_workers: {get_param: NeutronWorkers}
+            neutron::server::rpc_workers: {get_param: NeutronWorkers}
             neutron::server::allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
             neutron::server::l3_ha: {get_param: NeutronL3HA}
             neutron::keystone::authtoken::password: {get_param: NeutronPassword}