ironic/ironic/common
Dmitry Tantsur 3429e3824c Switch to Futurist library for asynchronous execution and periodic tasks
This change switches the conductor to using Futurist library executor and
periodic tasks worker instead of oslo.service periodic tasks. This allows
running periodic tasks in parallel and relying on more standard interfaces
(futures, executors) when dealing with asynchronous execution.

A green thread executor is used instead of using an eventlet green pool
directly. The maximum number of workers is taken from the existing
workers_pool_size configuration option, and no tasks are allowed
to be enqueued to mimic the previous behaviour (might be lifted later).

The periodic tasks worker is using the same executor, and its main loop thread
is also running on it. For this reason minimum value for workers_pool_size
is now 3: periodic task main loop, keep alive thread and at least one thread for
other tasks. A special decorator for driver-periodic tasks is now deprecated,
as the generic decorator can be used there as well.

Closes-Bug: #1526277
Change-Id: I57bf7cebfb6db805b6c521bacfef2993b16ce1ee
2016-02-24 15:44:05 +01:00
..
config_generator Fix genconfig "tempdir" inconsistency 2016-02-05 10:44:05 +00:00
glance_service Merge "Add ability to cache swift temporary URLs" 2016-02-02 17:30:16 +00:00
__init__.py Remove copyright from empty files 2014-01-07 21:05:01 +08:00
boot_devices.py get_supported_boot_devices() returns static device list 2015-08-12 14:53:00 +01:00
config.py Move oslo.config references to oslo_config 2015-02-02 06:51:22 -08:00
context.py Use oslo_context package 2015-03-12 20:45:59 +01:00
dhcp_factory.py Add portgroups to support LAG interfaces - net 2016-02-04 22:40:54 +02:00
driver_factory.py Enable translation for config option help messages 2015-07-06 10:57:53 -07:00
exception.py Add portgroups to support LAG interfaces - DB 2016-02-04 22:40:43 +02:00
fsm.py Add FSM.is_stable() method 2015-12-10 15:23:40 +00:00
grub_conf.template Fix for automated boot iso issue with IPA ramdisk 2015-04-10 09:09:53 -07:00
hash_ring.py Use self.__class__.X instead of self.X 2015-10-23 06:20:37 -07:00
i18n.py Remove unneeded usage of '# noqa' 2015-05-06 14:17:28 -07:00
image_service.py Add choices option to several options 2016-01-14 10:16:16 +00:00
images.py Use ironic-lib's util methods 2016-01-04 15:39:57 +00:00
isolinux_config.template Add support for creating vfat and iso images 2014-08-26 21:18:11 +05:30
keystone.py Fix typo: add a missing white space 2015-09-29 10:52:28 +09:00
network.py Add portgroups to support LAG interfaces - net 2016-02-04 22:40:54 +02:00
paths.py Enable translation for config option help messages 2015-07-06 10:57:53 -07:00
policy.py Use oslo_policy package 2015-03-12 20:45:59 +01:00
pxe_utils.py Use ironic-lib's util methods 2016-01-04 15:39:57 +00:00
raid.py Add support for inband raid configuration agent ramdisk 2015-09-14 15:52:31 +00:00
rpc.py Avoid RequestContextSerializer from oslo.messaging 2015-11-26 20:48:48 -05:00
safe_utils.py Enable hacking rule E265 2014-11-13 10:48:34 +08:00
service.py Switch to Futurist library for asynchronous execution and periodic tasks 2016-02-24 15:44:05 +01:00
states.py Add manual cleaning to state machine 2015-11-18 22:26:51 +00:00
swift.py Trival: Remove unused logging import 2015-12-26 11:27:59 +08:00
utils.py Augmenting the hashing strategy 2016-02-12 03:20:56 -08:00