[all] Etcd as DLM

Jay Pipes jaypipes at gmail.com
Tue Dec 4 12:52:10 UTC 2018


On 12/03/2018 06:53 PM, Julia Kreger wrote:
> I would like to slightly interrupt this train of thought for an 
> unscheduled vision of the future!
> 
> What if we could allow a component to store data in etcd3's key value 
> store like how we presently use oslo_db/sqlalchemy?
> 
> While I personally hope to have etcd3 as a DLM for ironic one day, 
> review bandwidth permitting, it occurs to me that etcd3 could be 
> leveraged for more than just DLM. If we have a common vision to enable 
> data storage, I suspect it might help provide overall guidance as to how 
> we want to interact with the service moving forward.

Considering Ironic doesn't have a database schema that really uses the 
relational database properly, I think this is an excellent idea. [1]

Ironic's database schema is mostly a bunch of giant JSON BLOB fields 
that are (ab)used by callers to add unstructured data pointing at a 
node's UUID. Which is pretty much what a KVS like etcd was made for, so 
I say, go for it.

Best,
-jay

[1] The same can be said for quite a few tables in Nova's cell DB, 
namely compute_nodes, instance_info_caches, instance_metadata, 
instance_system_metadata, instance_extra, instance_actions, 
instance_action_events and pci_devices. And Nova's API DB has the 
aggregate_metadata, flavor_extra_specs, request_specs, build_requests 
and key_pairs tables, all of which are good candidates for 
non-relational storage.



More information about the openstack-discuss mailing list