nodepool/nodepool/cmd
James E. Blair be3edd3e17 Convert openstack driver to statemachine
This updates the OpenStack driver to use the statemachine framework.

The goal is to revise all remaining drivers to use the statemachine
framework for two reasons:

1) We can dramatically reduce the number of threads in Nodepool which
is our biggest scaling bottleneck.  The OpenStack driver already
includes some work in that direction, but in a way that is unique
to it and not easily shared by other drivers.  The statemachine
framework is an extension of that idea implemented so that every driver
can use it.  This change further reduces the number of threads needed
even for the openstack driver.

2) By unifying all the drivers with a simple interface, we can prepare
to move them into Zuul.

There are a few updates to the statemachine framework to accomodate some
features that only the OpenStack driver used to date.

A number of tests need slight alteration since the openstack driver is
the basis of the "fake" driver used for tests.

Change-Id: Ie59a4e9f09990622b192ad840d9c948db717cce2
2023-01-10 10:30:14 -08:00
..
__init__.py Remove uneeded shebang and exec bit on some files 2019-12-13 19:30:03 +01:00
builder.py Remove uneeded shebang and exec bit on some files 2019-12-13 19:30:03 +01:00
config_validator.py Check labels use valid diskimages in config validator 2022-09-20 12:37:00 -07:00
launcher.py Remove uneeded shebang and exec bit on some files 2019-12-13 19:30:03 +01:00
nodepoolcmd.py Convert openstack driver to statemachine 2023-01-10 10:30:14 -08:00