[lxc-users] Containers don't start with LXC 2.0.6 on Arch Linux
John
lxc at jelmail.com
Wed Dec 21 15:12:31 UTC 2016
On 21/12/16 14:45, Pavol Cupka wrote:
> so the containers restarted after upgrade to 2.0.6
>
> do you mind pasting your config?
>
Sure, here is a config file. It is one of many. None work under 2.0.6
but all work under 2.0.4. I haven't modified these configs in a couple
of years because, until now, they've worked fine for my needs. There may
now be better ways to do things than what I have done here :)
# Use autodev to be compatible with systemd
lxc.autodev = 1
lxc.hook.autodev = /srv/lxc/nitrogen/host/etc/lxc/autodev
# hostname
lxc.utsname = nitrogen
#
# network
# if the network is not defined then the container
# will be able to use the host's network
lxc.network.type = veth
#lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.mtu = 1500
lxc.network.hwaddr = 12:34:0A:00:C8:07
# restrict capabilities (security) see "man capabilities"
lxc.cap.drop = sys_module
#lxc.cap.drop = sys_admin
# only explicit device access
lxc.cgroup.devices.deny = a
#
# Memory Devices
lxc.cgroup.devices.allow = c 1:3 rwm # /dev/null null stream
lxc.cgroup.devices.allow = c 1:5 rwm # /dev/zero zero stream
lxc.cgroup.devices.allow = c 1:7 rwm # /dev/full full stream
lxc.cgroup.devices.allow = c 1:8 rwm # /dev/urandom blocking random stream
lxc.cgroup.devices.allow = c 1:9 rwm # /dev/random non blocking stream
#
# Terminals
lxc.tty = 1 # allow this many ttys
lxc.pts = 1024 # private instance
of /dev/pts
lxc.cgroup.devices.allow = c 4:0 rwm # /dev/tty0 current virtual
terminal
lxc.cgroup.devices.allow = c 5:0 rwm # /dev/tty current tty device
lxc.cgroup.devices.allow = c 5:1 rwm # /dev/console system console
lxc.cgroup.devices.allow = c 5:2 rwm # /dev/ptmx pseudo terminal
creator
lxc.cgroup.devices.allow = c 136:* rwm # /dev/pts/* psuedo terminal slaves
#
# root filesystem
lxc.rootfs = /srv/lxc/nitrogen
# bind mount the host's pacman cache so container uses the same cache
# rather than wasting time downloading packages already downloaded.
lxc.mount.entry = /var/cache/pacman/pkg
/srv/lxc/nitrogen/var/cache/pacman/pkg none rw,bind 0 0
# Build files
lxc.mount.entry = /dev/platters/build /srv/lxc/nitrogen/home/build ext4
defaults 0 0
# Allow access to LVM filesystem
lxc.cgroup.devices.allow = b 254:* rwm # /dev/mapper/* LVM partitions
# transfer
lxc.mount.entry = /srv/transfer /srv/lxc/nitrogen/srv/transfer none
rw,bind 0 0
# 32 bit schroot
lxc.mount.entry = /srv/lxc/nitrogen32 /srv/lxc/nitrogen/opt/nitrogen32
none rw,bind 0 0
lxc.rootfs = /srv/lxc/nitrogen
When I start this config on 2.0.6 I get this output:
lxc at nitrogen.service - LXC Container nitrogen
Loaded: loaded (/etc/systemd/system/lxc at .service; enabled; vendor
preset: disabled)
Active: failed (Result: exit-code) since Wed 2016-12-21 15:06:46 GMT;
1min 19s ago
Process: 10158 ExecStop=/usr/bin/lxc-stop -n %i (code=exited,
status=1/FAILURE)
Process: 10153 ExecStart=/usr/bin/screen -dmS systemd-%i
/usr/bin/lxc-start -F -n %i (code=exited, status=0/SUCCESS)
Main PID: 10154 (code=exited, status=0/SUCCESS)
Dec 21 15:06:46 hydrogen systemd[1]: Starting LXC Container nitrogen...
Dec 21 15:06:46 hydrogen systemd[1]: Started LXC Container nitrogen.
Dec 21 15:06:46 hydrogen lxc-stop[10158]: lxc-stop: parse.c:
lxc_file_for_each_line: 57 Failed to parse config: lxc.tty = 1
# allow this many tty
Dec 21 15:06:46 hydrogen lxc-stop[10158]: Error opening container
Dec 21 15:06:46 hydrogen systemd[1]: lxc at nitrogen.service: Control
process exited, code=exited status=1
Dec 21 15:06:46 hydrogen systemd[1]: lxc at nitrogen.service: Unit entered
failed state.
Dec 21 15:06:46 hydrogen systemd[1]: lxc at nitrogen.service: Failed with
result 'exit-code'.
If I try to start it without systemd the result is the same:
$ sudo /usr/bin/lxc-start -F -n nitrogen
lxc-start: parse.c: lxc_file_for_each_line: 57 Failed to parse config:
lxc.tty = 1 # allow this many ttys
lxc-start: tools/lxc_start.c: main: 279 Failed to create lxc_container
The containers start without issue after downgrading like this:
$ sudo pacman -U /var/cache/pacman/pkg/lxc-1:2.0.4-2-x86_64.pkg.tar.xz
Let me know if I can provide anything else.
More information about the lxc-users
mailing list