commit de7ae358b7b61d6d82e5fe17d0a790ff027cdc53
Author: Roman Podoliaka <email address hidden>
Date: Wed Feb 15 16:47:42 2017 +0200
Make eventlet hub use a monotonic clock
If system time is adjusted first forward and then backward while a
nova service is running (e.g. nova-compute), then there is a high
probability, that periodic tasks will stop for the duration of time
the system clock was adjusted backward.
This was supposed to be fixed by the following patch to oslo.service https://review.openstack.org/#/c/286838/ , but the order of imports
in unit tests and production code is different, so nova services
end up starting with the default eventlet hub, that does not use a
monotonic clock and, thus, is affected by changes of system time.
Testing this is problematic, as it's a subject of imports order and
is not reproduced in functional or unit tests (oslo_service is always
imported earlier than eventlet hub is initialized, so it just does
"the right thing"). The alternative is to make an assertion when
services start.
Closes-Bug: #1510234
Change-Id: I110cf31ad2a0c74a0cf30ec08bd94d3a56727b39
(cherry picked from commit a7505ee648b22f5827117bcc1192b5654c29cf9c)
Reviewed: https:/ /review. openstack. org/537811 /git.openstack. org/cgit/ openstack/ nova/commit/ ?id=de7ae358b7b 61d6d82e5fe17d0 a790ff027cdc53
Committed: https:/
Submitter: Zuul
Branch: stable/pike
commit de7ae358b7b61d6 d82e5fe17d0a790 ff027cdc53
Author: Roman Podoliaka <email address hidden>
Date: Wed Feb 15 16:47:42 2017 +0200
Make eventlet hub use a monotonic clock
If system time is adjusted first forward and then backward while a
nova service is running (e.g. nova-compute), then there is a high
probability, that periodic tasks will stop for the duration of time
the system clock was adjusted backward.
This was supposed to be fixed by the following patch to oslo.service /review. openstack. org/#/c/ 286838/ , but the order of imports
https:/
in unit tests and production code is different, so nova services
end up starting with the default eventlet hub, that does not use a
monotonic clock and, thus, is affected by changes of system time.
Testing this is problematic, as it's a subject of imports order and
is not reproduced in functional or unit tests (oslo_service is always
imported earlier than eventlet hub is initialized, so it just does
"the right thing"). The alternative is to make an assertion when
services start.
Closes-Bug: #1510234
Change-Id: I110cf31ad2a0c7 4a0cf30ec08bd94 d3a56727b39 827117bcc1192b5 654c29cf9c)
(cherry picked from commit a7505ee648b22f5