[OpenStack-Infra] Nodepool v3 shim for talking to v2 zuul
James E. Blair
corvus at inaugust.com
Mon Jan 16 17:48:19 UTC 2017
Clint Byrum <clint at fewbar.com> writes:
> Are the jobs so complicated that you can't just write a dedicated gearman
> worker to do the translation to/from zk? I mean, gearman is really really
> really simple for a reason.
>
> Just saying.. might be simpler to write a throw-away 500 line python gear
> worker, than modifying nodepool. And you know how against rewrites I am,
> but in this case.. it's not a rewrite, but a shim.
That would be easy, but there are no jobs to reimplement in that way.
The current version of nodepool is not a gearman worker, rather it is a
gearman administrative client which inspects the status of the gearman
queue to infer whether there are enough nodes on-line to satisfy the
demand based on guesses it makes as to which jobs it expects to run on
each of the available image types.
Notably, there is no zuul -> nodepool request process. That is what
we're adding in v3. And with good reason.
In order for the current version of nodepool to operate, it requires a
significant amount of state information which it uses in the (rather
complex) calculations it performs to decide when, where, and which nodes
to launch.
I believe that by modifying nodepool to replace the relatively simple
(thanks to shade) "request a node from the cloud" bit with "request a
node from v3 nodepool", Monty will be making the minimal change needed
to create the shim. Anything else likely involves a change to the
complex side-channel interactions that nodepool performs now.
-Jim
More information about the OpenStack-Infra
mailing list