deb-ceilometer/ceilometer/agent
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
..
discovery remove floating_ip_get_all in nova_client 2016-05-01 03:07:55 +08:00
__init__.py Move central agent code to the polling agent module 2014-12-12 20:55:15 +03:00
manager.py pollsters: Remove eventlet timers 2016-07-04 10:40:25 +02:00
plugin_base.py publisher: clean out context usage 2016-04-01 09:51:54 +02:00