We have moved the pipeline config files from etc/ceilometer/ to
ceilometer/pipeline/data/, but ceilometer don't support to load pipeline
config file from /etc/ceilometer/ and only support to load these config
files from the source code path. This is not user-friendly.
Change-Id: Iedebf6b05e123c94eb7bd200f64beb09382c3969
Closes-Bug: #1670238
When the database backend is unconfigured, we currently
try to connection to nothing, and due to the retry logic around
the database connection, the user experience is "ceilometer-upgrade is
stuck".
This change keeps the database upgrade is the database is not
configured. And don't use the connection retry logic for upgrade.
Change-Id: I3fa2a332ecac6cb52c145f437f79b2aba43a4757
These two config options only be used in collector service, see[1], Since
we have deprecated collector service and won't install collector service
in devstack defaultly, these two options will be silently ignored.
Instead, we need to config dispachers by publishers configuration in
pipeline.yaml and event_pipeline.yaml.
[1]
https://github.com/openstack/ceilometer/blob/master/ceilometer/collector.py#L67
Change-Id: I5bbf8f3d11defb2afefddbc756447a8e691c157a
devstack has issues setting multiple value options. it does not
know how to replace properly and ends up just replacing everything.
just delete all previous options if they exist to avoid unexpected
residual values.
Change-Id: I1cb1e4fdddfb9ec7dac321b9e70f688c575a7775
To optimise performance, We have to update ceilometer architecture.
The most important step is to deprecate collector. From now on, we
can configure multiple publishers in pipeline for pushing data to
internal or external system.
Highlight using multiple dispatchers.
Change pipeline publisher and disable ceilometer-collector by default.
Co-Authored-By: gordon chung <gord@live.ca>
Change-Id: I25a6e0b9221844adb4412f1829d9e290b6e198a3
add support for polling specific definition file.
this splits the existing polling specific options out of
pipeline.yaml as transformations only exists on notifcation agent
and polling interval/discovery only exists on polling agents.
backward compatibility is maintained so pipeline.yaml file from
previous releases can still be passed in as polling definition file.
Change-Id: I206566349f98d6b17336cd5ea36ceb1e304dd90c
Since Ie4c6329f7b3d1b4686555f7eea0525649d4b31f6 it's not possible to
deploy Ceilometer without backend, but with panko-api enabled, which
is a valid use case.
Split the if statement into two to make sure we do not execute the
else clause and die early.
Change-Id: Icfafc7bccd7b923707483d903bc5338921d14097
clear any existing on start since devstack doesn't know how to properly
iniset a single option of multiopt
Change-Id: Ie4c6329f7b3d1b4686555f7eea0525649d4b31f6
Since Gnocchi is the recommended backend, and other are deprecated.
We can switch instance_discovery to the libvirt_metadata.
Change-Id: Ib846b87bfb76c359fdec28d6cd258781fd201348
This change introduces a new method to get instances
metadata on the ceilometer-compute-agent.
This switches devstack/gate to libvirt_metadata for gnocchi
Change-Id: Ice1918659be49589a45d7a406044adc0a187aa27
This change allows to configure ceilometer with no backend. For example
if we want to use only panko.
This also change the default backend to this one since mysql is not
recommanded.
Change-Id: Ie85d7fa5476fc68a0a867072517191ae6ed7aad7
For gnocchi_resource.yaml, make it have the same behavior like
we have for notification-meters defined in meters.yaml.
Make it fallback to some default gnocchi_resources.yaml file exactly
like we do for meters.yaml.
Closes-Bug: #1542184
Change-Id: I19814c5be02871419cca8035ced3d22a0feaacbc
we need to explicitly turn on caching
see: ea191cacb14818989564ffe1f3727f28be3c3a21
Change-Id: I02306629a9abe278590719fdc5a081aaccd4ca70
Closes-Bug: #1633590
This changes remove database as the default dispatcher so we stop
shipping a default that we don't recommend.
Change-Id: Idf2f171c4dabbee78308b0fbabeeaa541b782b66
Since the ceilometer-api binary was generated by pbr, its startup
parameters are different from previous. The difference must be
applied to devstack plugin script or ceilometer-api can’t start
after devstack has run if the "enable_httpd_mod_wsgi_services" is
set to false in local.conf.
Change-Id: Ie1aa11cc167251ca750041b3333e1c9c31227ad1
Closes-Bug: #1626531
The current option is misnamed, as it does not enable any storing but
just the processing of events from the notification agent to the
collector.
This means that even if you set event_dispatchers=panko and forget to
set store_events=true, nothing will happen.
This patch enable the event processing as soon as something is
configured in the pipeline.
Change-Id: I5a906684f6371b0548ac08cacc13aa238f780f78
I7adef87b03129f4f8b38109bf547c7403cc6adad introduces a very good
feature to partition workload for central polling agent, but it
seems not so much value for compute polling agent, which is
natrually workload distributed. There are efforts to reduce the
load of nova-api by adding instance cache in compute polling
agent side, if we increase the compute polling process in the
same node, pollsters may be a bit quicker than before, but things
will get worse for nova-api. And if we want to accelerate the
pollsters, we can search for a better solution instead of increasing
state shared workers.
For most case, I cannot see there is a need to partition workload
on a single node, especially when we running a devstack.
This patch removes the workload_partition setting in devstack
installation for compute polling agent even when there is a
coordinate backend configured. If an user does want this, he can
edit the /etc/ceilometer/ceilometer.conf and restart the compute
polling agent in screen -x, as the usual way.
Change-Id: If4dbcf1d02f5f8bdc189b272fb350a800e23d760
There's no reason to wait for ceilometer-api to start, as everything
should be resilient anyway.
(and currently that breaks the gate)
Change-Id: I3c381a43bb7ddc5f873d60bb13e27bc029ccca10
This option is used for ceilometer-api when
CEILOMETER_USE_MOD_WSGI=False, and create a dedicate directory for
ceilometer-api log.
However, there is no such need, because for such case, ceilometer-api
is just a normal process like ceilometer-polling. We should let
oslo.log decide where to store the log, image that user configures
a path and we override in installation process, then he needs to hack
into screenrc to adjust the path, it is not friendly.
Here I propose to put the api log files in same directory as
ceilometer-polling, by default, it will be /opt/stack/logs.
Change-Id: Icca16dbef53929686950a72b40b2544f45f4afdd
Due to change https://review.openstack.org/#/c/295011/ the
ceiloemter-polling --polling-namespaces ipmi polling agent no
longer works by default. This change set updates Ceilometer's
devstack plugin to disable that for standard stacks.
Change-Id: If445953e7ce2090632fe428c0ddd03f9cc6dedc6
Closes-Bug: 1564176
User now can specify CEILOMETER_SERVICE_HOST to a different host so
ceilometer-api and keystone can run on different machines. Also create
keystone accounts in post-config phase, by following gnocchi convention.
Change-Id: Ide55f9e07d4d94e900a3596922da4c40eca8ec3c
Previously we have to set this option to enable Aodh integration test
because there is circle dependency, but now since Aodh can parse
SERVICE_PROJECT_NAME properly, this is safe to remove.
Change-Id: I014ec7d62edfcc433b84e9237a63e37c427747ec
* remove verbose option: it is deprecated and True is its default value
* change [DEFAULT]notification_topics to [oslo_messaging_notifications]topics,
the old style is deprecated
* remove uncleaned ceilometer-alarm-evaluator condition
Change-Id: If2d0592612c389e08826717fdf38d2e0086cec38
The intergation test job has been broken, it seems because the replace
TENANT => PROJECT change in devstack scrpts, see[1]. This patch change the
SERVICE_TENANT_NAME to SERVICE_PROJECT_NAME in devstack plugin.
And to avoid with aodh change, this change temporarily skip the
gabbits-live test.
[1] https://review.openstack.org/#/c/281779/
Closes-Bug: #1548634
Change-Id: Ibb1f78d47311117f6718707c5961bc2841473924
When Keystone v3 is enabled, 'default' is the id, not the name,
of the domain created by devstack.
Change-Id: I244db7023cb3215dc6fe26d783c6338c8391a0f4