Incus has issues with idmap

@stgraber I have once of my containers mapped to an incus host folder.

incus config device add MyContainer mydisk disk source=/home/scott/folder1 path=/home/scott/folder1

I have set raw.idmap thus allowing writes from inside of the container to occur outside the container mapping the needed UID.

incus config set MyContainer raw.idmap "both 1000 1001"

This works just as expected.

However, if I stop and try to start the container again, I get this error:

Error: Failed to handle idmapped storage: invalid argument - Failed to change ACLs on /var/lib/incus/storage-pools/default/containers/MyContainer/rootfs/var/log/journal
Try `incus info --show-log MyContainer` for more info

When I show the log:

Name: MyContainer
Status: STOPPED
Type: container
Architecture: x86_64
Created: 2023/11/19 20:09 CST
Last Used: 2024/03/29 11:43 CDT

Backups:
+---------------------------------+----------------------+----------------------+---------------+-------------------+
|              NAME               |       TAKEN AT       |      EXPIRES AT      | INSTANCE ONLY | OPTIMIZED STORAGE |
+---------------------------------+----------------------+----------------------+---------------+-------------------+
| MyContainer-20240329165626.tar.gz | 2024/03/29 11:56 CDT | 0000/12/31 18:08 LMT | NO            | NO                |
+---------------------------------+----------------------+----------------------+---------------+-------------------+

Log:

This server was converted from LXD to Incus.

I had an “raw.idmap” to another container which I removed and then associated the raw.idmap with this one. I can restore from backup and it runs. As soon as I stop and try to restart I get the error above.

By the way, creating the container from scratch in incus with the raw.idmap is able to stop and start just fine. Could this be a migration tool issue?

I don’t know what it is with the systemd journal, but it’s not the first time we’ve seen issues remapping it… Best option is to delete that particular file, it usually takes care of the problem.