From a28bbce3fd7292a5e24b4710a0e00bd7de5104b9 Mon Sep 17 00:00:00 2001 From: Jorge Niedbalski Date: Thu, 9 Jul 2015 18:29:27 -0300 Subject: [PATCH 1/2] Adds the api_workers option --- config.yaml | 5 +++ hooks/ceilometer_contexts.py | 1 + templates/kilo/ceilometer.conf | 43 ++++++++++++++++++++++++++ unit_tests/test_ceilometer_contexts.py | 7 +++-- 4 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 templates/kilo/ceilometer.conf diff --git a/config.yaml b/config.yaml index bb5ee77..8751941 100644 --- a/config.yaml +++ b/config.yaml @@ -133,3 +133,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). diff --git a/hooks/ceilometer_contexts.py b/hooks/ceilometer_contexts.py index 1cf8a0a..72aea39 100644 --- a/hooks/ceilometer_contexts.py +++ b/hooks/ceilometer_contexts.py @@ -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() } diff --git a/templates/kilo/ceilometer.conf b/templates/kilo/ceilometer.conf new file mode 100644 index 0000000..3c41bd4 --- /dev/null +++ b/templates/kilo/ceilometer.conf @@ -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 }} + +{% include "parts/rabbitmq" -%} + +[api] +port = {{ port }} +api_workers = {{ api_workers }} + +[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 }} diff --git a/unit_tests/test_ceilometer_contexts.py b/unit_tests/test_ceilometer_contexts.py index 5d63575..038dfd0 100644 --- a/unit_tests/test_ceilometer_contexts.py +++ b/unit_tests/test_ceilometer_contexts.py @@ -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'] From f6b4c5d0928f80323113f5170529930ea62d3421 Mon Sep 17 00:00:00 2001 From: Jorge Niedbalski Date: Thu, 9 Jul 2015 18:31:30 -0300 Subject: [PATCH 2/2] Adds the api_workers option --- templates/kilo/ceilometer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/kilo/ceilometer.conf b/templates/kilo/ceilometer.conf index 3c41bd4..da44948 100644 --- a/templates/kilo/ceilometer.conf +++ b/templates/kilo/ceilometer.conf @@ -8,12 +8,12 @@ debug = {{ debug }} verbose = {{ verbose }} use_syslog = {{ use_syslog }} +api_workers = {{ api_workers }} {% include "parts/rabbitmq" -%} [api] port = {{ port }} -api_workers = {{ api_workers }} [service_credentials] os_auth_url = {{ service_protocol }}://{{ service_host }}:{{ service_port }}/v2.0