Database Only/Witness LXD Node

Is there an option to elect specific LXD Database hosts as pure database hosts/witnesses and not include them in the provisioning pool or enforce storage and network requirements?

As it stands now I am forced to init with --target when creating containers and also set up additional networking/storage pools on hosts that will never utilize them.


there’s no such a feature at the moment.

Could you please elaborate your full use case? In other words, what problem you’re trying to solve and how would such a feature benefit you.

It’s as simple as this:

Not every member of my cluster has the same hardware specifications. I’d like the database hosts to be very low power/able to run off UPS for extended periods of time while larger storage/RAM spec’d nodes with multiple nics host the containers. As it stands now, a container that I’m expecting to give X memory could land on a host that does not meet that requirement.

I’m working around it by targeting specific hosts but it seems relatively safe to assume others will hit such a setup and benefit from opting a database host out of the normal container host or ‘resource’ pool.

Okay, it might indeed be a setup that other folks want to put in place.

I think we’d have two separate features here. One is to mark only certain nodes as eligible database nodes. The other would be to have more fancy default scheduling that let’s you constraint what node to pick when you don’t explicitly define one with --target. We currently don’t have plans to implement such features, but that might change in the future. @stgraber would you be your man re the LXD roadmap :slight_smile:

Keep running into this on a second cluster, it feels a little excessive to run zfs/ceph and install multiple nics just to satisfy the cluster requirements for ‘database only’ nodes which are much lower spec’d.

@stgraber anyway to ‘unofficially’ force storage/networking resources to create without requiring it on all nodes?