Help with "incus profile device remove" please

My machine is a NUC-8 with a fresh unreleased Debian-13 install and apt install incus (today).

Context: I was following Scotty-BYTE’s step by step video tutorial and made bridgeprofile with a parent that didn’t exist somehow. I wanted to start over with that step.

Like him, I had done incus profile create bridgeprofile and some following command where I copied everything he had done including a parent=bridge0 parameter which I don’t have.

So I thought I would do incus profile remove bridgeprofile and do some research as to the names of the bits and pieces already set up post install for me (vs him)

Issue: But incus profile remove bridgeprofile tells me there are not the right amount of args, and as many times as I look at the help text I can’t work out what is missing.

Do you want to delete a profile or remove it from an instance?

This command will delete the profile:

incus profile delete bridgeprofile

This one will remove it from an instance:

incus profile remove <instance_name> bridgeprofile

Thanks, that was it. I was able to scrub that incorrect setup.

Scotti chose bridge0 for a parent assignment here - https://youtu.be/ULPuU9aKyoU?si=eKWFs5GzTpwu4oGI&t=1526 - What’s the way to list my own bridges for such a parent assignment if I don’t have the one he had?

The delete action will delete an object, and it’s expected to be destructive. Example, incus network delete mynetwork, it deletes the network mynetwork.

The remove action will remove an object from something, but the object will continue to exist. Example, incus profile remove myinstance myprofile, which removes the profile myprofile from the instance myinstance.

When Incus or other software is developed, there is a big effort to get these right so that the users of the software will be able to figure out which is required and not end up in negative surprises.

In Scotti’s tutorial, he is referring to a bridged network on the host system. If you are running Debian 12, you can create your own bridged network easily enough. It will depend on whether you use the default networking provided by the Debian installation process, in which case there’s easy instructions online e.g. here - BridgeNetworkConnections - Debian Wiki

Or, if you use netplan, you can similarly follow the many tutorials online to create a bridge under a netplan config file (I mostly use netplan as I find it to be more stable). So I mostly just convert Debian12 networking to Netplan e.g. using this:

Either way, you need a bridge ON THE HOST (nothing to do with Incus).

E.g. here’s an excerpt from my /etc/netplan/… file for my bridge settings on my primary Debian 12 host (using netplan):

# /etc/netplan/50-netplan.yml
network:
  ethernets:
    enp98s0f0:
      dhcp4: true
      optional: true 

 bridges:
    br0:
      dhcp4: yes
      optional: true
      interfaces:
          - enp98s0f0
      routes:
        - to: default
          via: 10.231.25.1
      nameservers:
        addresses: [1.1.1.1,1.0.0.1]
      parameters:
        stp: false
        forward-delay: 0

Device name above is your ethernet adapter name (yours could be “enp1s0” - mine’s a little…odd looking…as it’s an old 10G card - enp98s0f0). Netplan’s easy to use I think, but any networking methodology can get you a bridge - google is your friend.

The above netplan excerpt creates a bridge interface on my server. Once you have your equivalent bridge connectivity, you can then create an incus bridge profile and you reference your bridge name as the parent device. E.g. in my primary Debian 12 server, I call one of my bridges ‘br0’, and here’s my bridge profile to fire-up instances so they can get an IP address off the bridge:

andrew@Yoda:~$ incus profile show br0

config:
  limits.cpu: "2"
  limits.memory: 4GiB
  snapshots.expiry: 2w
  snapshots.schedule: '@daily'
description: Default LXD profile with BRIDGE network
devices:
  eth0:
    nictype: bridged
    parent: br0
    type: nic
  root:
    path: /
    pool: default
    type: disk
name: br0
used_by:

When I launch an instance:

incus launch images:debian/12 v1 --vm --profile br0

The instance fires up, and gets an IP via DHCP from the network bridge, via (in my case), 10.231.25.1, which connects me to my LAN (beacase br0 is a bridge to my main lan). I hope this makes sense?

V/R

Andrew