Bug 9886

Summary: При использовании veth etcnet-add_ip.sh этого не учитывает
Product: Sisyphus Reporter: Slava Dubrovskiy <dubrsl>
Component: vzctlAssignee: Andrew Vasilyev <andy>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P2 CC: andy
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Пропускает конфигурацию venet в VE для etcnet если не установлена IP_ADDR
none
Удаление venet0 при старте VE если удаляется все IP none

Description Slava Dubrovskiy 2006-08-16 13:34:08 MSD
При использовании veth etcnet-add_ip.sh все равно настраивает venet внутри VE и
совершенно не учитывает возможность использования veth.
Т.е. поднимает venet0 и устанавливает default маршрут.
Предлагаю изменить скрипт так, чтобы проводилась проверка на наличие переменной
veth в конфиге и проводилась соответствующая настройка.
Comment 1 Slava Dubrovskiy 2006-08-16 16:52:40 MSD
Created attachment 1589 [details]
Пропускает конфигурацию venet в VE для etcnet если не установлена IP_ADDR
Comment 2 Dmitry V. Levin 2006-08-17 00:15:49 MSD
Совсем пропускать запуск create_venet_config в setup_network тоже нельзя,
поскольку setup_network выполняется только один раз при включении контейнера.
Comment 3 Slava Dubrovskiy 2006-08-17 10:12:53 MSD
(In reply to comment #2)
> Совсем пропускать запуск create_venet_config в setup_network тоже нельзя,
> поскольку setup_network выполняется только один раз при включении контейнера.
Он (create_venet_config) устанавливает конфигурацию для venet, которая
совершенно не нужна при использовании veth. Специально задавал вопрос на форуме
http://forum.openvz.org/index.php?t=rview&goto=5223#msg_5223
Идеальный вариант, еслибы запускался create_veth_config в котором бы
устанавливались настройки для veth.
С этим veth еще непочатый край работы.
Comment 4 Slava Dubrovskiy 2006-12-12 12:08:06 MSK
Уже сделали в апстриме
http://git.openvz.org/?p=vzctl;a=commit;h=32a571fe8861c8dbde388f8b61c396737bc936ae
Comment 5 Dmitry V. Levin 2007-02-21 14:50:27 MSK
Вячеслав, вы могли бы сделать патч на etcnet-{add,del}_ip.sh по аналогии с
процитированным изменением в upstream?
Comment 6 Slava Dubrovskiy 2007-02-21 15:07:03 MSK
(In reply to comment #5)
> Вячеслав, вы могли бы сделать патч на etcnet-{add,del}_ip.sh по аналогии с
> процитированным изменением в upstream?
Ok. Только дома попробую. Пока на работе нет возможности работать с vz от ALT.
Comment 7 Slava Dubrovskiy 2007-02-22 15:38:10 MSK
Посмотрел 14 версию. Также просмотрел add_ip от разных дистрибутивов входящих в
пакет. Или я не правильно понял или поправьте меня, но Upstream сделал только
чтобы не добавлялся IP для venet если нет IP. Но сам интерфейс создается. Считаю
это не правильно. Не логично и только сбивает с толку. 
Предлагаю такую логику: При старте проверяем наличие IP. если нет IP то даже не
создавать venet. А при удалении IP проверять, остался ли хоть один IP и если
нет, то удаляем venet.
Скажите пожалуйста Ваше мнение? Нужен ли venet без IP?
Comment 8 Slava Dubrovskiy 2007-02-28 13:12:10 MSK
(In reply to comment #5)
> Вячеслав, вы могли бы сделать патч на etcnet-{add,del}_ip.sh по аналогии с
> процитированным изменением в upstream?
Я вот сделал по аналогии. Но не очень вижу в этих изменениях необходимости, т.к.
при отсутствии IP вообще не запускается add_ip.sh. Это проверяется в
http://git.openvz.org/?p=vzctl;a=blobdiff;f=src/lib/net.c;h=426edfbf84ebdf02c02fcef35f9bd48a6b1a9ad5;hp=7754878c58523b67638e56bcbfb9f595ac0b07ff;hb=32a571fe8861c8dbde388f8b61c396737bc936ae;hpb=c332d0410878d3f4c1d18f87d8a621bc769addcf
Считаю это не правильным, т.к. возможна ситуация, когда добавили IP, потом
удалили при выключенном VE то настройки venet остаются и venet всегда
настраивается. До тех пор, пока руками не удалишь /etc/net/venet0 внутри VE.
Я бы запускал add_ip.sh всегда и в нем делал все проверки. Но не знаю как это
отразится на других скриптах для других дистрибутивов.
Comment 9 Slava Dubrovskiy 2007-02-28 13:15:27 MSK
Created attachment 1842 [details]
Удаление venet0 при старте VE если удаляется все IP

(In reply to comment #5)
> Вячеслав, вы могли бы сделать патч на etcnet-{add,del}_ip.sh по аналогии с
> процитированным изменением в upstream?
Я вот сделал по аналогии. Но не очень вижу в этих изменениях необходимости,
т.к. при отсутствии IP вообще не запускается add_ip.sh. Это проверяется в
http://git.openvz.org/?p=vzctl;a=blobdiff;f=src/lib/net.c;h=426edfbf84ebdf02c02fcef35f9bd48a6b1a9ad5;hp=7754878c58523b67638e56bcbfb9f595ac0b07ff;hb=32a571fe8861c8dbde388f8b61c396737bc936ae;hpb=c332d0410878d3f4c1d18f87d8a621bc769addcf

Считаю это не правильным, т.к. возможна ситуация, когда добавили IP, потом
удалили при выключенном VE то настройки venet остаются и venet всегда
настраивается. До тех пор, пока руками не удалишь /etc/net/venet0 внутри VE.
Я бы запускал add_ip.sh всегда и в нем делал все проверки. Но не знаю как это
отразится на других скриптах для других дистрибутивов.
Comment 10 Slava Dubrovskiy 2007-02-28 15:22:23 MSK
Вот и баг повесили. http://bugzilla.openvz.org/show_bug.cgi?id=478
Я попробую сделать нормальный патч, чтобы работало при любых вариантах.
Comment 11 Dmitry V. Levin 2007-03-02 04:04:35 MSK
Я тоже склонен откатить это изменение в src/lib/net.c, заменив его
соответствующей проверкой в add_ip(), например, как в 3.0.14-alt1-5-g1be1f6a.
Comment 12 Dmitry V. Levin 2007-03-04 20:13:37 MSK
etcnet-add_ip.sh я исправил, а вот с остальными *-add_ip.sh проблема осталась.