Failed to update profile

Hi All,

Quick question. I recently made my first LXD container, and now I’m wanting to spin up a second to try playing around with KODI for a personal music player. Whenever I try to do the lxd init command however it always results in Error: Failed to update profile ‘default’: At least one container relies on this profile’s root disk device. I suppose this is true to an extent, as I am trying to do one LXD at two ZFS datasets in the same zfs pool - Hollow/bard and Hollow/test. This is also the string that I passed to the “existing pool” question.

Am I passing the wrong argument for existing dataset and it’s still pointing to the same spot when making a new container?

There are some corner cases where you would get the default profile gone. In this case it says that it cannot get updated, which is similarly weird.

Let’s get the full picture.

  1. Which version of lxc and lxd do you have? lxc --version and lxd --version.
  2. Normally you run lxd init only once to perform the initial configuration. This command is a wizard, and you can also run individual lxc commands instead to set exactly the same configuration. I deduce that you tried to run this command multiple times?
  3. What does lxc profile list and lxc profile show default show? These commands show the default profile which has to exist to be able to create containers.


My understanding was running multiple containers is similar or parallel to running multiple VMs; that’s what I’m trying to achieve. If lxd init is not the correct command to spin up multiple containers, then what command should I be sending the cli?

  1. Version 3.0.0 in both cases

  2. Yes, I ran lxd init multiple times as mentioned above.

  3. Only one lxc is default (even though I thought i called it test?) Output:

        name: eth0
        nictype: bridged
        parent: lxdbr_test
        type: nic
        path: /
        pool: test
        type: disk
name: default
- /1.0/containers/test

There is lxd init and there is lxc init.
The first is the wizard to setup for you the networking, the storage details and a few other things.

After the initialization, you can perform the full lifecycle of containers. These are the lxc commands and you append a subcommand as in lxc init. Then, you continue with the rest of the parameters according to the subcommand.

  1. init: initialize a new container but do not start it yet.
  2. list: show any created containers
  3. delete: delete a container.
  4. start: start a container
  5. launch: initialize and start a container, in one go.
  6. stop: stop a running container.

Thanks. This helped :slight_smile: