[niedbalski,r=billy-olsen] Add api_workers option to allow the number of

workers available to be configured.

Closes-Bug: 1473222
This commit is contained in:
billy.olsen@canonical.com 2015-09-21 12:08:13 -07:00
commit 1813855ab6
4 changed files with 54 additions and 2 deletions

View File

@ -78,6 +78,7 @@ class CeilometerContext(OSContextGenerator):
from ceilometer_utils import get_shared_secret
ctxt = {
'api_workers': config('api-workers'),
'port': CEILOMETER_PORT,
'metering_secret': get_shared_secret()
}

View File

@ -146,3 +146,8 @@ options:
description: |
Default multicast port number that will be used to communicate between
HA Cluster nodes.
api-workers:
type: int
default: 1
description: |
Number of workers for Ceilometer API server. (>= Kilo).

View File

@ -0,0 +1,43 @@
# kilo
###############################################################################
# [ WARNING ]
# ceilometer configuration file maintained by Juju
# local changes may be overwritten.
###############################################################################
[DEFAULT]
debug = {{ debug }}
verbose = {{ verbose }}
use_syslog = {{ use_syslog }}
api_workers = {{ api_workers }}
{% include "parts/rabbitmq" -%}
[api]
port = {{ port }}
[service_credentials]
os_auth_url = {{ service_protocol }}://{{ service_host }}:{{ service_port }}/v2.0
os_tenant_name = {{ admin_tenant_name }}
os_username = {{ admin_user }}
os_password = {{ admin_password }}
[database]
{% if db_replset: -%}
connection = mongodb://{{ db_mongo_servers }}/{{ db_name }}?readPreference=primaryPreferred&replicaSet={{ db_replset }}
mongodb_replica_set = {{ db_replset }}
{% else -%}
connection = mongodb://{{ db_host }}:{{ db_port }}/{{ db_name }}
{% endif %}
[publisher_rpc]
metering_secret = {{ metering_secret }}
[keystone_authtoken]
auth_uri = {{ service_protocol }}://{{ service_host }}:{{ service_port }}/
auth_host = {{ auth_host }}
auth_port = {{ auth_port }}
auth_protocol = {{ auth_protocol }}
admin_tenant_name = {{ admin_tenant_name }}
admin_user = {{ admin_user }}
admin_password = {{ admin_password }}
signing_dir = {{ signing_dir }}

View File

@ -111,8 +111,11 @@ class CeilometerContextsTest(CharmTestCase):
@patch.object(utils, 'get_shared_secret')
def test_ceilometer_context(self, secret):
secret.return_value = 'mysecret'
self.assertEquals(contexts.CeilometerContext()(),
{'port': 8777, 'metering_secret': 'mysecret'})
self.assertEquals(contexts.CeilometerContext()(), {
'port': 8777,
'metering_secret': 'mysecret',
'api_workers': 1,
})
def test_ceilometer_service_context(self):
self.relation_ids.return_value = ['ceilometer-service:0']