Параметр HOST в options бриджа не должен быть обязательным. Обоснования: 1) В одной из моих конфигураций (http://git.altlinux.org/people/kirill/packages/?p=docs-linux_ha_openvz-enp.git;a=tree) бридж изначально пустой, но в него добавляются veth-интерфейсы по мере старта тех VE, которым это нужно 2) Недавно потребовалось сделать 2 профиля: роутер и бридж, а по умолчанию ни то, ни другое - просто несконфигурированные интерфейсы. В идеале в случае роутера бриджовый интерфейс вообще не нужен (как и в случае по умолчанию), однако если я в каталог /etc/net/ifaces/bridge положу только файл /etc/net/ifaces/bridge/options#bridge, то получу: # service network restart Computing interface groups: ERROR: /etc/init.d/network: No TYPE is specified for iface 'bridge' and can't guess automatically. Please fix. /etc/init.d/network: line 29: 1: missing 1st arg to type2group ERROR: /etc/init.d/network: unknown interface group for iface 'bridge' of type '' .... 4 interfaces found Processing /etc/net/vlantab: empty. Stopping group 1/realphys (3 interfaces) Stopping lan: ..OK Stopping mgmt: ...OK Stopping wan: ...OK Stopping group 0/virtual (1 interfaces) Stopping lo: .OK Computing interface groups: ERROR: /etc/init.d/network: No TYPE is specified for iface 'bridge' and can't guess automatically. Please fix. /etc/init.d/network: line 29: 1: missing 1st arg to type2group ERROR: /etc/init.d/network: unknown interface group for iface 'bridge' of type '' .... 4 interfaces found Starting group 0/virtual (1 interfaces) Starting lo: .....OK Starting group 1/realphys (3 interfaces) Starting lan: ......OK Starting mgmt: .........OK Starting wan: ......OK Processing /etc/net/vlantab: empty. Ладно создаю файл /etc/net/ifaces/bridge/options с таким содержимым: TYPE=bri HOST='' Получаю: # service network restart Computing interface groups: ..... 5 interfaces found Stopping group 2/hostedphys (1 interfaces) Stopping bridge: /etc/net/scripts/shutdown-bri: line 7: HOST: HOST must be set for bridge ..OK Processing /etc/net/vlantab: empty. Stopping group 1/realphys (3 interfaces) Stopping lan: ..OK Stopping mgmt: ...OK Stopping wan: ...OK Stopping group 0/virtual (1 interfaces) Stopping lo: .OK Computing interface groups: ..... 5 interfaces found Starting group 0/virtual (1 interfaces) Starting lo: .....OK Starting group 1/realphys (3 interfaces) Starting lan: ......OK Starting mgmt: .........OK Starting wan: ......OK Processing /etc/net/vlantab: empty. Starting group 2/hostedphys (1 interfaces) Starting bridge: ..../etc/net/scripts/setup-bri: line 7: HOST: HOST must be set for bridge OK В sisyphus@ мне предложили обходной путь: > А попробуйте /etc/net/ifaces/bridge/options с таким содержимым: > DISABLED=yes Попробовал, и обнаружил следующий баг: # cat /etc/net/ifaces/br/options TYPE=bri DISABLED=yes # cat /etc/net/ifaces/br/options#bridge TYPE=bri HOST='lan wan' # service network switchto bridge Computing interface groups: .... 4 interfaces found Processing /etc/net/vlantab: empty. Stopping group 1/realphys (3 interfaces) Stopping lan: ..OK Stopping mgmt: ...OK Stopping wan: ...OK Stopping group 0/virtual (1 interfaces) Stopping lo: .OK Computing interface groups: ..... 5 interfaces found Starting group 0/virtual (1 interfaces) Starting lo: .....OK Starting group 1/realphys (3 interfaces) Starting lan: ......OK Starting mgmt: .........OK Starting wan: ......OK Processing /etc/net/vlantab: empty. Starting group 2/hostedphys (1 interfaces) Starting br: ....OK # brctl show bridge name bridge id STP enabled interfaces br 8000.00179a7e3d25 no lan wan # service network switchto router Computing interface groups: .... 4 interfaces found Processing /etc/net/vlantab: empty. Stopping group 1/realphys (3 interfaces) Stopping lan: ..OK Stopping mgmt: ...OK Stopping wan: ...OK Stopping group 0/virtual (1 interfaces) Stopping lo: .OK Computing interface groups: .... 4 interfaces found Starting group 0/virtual (1 interfaces) Starting lo: .....OK Starting group 1/realphys (3 interfaces) Starting lan: .......OK Starting mgmt: .........OK Starting wan: ........OK Processing /etc/net/vlantab: empty. # brctl show bridge name bridge id STP enabled interfaces br 8000.00179a7e3d25 no lan Т.е. брижд не опускается? Похоже что так: # service network switchto bridge Computing interface groups: .... 4 interfaces found Processing /etc/net/vlantab: empty. Stopping group 1/realphys (3 interfaces) Stopping lan: ..OK Stopping mgmt: ...OK Stopping wan: ...OK Stopping group 0/virtual (1 interfaces) Stopping lo: .OK Computing interface groups: ..... 5 interfaces found Starting group 0/virtual (1 interfaces) Starting lo: .....OK Starting group 1/realphys (3 interfaces) Starting lan: ......OK Starting mgmt: .........OK Starting wan: ......OK Processing /etc/net/vlantab: empty. Starting group 2/hostedphys (1 interfaces) Starting br: 'br' is already up SKIPPED # brctl show bridge name bridge id STP enabled interfaces br 8000.00179a7e3d25 no lan Комментарий в sisyphus@: > Похоже, что при `service network switchto ...` сервис не помнит > свой текущий netprofile на фазе остановки сети и останавливает все > интерфейсы, соответствующие дефолтному netprofile, а не текущему. на всякий случай: # rpm -q bridge-utils bridge-utils-1.2-alt2 # rpm -q etcnet etcnet-0.8.5-alt2
Согласен по обоим пунктам и беру время на размышление.
Пока что в соответствующих скриптах я закомментировал строку: : ${HOST:?HOST must be set for $NAME} Как я понял, ни на что, кроме как на отсутствие ругани, это не влияет?
Первый пункт: Committed revision 1100.
Так что, закрываем? Может warning какой-то прикрутить или как-то чуть по-другому обрабатывать ситуацию, когда не указан HOST? Получается, мы решили проблему с пустым HOST, но создали ситуацию, когда пользователь может забыть указать его и потом будет долго искать проблему. Или не будет? :)
Так можно и адрес на интерфейсе забыть указать, а потом долго искать проблему ;) Мне кажется, что никаких предупреждений не надо.
Тоже верно :)
Что мешает закрыть этот баг?
(In reply to comment #7) > Что мешает закрыть этот баг? Пожалуй, ничего. В etcnet-0.9.2-alt2 это вроде не проявляется