Cloned from launchpad blueprint https://blueprints.launchpad.net/ironic/+spec/pluggable-distributed-synchronization.
Today Ironic does database-backed locking for distributed synchronization. For example, there is a column in the node table, which a process can put its hostname in to "lock" the node so that other processes won't modify the data. If one doesn't trust database locking (deadlocks if a conductor dies), there are currently no alternatives, nor a way to implement/use alternative backends.
Specification URL (additional information):