This was caused by two things and the interplay between them:
- periodic tasks may be called when the Conductor service starts, if the periodic task is defined with run_immediately=True
- a periodic task may get called (again) if the service thinks NOW > LAST_RUN + INTERVAL, which could be triggered by timeutils.set_time_override
- conversely, a method decorated as a periodic task will _not_ get run again if the service thinks that not enough time has passed, even when called directly.
This was caused by two things and the interplay between them: =True set_time_ override
- periodic tasks may be called when the Conductor service starts, if the periodic task is defined with run_immediately
- a periodic task may get called (again) if the service thinks NOW > LAST_RUN + INTERVAL, which could be triggered by timeutils.
- conversely, a method decorated as a periodic task will _not_ get run again if the service thinks that not enough time has passed, even when called directly.
I have resolved these issues in the unit tests with a recent series of patches, which also added another periodic task. I'm marking this bug as Fix Committed. For reference, here are the relevant patches which affected this: /review. openstack. org/#/c/ 58851/ /review. openstack. org/#/c/ 56530/
- https:/
- https:/