Convert GCE to state machine driver and remove simple

GCE is the only "simple" driver since it turns out every other cloud
is not simple enough.  The state machine driver interface is just
as simple (perhaps simpler) and can accomodate a variety of clouds.
This ports the GCE driver to the statemachine interface and drops
the simple interface entirely.

Change-Id: Icfc298d83750ca31503211f920900d9207488bc2
This commit is contained in:
James E. Blair
2022-08-16 16:10:59 -07:00
parent 6320b06950
commit adab6eeb0d
9 changed files with 402 additions and 1096 deletions

View File

@@ -276,7 +276,7 @@ class TestDriverGce(tests.DBTestCase):
self._wait_for_provider(pool, 'gcloud-provider')
with patch('nodepool.driver.simple.nodescan') as nodescan:
with patch('nodepool.driver.statemachine.nodescan') as nodescan:
nodescan.return_value = 'MOCK KEY'
req = zk.NodeRequest()
req.state = zk.REQUESTED
@@ -307,7 +307,7 @@ class TestDriverGce(tests.DBTestCase):
nodescan.assert_called_with(
node.interface_ip,
port=22,
timeout=180,
timeout=60,
gather_hostkeys=True)
# A new request will be paused and for lack of quota