Comment 0 for bug 1642103

Revision history for this message
Eugene Nikanorov (enikanorov) wrote :

MOS 9.0

Consider the following scenario:
The cluster is power-cycled, some nodes have their system time reset due to hardware.
When the cluster is up, ntp starts synchronizing the time. Meanwhile, services try to connect to rabbitmq and waiting for rabbitmq to be available using time.sleep(), monkeypatched by eventlet.
For some reason during the sync the time gets adjusted forward and backwards several years, that makes monkeypatched time.sleep($interval) to wait additional $interval time.

The root cause is that eventlet is using non-monotonic timer.
Related patch that fixes the issue for oslo: https://review.openstack.org/#/c/190372/
That approach should be extended to all services that utilize oslo_service