d6a277130b
Add "conductor_affinity" column to nodes table, containing a reference to the `id` of the conductor service (not its hostname) that has most recently performed some action which could require local state to be maintained (eg, built a PXE config, or started a SOL session). Using the `id` as a foreign key necessitates not deleting conductors when unregistering them, but instead marking them offline. This also helps in determining if a conductor service was only restarted (though this patch does not implement graceful shutdown). Thus, this patch also adds an "online" boolean column to the conductors table to track whether a conductor is on- or offline, and updates the register and unregister methods to use that field transparently. It may be noted that this does not change the behavior of register_conductor or unregister_conductor, though an optional "update_existing" parameter has been added to register_conductor. This replaces a DELETE query with an UPDATE query instead. Co-Authored-By: David Shrewsbury <shrewsbury.dave@gmail.com> Co-Authored-By: Lucas Alvares Gomes <lucasagomes@gmail.com> Related-bug: #1279331 Change-Id: I8e8b5cc00fc9f565ad2fb442e9a26077342e0a25 |
||
---|---|---|
.. | ||
controllers | ||
middleware | ||
__init__.py | ||
acl.py | ||
app.py | ||
app.wsgi | ||
config.py | ||
hooks.py |