Bug 30158 - Невозможно создать/удалить контейнер с шаблоном altlinux
Summary: Невозможно создать/удалить контейнер с шаблоном altlinux
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: lxc (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL: http://git.altlinux.org/people/dans/p...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-07-05 19:50 MSK by Evgenii Terechkov
Modified: 2014-08-20 18:36 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgenii Terechkov 2014-07-05 19:50:05 MSK
С любым именем нового контейнера при попытке создания получаем:
===========================================================
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 Denis Pynkin 2014-08-15 22:42:21 MSK
Спасибо.
Проблема была в том, что шаблон создавался давно и с тех пор многое изменилось, например приехал systemd.
Я пофиксил скрипт и на ваших примерах теперь все работает.
А fastboot для systemd не нужен, емнип.

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

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 Denis Pynkin 2014-08-20 15:14:07 MSK
Добавил проверки в 1.0.5-alt2.
Уже должен приехать -- проверьте, пожалуйста, у себя
Comment 4 Evgenii Terechkov 2014-08-20 18:35:54 MSK
Теперь без ругани.