Task: set up LXD substrate
Goal
Install and configure LXD inside the sandbox VM and register it as a Juju cloud so that a Juju controller can be bootstrapped against it for machine charm deployments.
Steps
Run the setup script:
$PROJECT_ROOT/development-sandbox/bin/setup-lxd.shThis is idempotent. Each step checks whether it has already been done. Wait for it to complete before proceeding.
Bootstrap a Juju controller. Use a descriptive controller name:
juju bootstrap localhost lxd-ctrlCreate a working model:
juju add-model testingVerify the substrate is ready:
juju status -m testing
Notes
- The
localhostJuju cloud refers to the local LXD installation. - If the lxd group membership message appears, open a new shell before running
juju bootstrapto ensure the ubuntu user has LXD access. - Machine charms deployed on LXD run in LXD containers, not Kubernetes pods.
Commands like
juju execwork normally.sudo k8s kubectlis not relevant for LXD deployments.