deb-ceilometer/ceilometer
Mehdi Abaakouk 1ab0acb851 pollsters: Remove eventlet timers
This change removes usage of eventlet timers.

This allows coordinator heartbeat/watchers to work correctly
when the main thread is stuck for any reason (IO, time.sleep, ...).

This also fixes a concurrency issue in the notification-agent between
stop/reload_pipeline/refresh_agent that manipulate listeners.

For example a listener stopped by stop() could be restart by
reload_pipeline or refresh_agent. Now we use the coord_lock to
protect the listener manipulations and ensure we are not in a shutdown
process when we restart it.

This bug can't occurs with greenlet because we don't monkeypatch system
call for a while now and all of this methods wasn't ran in concurrency
manner. But remplacing greenlet by reel thread have show up the bug.

Closes-Bug: #1582641
Change-Id: I21c3b953a296316b983114435fcbeba1e29f051e
2016-07-04 10:40:25 +02:00
..
agent pollsters: Remove eventlet timers 2016-07-04 10:40:25 +02:00
api Config: no need to set default=None 2016-06-28 15:46:01 +08:00
cmd Add a tool to clean the legacy alarm tables 2016-06-29 09:10:48 +08:00
compute Merge "Add 'task_state' attribute to meter metadata" 2016-06-23 12:33:54 +00:00
conf Moved CORS middleware configuration into oslo-config-generator 2016-03-02 04:48:34 -08:00
dispatcher add support of batch recording metering data for mongodb 2016-06-23 09:08:26 +08:00
energy Drop timestamping in pollsters 2016-05-06 14:33:08 +08:00
event Merge "refactor DefinitionException classes" 2016-05-26 16:04:51 +00:00
hacking Initial seed of hacking 2016-02-22 12:46:44 -03:00
hardware Merge "Update to hacking 0.11.0" 2016-06-23 07:22:10 +00:00
image Drop timestamping in pollsters 2016-05-06 14:33:08 +08:00
ipmi Drop timestamping in pollsters 2016-05-06 14:33:08 +08:00
locale Imported Translations from Zanata 2016-07-01 06:42:37 +00:00
meter refactor DefinitionException classes 2016-04-20 17:07:39 +08:00
network Drop timestamping in pollsters 2016-05-06 14:33:08 +08:00
objectstore Merge "Drop timestamping in pollsters" 2016-06-06 15:24:22 +00:00
publisher Use "topics" instead of "topic" in Notifier initialization 2016-06-13 16:24:47 +08:00
storage Merge "Update to hacking 0.11.0" 2016-06-23 07:22:10 +00:00
telemetry oslo.messaging option group/name change for notification topics 2015-12-07 14:06:25 +01:00
tests pollsters: Remove eventlet timers 2016-07-04 10:40:25 +02:00
transformer fix some typos in our doc, comments and releasenotes 2016-05-25 03:23:09 +08:00
__init__.py Remove eventlet usage 2015-11-24 13:44:58 +01:00
collector.py pollsters: Remove eventlet timers 2016-07-04 10:40:25 +02:00
coordination.py Enhancing Retry logic to Coordination when joining partitioning grp 2016-04-02 01:08:20 -07:00
declarative.py refactor DefinitionException classes 2016-04-20 17:07:39 +08:00
exchange_control.py drop magnetodb support 2016-04-04 13:03:20 -04:00
i18n.py switch to oslo_i18n 2015-01-12 20:16:20 +08:00
keystone_client.py remove deprecated auth type password-ceilometer-legacy 2016-04-28 03:26:03 +08:00
messaging.py catch DriverLoadFailure for get_transport optional 2016-06-02 21:41:08 +08:00
middleware.py oslo.messaging option group/name change for notification topics 2015-12-07 14:06:25 +01:00
neutron_client.py add log decorator for neutron_client public method 2016-04-22 12:23:51 +08:00
notification.py pollsters: Remove eventlet timers 2016-07-04 10:40:25 +02:00
nova_client.py Switch to use glanceclient to get image 2016-06-22 16:46:13 +08:00
opts.py Merge "remove deprecated auth type password-ceilometer-legacy" 2016-05-20 02:26:33 +00:00
pipeline.py Update to hacking 0.11.0 2016-05-13 05:15:10 +08:00
sample.py Merge "Update to hacking 0.11.0" 2016-06-23 07:22:10 +00:00
service.py Don't generate hostname of host running build to config file 2016-06-23 18:10:07 +02:00
service_base.py pollsters: Remove eventlet timers 2016-07-04 10:40:25 +02:00
utils.py pollsters: Remove eventlet timers 2016-07-04 10:40:25 +02:00
version.py Introduce Guru Meditation Reports into Ceilometer 2015-08-20 08:59:51 +08:00