Bug 28628

Summary: vzctl lost important ALT features since 3.0.24.2-alt1
Product: Sisyphus Reporter: Dmitry V. Levin <ldv>
Component: vzctlAssignee: Nobody's working on this, feel free to take it <nobody>
Status: ASSIGNED --- QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: evg, lav, mike
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Патч от glebfm@ от 20.05.2015 none

Description Dmitry V. Levin 2013-03-04 06:33:49 MSK
Потерялись разные фиксы и фичи в разных местах.

Например,

$ git grep -Fl /etc/hooks/ 3.0.24.2-alt1 -- etc
3.0.24.2-alt1:etc/dists/scripts/etcnet-add_ip.sh
3.0.24.2-alt1:etc/dists/scripts/etcnet-del_ip.sh
3.0.24.2-alt1:etc/dists/scripts/postcreate.sh
3.0.24.2-alt1:etc/dists/scripts/redhat-set_hostname.sh
3.0.24.2-alt1:etc/dists/scripts/set_dns.sh
3.0.24.2-alt1:etc/dists/scripts/set_userpass.sh

$ git grep -Fl /etc/hooks/ 4.1.2-alt1 -- etc |cat
4.1.2-alt1:etc/dists/scripts/etcnet-add_ip.sh
4.1.2-alt1:etc/dists/scripts/etcnet-del_ip.sh
4.1.2-alt1:etc/dists/scripts/redhat-set_hostname.sh

Важные изменения в etc/dists/scripts/postcreate.sh потерялись полностью.

Ситуация осложняется тем, что я уже не помню, какие фичи были в последней моей сборке vzctl, а сравнивать два полных диффа мне сейчас некогда.
Comment 1 Evgenii Terechkov 2013-03-04 18:17:06 MSK
А что говорят об этих фиксах и фичах в апстриме?
Comment 2 Slava Dubrovskiy 2013-03-05 12:36:42 MSK
(In reply to comment #0)
> Потерялись разные фиксы и фичи в разных местах.
А можно, хоть примерно сказать, о каких фиксах и фичах идет речь?

Потому как специально я ничего не выкидывал и старался сохранить. Если что-то и отвалилось, то не намеренно.
Comment 3 Slava Dubrovskiy 2013-03-05 12:46:39 MSK
(In reply to comment #1)
> А что говорят об этих фиксах и фичах в апстриме?
Апстрим там тоже не все фичи принимает (например https://bugzilla.openvz.org/show_bug.cgi?id=355 )

Но и поддерживать свою сильно патченную версию vzctl не очень удобно да и квалификация не та у меня :( Поэтому или пропихивать в апстрим такие наработки нужно или четко фиксировать какая фича у нас есть. Чтобы при обновлении можно было обратить внимание и не потерять.
Comment 4 Evgenii Terechkov 2015-05-22 11:56:53 MSK
Created attachment 6284 [details]
Патч от glebfm@ от 20.05.2015

20-22.05.2015 glebfm@ прислал мне приложенный патч с таким письмом:
=8<================================================
  > Я перенёс, вроде, старые патчи и починил новые bashisms. Проверить всё
  > никак не доберусь.

  Я это скорее к обсудить, как это организовать всё. Я могу преаратить всё
  это в патчи относительно современной версии. Могу разделить на патчи
  относительно нашей ветки.
  Или как ещё, даже не знаю, как лучше.
=8<================================================

Честно говоря, не знаю, что тут и ответить. Мне vzctl пришлось подхватить просто потому, что больше некому, никто особо ничего не объяснял. Патч конечно это хорошо, но по сути с 2013-го года ничего не изменилось:

1) Желающих держать свой форк vzctl (как делал 4 года ldv@) не появилось. А с учётом объявленного недавно грядущего слияния кодовых баз OpenVZ и Virtuozzo это станет ещё сложнее

2) Чёткого понимания необходимости держать так много патчей нет (ну, у меня нет).

2а) Касательно /etc/hooks в etc/dists так и неясно, где они используются в реальной жизни (можно вернуть в полном объёме благодаря glebfm@, можно наоборот убрать остатки и вернуться к апстримному виду).

2б) Касательно башизмов - я могу понять необходимость их чинить в коде, исполняющемся на HN (хотя правильным решением было бы обновление до bash4: http://lists.altlinux.org/pipermail/devel/2014-December/199308.html), но мне неясно, зачем пытаться их чинить для всех дистрибутивов. Мне понятна починка для кода, исполняющегося в контексте альтовских CT - из-за древнего баша. Но остальное - пусть будет проблемой апстрима (если они вообще видят здесь какую-то проблему).

В силу вышеизложенного я хотел бы в будущих сборках vzctl минимизировать размер диффа с апстримом (в идеале до .gear/ и/или altlinux/). Сейчас я склоняюсь к тому, чтобы:

3) из приложенного патча взять только малую часть (vzifup-post.in, vzmigrate.in, vz-postinstall.in, vzevent-stop.in, ещё что-то альт-специфичное)

4) кое-что закинуть в апстрим (AC_SYS_LARGEFILE, что ещё?)

5) все неприменимые к альту скрипты в etc/dists вернуть к апстримному виду и добавить в список исключений, где не нужно искать зависимости.

5) кое-что допатчить чтобы избавиться от зависимости vzctl->bash

6) убрать поддержку /etc/hooks (или наоборот, вернуть в прежнем объёме если будет озвучена необходимость в них) и где можно вернуться к апстримному виду

Есть мысли? Молчание считается знаком согласия :-)

P.S.: ещё раз большое спасибо glebfm@ за проделанный труд.
Comment 5 Gleb F-Malinovskiy 2015-05-22 14:58:31 MSK
(In reply to comment #4)
> Честно говоря, не знаю, что тут и ответить. Мне vzctl пришлось подхватить
> просто потому, что больше некому, никто особо ничего не объяснял. Патч конечно
> это хорошо, но по сути с 2013-го года ничего не изменилось:
> 
> 1) Желающих держать свой форк vzctl (как делал 4 года ldv@) не появилось.

Ну, я вот...

> А с учётом объявленного недавно грядущего слияния кодовых баз OpenVZ и
> Virtuozzo это станет ещё сложнее
> 
> 2) Чёткого понимания необходимости держать так много патчей нет (ну, у меня
> нет).
> 
> 2а) Касательно /etc/hooks в etc/dists так и неясно, где они используются в
> реальной жизни (можно вернуть в полном объёме благодаря glebfm@, можно наоборот
> убрать остатки и вернуться к апстримному виду).

Они используются в разных альтовых пакетах, в частности, chrooted.

> 2б) Касательно башизмов - я могу понять необходимость их чинить в коде,
> исполняющемся на HN
> (хотя правильным решением было бы обновление до bash4:
> http://lists.altlinux.org/pipermail/devel/2014-December/199308.html),

Эта проблема неразрешима при сытых волках и целых овцах.

> но мне неясно, зачем пытаться их чинить для всех дистрибутивов. Мне понятна
> починка для кода, исполняющегося в контексте альтовских CT - из-за древнего баша.

Это никак не связано.
Мы боимся только bash4-измов, а их там, кажется, нет. Наш /bin/sh замечательно
исполняет все bash-измы.

> Но
> остальное - пусть будет проблемой апстрима (если они вообще видят здесь
> какую-то проблему).
> 
> В силу вышеизложенного я хотел бы в будущих сборках vzctl минимизировать размер
> диффа с апстримом (в идеале до .gear/ и/или altlinux/). Сейчас я склоняюсь к
> тому, чтобы:
> 
> 3) из приложенного патча взять только малую часть (vzifup-post.in,
> vzmigrate.in, vz-postinstall.in, vzevent-stop.in, ещё что-то альт-специфичное)
> 
> 4) кое-что закинуть в апстрим (AC_SYS_LARGEFILE, что ещё?)
> 
> 5) все неприменимые к альту скрипты в etc/dists вернуть к апстримному виду и
> добавить в список исключений, где не нужно искать зависимости.
> 
> 5) кое-что допатчить чтобы избавиться от зависимости vzctl->bash

Это не очень важно.
 
> 6) убрать поддержку /etc/hooks (или наоборот, вернуть в прежнем объёме если
> будет озвучена необходимость в них) и где можно вернуться к апстримному виду

Это обязательно оставить.

Вообще, самые важные изменения на мой вкус это /etc/hooks и изменения в
postcreate.sh.
Comment 6 Evgenii Terechkov 2015-05-22 16:53:01 MSK
(В ответ на комментарий №5)
> (In reply to comment #4)
> > 1) Желающих держать свой форк vzctl (как делал 4 года ldv@) не появилось.
> Ну, я вот...

На это ответ традиционный:
=8<==============================
evg@thinkpad ~ $git.alt acl sisyphus vzctl show
vzctl	evg @everybody
=8<==============================

> > 2а) Касательно /etc/hooks в etc/dists так и неясно, где они используются в
> > реальной жизни (можно вернуть в полном объёме благодаря glebfm@, можно наоборот
> > убрать остатки и вернуться к апстримному виду).
> Они используются в разных альтовых пакетах, в частности, chrooted.

Я понимаю, для чего нужны /etc/hooks и вижу, как они используются, но не вижу применений именно того, что сделано в vzctl:
=8<==============================
evg@thinkpad ~/git/vzctl $for i in `git grep /etc/hooks 3.0.24.2-alt1 -- etc|egrep -io '/etc/hooks/[^/ ]+'|sort -u`;do;echo $i;grep "$i" ~/RPM/contents_index.noarch ~/RPM/contents_index.x86_64 ;done
/etc/hooks/add_ip.d
[2]    20107 exit 1     grep "$i" ~/RPM/contents_index.noarch
/etc/hooks/del_ip.d
[2]    20108 exit 1     grep "$i" ~/RPM/contents_index.noarch
/etc/hooks/post_create.d
[2]    20110 exit 1     grep "$i" ~/RPM/contents_index.noarch
/etc/hooks/set_dns.d
[2]    20111 exit 1     grep "$i" ~/RPM/contents_index.noarch
/etc/hooks/set_hostname.d
[2]    20112 exit 1     grep "$i" ~/RPM/contents_index.noarch
/etc/hooks/set_userpass.d
[2]    20113 exit 1     grep "$i" ~/RPM/contents_index.noarch
=8<==============================

Поэтому и предлагаю удалять - в сизифе пользователей я не вижу, пару лет они не объявляются. Цель добавления этой фичи тоже нигде вроде не описана. Следовательно, не так уж и хотелось, форк на ровном месте, "чтобы было".

> Мы боимся только bash4-измов, а их там, кажется, нет. Наш /bin/sh замечательно
> исполняет все bash-измы.

Ну тогда я вообще не вижу смысла чинить башизмы, пока ничего не ломается.

> > 5) кое-что допатчить чтобы избавиться от зависимости vzctl->bash
> Это не очень важно.

Я думаю, это может стать полезным, если мы вдруг дозреем до обновления bash3->bash4 каким-либо образом.

> > 6) убрать поддержку /etc/hooks (или наоборот, вернуть в прежнем объёме если
> > будет озвучена необходимость в них) и где можно вернуться к апстримному виду
> Это обязательно оставить.

Так и не озвучено, зачем.

> Вообще, самые важные изменения на мой вкус это /etc/hooks и изменения в
> postcreate.sh.

Про postcreate.sh: если уж нет необходимости везде чинить башизмы (даже на HN), то там остаются только fixinittab, fixsyslog, copy_localtime, которые просто нужно заапстримить. А /etc/hooks/post_create.d соответственно выкинуть.

Вообще же вышеупомянутый ACL констатирует ситуацию: я буду только рад, если кто-то грамотный возьмётся за поддержку vzctl.
Comment 7 Evgenii Terechkov 2016-04-21 16:40:14 MSK
Увы, но больше openvz я не занимаюсь.