Bug 30158 - Невозможно создать/удалить контейнер с шаблоном altlinux
: Невозможно создать/удалить контейнер с шаблоном altlinux
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/lxc)
: unstable
: all Linux
: P3 normal
Assigned To:
:
: http://git.altlinux.org/people/dans/p...
:
:
:
  Show dependency tree
 
Reported: 2014-07-05 19:50 by
Modified: 2014-08-20 18:36 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2014-07-05 19:50:05
С любым именем нового контейнера при попытке создания получаем:
===========================================================
root@thinkpad ~ #lxc-create -n foobar -t altlinux
A container with that name exists, chose a different name
lxc_container: container creation template for foobar failed
lxc_container: Error creating container foobar
[1]    22080 exit 1
===========================================================

Насколько я понял lxc.conf(5), конфигурация генерится из /e/lxc/default.conf
простым копированием. И в скрипте шаблона нет смысла проверять её отсутствие.

Если просто удалить код:
===========================================================
if [ -f $config_path/config ]; then
    echo "A container with that name exists, chose a different name"
    exit 1
fi
===========================================================

из /usr/share/lxc/templates/lxc-altlinux то создание контейнера проходит
"успешно":
===========================================================
root@thinkpad ~ #lxc-create -n foobar -t altlinux
Checking cache download in
/var/cache/lxc/altlinux/x86_64/Sisyphus/default/rootfs ...                   
Cache found. Updating...
chroot: failed to run command 'apt-get': No such file or directory
chroot: failed to run command 'apt-get': No such file or directory
Failed to update 'altlinux base', continuing with last known good cache
Copy /var/cache/lxc/altlinux/x86_64/Sisyphus/default/rootfs to
/var/lib/lxc/foobar/rootfs ... 
Copying rootfs to /var/lib/lxc/foobar/rootfs
.../usr/share/lxc/templates/lxc-altlinux: line 93:
/var/lib/lxc/foobar/rootfs/etc/sysconfig/network: No such file or directory
chroot: failed to run command 'chkconfig': No such file or directory
chroot: failed to run command 'chkconfig': No such file or directory
chroot: failed to run command 'chkconfig': No such file or directory
chroot: failed to run command 'chkconfig': No such file or directory
chroot: failed to run command 'chkconfig': No such file or directory
subst: sed: can't read /var/lib/lxc/foobar/rootfs/etc/inittab: No such file or
directory
subst: sed: can't read /var/lib/lxc/foobar/rootfs/etc/syslog.conf: No such file
or directory
setting root passwd to rooter
chroot: failed to run command 'chpasswd': No such file or directory
container rootfs and config created
network configured as veth in the virbr0
root@thinkpad ~ #lxc-info -n foobar
Name:           foobar          
State:          STOPPED
===========================================================

Если же попытаться удалить такой свежесозданный контейнер, получим:
===========================================================
root@thinkpad ~ #lxc-destroy -n foobar
lxc_container: _recursive_rmdir_onedev: failed to delete
/var/lib/lxc/foobar/rootfs/fastboot
lxc_container: _recursive_rmdir_onedev: failed to delete
/var/lib/lxc/foobar/rootfs
lxc_container: Error destroying rootfs for foobar
Destroying foobar failed
[1]    23364 exit 1
===========================================================

если удалить код
===========================================================
    chattr +i ${rootfs_path}/fastboot
===========================================================
из /usr/share/lxc/templates/lxc-altlinux то удаление созданных после этого
контейнеров проходит. Не очень понятно, зачем там аттрибут immutable. В пакете
startup, манипулирующим с этим файлов, я такого не вижу.
------- Comment #1 From 2014-08-15 22:42:21 -------
Спасибо.
Проблема была в том, что шаблон создавался давно и с тех пор многое изменилось,
например приехал systemd.
Я пофиксил скрипт и на ваших примерах теперь все работает.
А fastboot для systemd не нужен, емнип.

Проверьте когда приедет версия 1.0.5
------- Comment #2 From 2014-08-16 08:08:23 -------
Проверил. Всё хорошо кроме следующих строчек ругани при создании контейнера:

error reading information on service syslogd: No such file or directory
subst: sed: can't read /var/lib/lxc/foobar/rootfs/etc/syslog.conf: No such file
or directory

Если уж убрали из минимальной системы sysklog (я так понимаю потому что они с
systemd не дружат) то стоило бы и конфигурацию syslog  убрать или сделать
опциональной (мало ли, вдруг админ в профиле его затребует).
------- Comment #3 From 2014-08-20 15:14:07 -------
Добавил проверки в 1.0.5-alt2.
Уже должен приехать -- проверьте, пожалуйста, у себя
------- Comment #4 From 2014-08-20 18:35:54 -------
Теперь без ругани.