Bug 11252 - Параметр HOST в options бриджа не должен быть обязательным
: Параметр HOST в options бриджа не должен быть обязательным
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/etcnet)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-03-28 21:29 by
Modified: 2008-07-30 01:39 (History)


Attachments


Note

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


Description From 2007-03-28 21:29:06
Параметр 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
------- Comment #1 From 2007-03-30 01:58:11 -------
Согласен по обоим пунктам и беру время на размышление.
------- Comment #2 From 2007-03-30 08:27:00 -------
Пока что в соответствующих скриптах я закомментировал строку:

: ${HOST:?HOST must be set for $NAME}

Как я понял, ни на что, кроме как на отсутствие ругани, это не влияет?
------- Comment #3 From 2007-04-24 21:04:14 -------
Первый пункт: Committed revision 1100.
------- Comment #4 From 2007-05-06 14:18:32 -------
Так что, закрываем? Может warning какой-то прикрутить или как-то чуть
по-другому
обрабатывать ситуацию, когда не указан HOST? Получается, мы решили проблему с
пустым HOST, но создали ситуацию, когда пользователь может забыть указать его и
потом будет долго искать проблему. Или не будет? :)
------- Comment #5 From 2007-05-06 14:40:20 -------
Так можно и адрес на интерфейсе забыть указать, а потом долго искать проблему
;)

Мне кажется, что никаких предупреждений не надо.
------- Comment #6 From 2007-05-06 14:56:29 -------
Тоже верно :)
------- Comment #7 From 2007-08-23 22:32:34 -------
Что мешает закрыть этот баг?
------- Comment #8 From 2007-08-24 08:22:22 -------
(In reply to comment #7)
> Что мешает закрыть этот баг?

Пожалуй, ничего. В etcnet-0.9.2-alt2 это вроде не проявляется