Best practice advice for Openstack via Juju

so I’m asking for some tips regarding a full openstack deployment.
I been told LXD is “the really hard way” of doing stuff in Juju but the standard Openstack bnudle uses lxd? So should that be changed?
Any other pitfalls I should be aware off?
Btw does the default install use ceph as shared storage for HA services or is this supposed to be used for VMs? Because I’d use a second ceph cluster for that

Thanks for any tips

I think I said that using manual machines is actually the really hard way, not LXD. Using a LXD is actually the easiest way to stand something up.

Before I type a more detailed answer, may I request a clarification? Are you attempting to deploy an OpenStack cloud via Juju? Or attempting to evaluate Juju for deploying a complex application on some cloud, which may or may not be OpenStack?

Deploying Openstack via Juju.
Already did now, doing some testing, so far works all.
Just wonder if there’s anything I should think of

While deploying Openstack on a LXD provider does entail some additional steps to ensure lxd profile nested privileges, etc, and the complications of Ceph Nautilus and Octopus not supporting directory-based block devices requiring the use of Ceph Mimic versions, I would not describe it as “the hard way”, as much as a detailed deployment process. There is good documentation in the Openstack charm guide for openstack-on-lxd.

The configuration of whether VMs have root/ephemeral storage stored in ceph or on the disk of the nova-compute unit is managed by the nova-compute charm’s libvirt-image-backend setting. Set to qcow2, it will use ephemeral storage from the nova-compute hypervisors, but set to rbd, it will use ceph as the ephemeral storage.

When you mention the default openstack bundle utilizing LXD, openstack-base bundle uses lxd for placement of API services on top of the compute/storage machines (assumed to be metals from MAAS or VMs from another cloud (openstack, GCP, AWS, Azure).