I’ve encountered some strange behavior when running my snap on a Raspberry Pi 3 with Ubuntu Core 18.
To demonstrate this behavior, I created the following snap declaration:
name: mytest base: core18 version: '0.1' summary: Single-line elevator pitch for your amazing snap description: | This is my-snap's description. You have a paragraph or two to tell the most important story about your snap. Keep it under 100 words though, we live in tweetspace and your description wants to look good in the snap store. grade: devel confinement: strict apps: add: command: bin/ip tuntap add mode tun tun10 adapter: full plugs: - network-control delete: command: bin/ip link delete tun10 adapter: full plugs: - network-control parts: mytest: plugin: nil stage-packages: - iproute2
The snap uses the network-control interface to add and remove a tun device.
Without attaching the network-control interface, mytest.add responds with
Cannot open netlink socket: Operation not permitted
When connecting the interface, the action is executed as intended on every machine I tested, except the Raspberry Pi 3 running Ubuntu Core 18. Here, another error is displayed
open: Operation not permitted
I tested the following configurations (clean images with refreshed snaps):
- Ubuntu 19.10 amd64 desktop (working)
- Ubuntu 19.10 server armhf Raspberry Pi 3 (working)
- Ubuntu Core 18 amd64 (working)
- Ubuntu Core 18 armhf Raspberry Pi 3 (NOT working)
- Ubuntu Core 18 arm64 Raspberry Pi 3 (NOT working)
Is this a bug in snapd? Or is this somehow intended behavior?