Bug 44032

Summary: При создании VLAN через веб-интерфейс не прописывается HOST
Product: Branch p10 Reporter: Oleg Kolesnichenko <kolesnichenko>
Component: pve-commonAssignee: Valery Inozemtsev <shrek>
Status: REOPENED --- QA Contact: qa-p10 <qa-p10>
Severity: normal    
Priority: P5 CC: alimektor, andy, klark, shaba, sol
Version: не указана   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Screenshot Linux VLAN in PVE
none
Сервисы после apt-repo test 314084
none
Скриншот окна создания VLAN интерфейса
none
текстовый документ с информацией по PVE none

Description Oleg Kolesnichenko 2022-10-14 14:24:26 MSK
Если создать VLAN через веб-интерфейс, то при применении (Apply), для этого интерфейса в файле его конфигурации (например, /etc/net/ifaces/vmbr0.123/options) не прописывался директива HOST:

[root@clkvm-06-n-01 ~]# cat /etc/net/ifaces/vmbr0.123/options
BOOTPROTO=static
CONFIG_IPV4=yes
HOST=
ONBOOT=yes
TYPE=vlan
VID=123
Comment 1 Evgeny Shesteperov 2023-01-12 15:13:57 MSK
Добрый день!

Пожалуйста, дополнительно предоставьте следующую информацию:

1. Операционная система, версия, на которой воспроизвелась ошибка.
2. Выводы следующих команд:

        $ uname -a
        $ cat /etc/os-release
        $ apt-repo

3. Версия пакета pve-manager:

        # rpm -q pve-manager

4. Точные шаги воспроизведения, желательно с названием интерфейса.
Comment 2 Oleg Kolesnichenko 2023-01-12 17:06:06 MSK
Добрый день.
1. Использовался alt-server-v-10.1-rc3-x86_64.iso.

2. [root@altpve1 ~]# uname -a
Linux altpve1.test.alt 5.10.154-std-def-alt1 #1 SMP Wed Nov 16 17:33:34 UTC 2022 x86_64 GNU/Linux

[root@altpve1 ~]# cat /etc/os-release
NAME="ALT Server-V"
VERSION="10.1"
ID=altlinux
VERSION_ID=10.1
PRETTY_NAME="ALT Virtualization Server 10.1 (Actinoform)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:server-v:10.1"
BUILD_ID="ALT Server-V 10.1"
HOME_URL="https://basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"

[root@altpve1 ~]# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic

3. [root@altpve1 ~]# rpm -q pve-manager
pve-manager-7.0.11-alt5.x86_64

4. В веб-интерфейсе PVE для физического интерфейса enp1s0 создаю Linux VLAN enp1s0.222, применяю конфигурацию. Получаю конфигурацию etcnet без HOST:
[root@altpve1 ~]# cat /etc/net/ifaces/enp1s0.222/options 
BOOTPROTO=static
CONFIG_IPV4=yes
HOST=
ONBOOT=yes
TYPE=vlan
VID=222
Comment 3 Oleg Kolesnichenko 2023-01-12 17:08:55 MSK
Created attachment 12276 [details]
Screenshot Linux VLAN in PVE
Comment 4 Oleg Kolesnichenko 2023-01-12 17:13:26 MSK
При этом в веб-интерфейсе, когда открываешь на редактирование VLAN, то Vlan raw device указан. А в файле options директива HOST пустая. Сеть не работает, пока вручную не прописать нужный HOST.
Comment 5 Andrew Vasilyev 2023-01-12 17:54:08 MSK
  Попробуйте обновиться (apt-get update; apt-get dist-upgrade) и
  проверить с PVE 7.2
Comment 6 Evgeny Shesteperov 2023-01-24 12:49:55 MSK
Выполнил проверку в среде виртуализации Proxmox Virtual Environment (то есть настроил PVE на PVE).

Установил сервер alt-server-10.0-x86-64 в профилях:

- Generic Server
- Виртуальное окружение Proxmox

Версия: pve-manager-7.2.11-alt3

Шаги:

1. Обновить систему до текущего P10.
2. Перезагрузить систему.
3. Добавить к стенду ещё один интерфейс.
4. Перейти по пути <имя ноды> → System → Network.
5. Нажать Create → Linux VLAN.
6. В поле Vlan raw device указать добавленный интерфейс.
7. Нажать Create.
8. Проверить настройки интерфейса:
   
        # cat /etc/net/ifaces/vlan0/options

Ожидаемый результат: прописана опция HOST

Фактический результат: не прописана опция HOST

    BOOTPROTO=static
    CONFIG_IPV4=yes
    HOST=
    ONBOOT=yes
    TYPE=vlan
    VID=0

Аналогичный результат при настройке с alt-server-v-10.1-x86-64 с обновлением до P10.
Comment 7 Andrew Vasilyev 2023-01-24 19:15:29 MSK
  Исправленный пакет pve-common собирается в https://git.altlinux.org/tasks/314084/

  Пожалуйста, проверьте через "apt-repo test 314084"
Comment 8 Evgeny Shesteperov 2023-01-25 10:35:00 MSK
Created attachment 12365 [details]
Сервисы после apt-repo test 314084

(Ответ для Andrew Vasilyev на комментарий #7)
>   Исправленный пакет pve-common собирается в
> https://git.altlinux.org/tasks/314084/
> 
>   Пожалуйста, проверьте через "apt-repo test 314084"

Обновил стенд alt-server-10.0 до Вашего кармана:

pve-common-7.2.3-alt1 → pve-common-7.2.8-alt2

Выполнил перезагрузку стенда. В итоге после перезагрузки получаю следующую картину:

    # systemctl --failed
    . . . . .
    ● pve-guests.service loaded failed failed PVE guests
    ● pve-ha-crm.service loaded failed failed PVE Cluster HA Resource Manager Daemon
    ● pve-ha-lrm.service loaded failed failed PVE Local HA Resource Manager Daemon
    ● pvedaemon.service  loaded failed failed PVE API Daemon
    ● pvestatd.service   loaded failed failed PVE Status Daemon
    . . . . .

Логи сервисов с последней загрузки в прикреплённом архиве.
Comment 9 Evgeny Shesteperov 2023-01-25 10:35:53 MSK
(Ответ для Evgeny Shesteperov на комментарий #8)
> Обновил стенд alt-server-10.0 до Вашего кармана:

Извиняюсь, alt-server-v-10.0, конечно же.
Comment 10 Andrew Vasilyev 2023-01-25 11:10:24 MSK
  Подготовил версию pve-common-7.2.3-alt2 только с одним исправлением,
  просьба поставить этот пакет из задания #314084
Comment 11 Andrew Vasilyev 2023-01-30 15:41:54 MSK
ping
Comment 12 Соломонов 2023-01-30 16:05:25 MSK
Установил pve-common-7.2.3-alt2 вместе с другими обновлениями из официального p10
Кратко:
В случае физического интерфейса (bond) строка HOST правильно заполняется
HOST=bond0.
В случае моста vmbr0 строка HOST пустая (или так надов этом случае?)
Comment 13 Andrew Vasilyev 2023-01-30 16:33:32 MSK
(Ответ для Соломонов на комментарий #12)
> Установил pve-common-7.2.3-alt2 вместе с другими обновлениями из
> официального p10
> Кратко:
> В случае физического интерфейса (bond) строка HOST правильно заполняется
> HOST=bond0.
> В случае моста vmbr0 строка HOST пустая (или так надов этом случае?)

  А мост куда? :-) Когда создаётся мост на bond0, например,
  в vmbr1/options HOST=bond0. Если на физический интерфейс,
  то HOST=ens3, например.
Comment 14 Соломонов 2023-01-30 16:50:00 MSK
Установил pve-common-7.2.3-alt2 вместе с другими обновлениями из официального p10
Кратко:
В случае физического интерфейса (bond) строка HOST правильно заполняется
HOST=bond0.
В случае моста vmbr0 строка HOST пустая (или так надов этом случае?)
Comment 15 Соломонов 2023-01-30 16:50:28 MSK
Если конфигурация

eno1,eno2 ->bond0->vlanXX

Где XX  номер VLAN, от отрабатывается правильно

Если конфигурация

eno1,eno2 ->bond0->vmbr0->vmbr0.XX

Где  vmbr0 vlan-aware и vmbr0.XX типа linux vlan, то мост vmbr0 не пишется

HOST=

Но я не уверен в легитимности последней конфигурации

В результате вернулся к классике с бриджами на каждую vlan, много не ожидается
Comment 16 Evgeny Shesteperov 2023-01-30 17:20:50 MSK
(Ответ для Andrew Vasilyev на комментарий #10)
>   Подготовил версию pve-common-7.2.3-alt2 только с одним исправлением,
>   просьба поставить этот пакет из задания #314084

Обновил стенд до версии из кармана 314084, перезагрузил стенд.

По шагам из комментарий #6 результат соответствует ожидаемому, то есть HOST прописан (если создавать с новой версией):

# cat /etc/net/ifaces/vlan0/options
BOOTPROTO=static
CONFIG_IPV4=yes
HOST=ens20
ONBOOT=yes
TYPE=vlan
VID=0
Comment 17 Andrew Vasilyev 2023-01-30 18:08:43 MSK
  Отправляем в p10?
Comment 18 Alexey Shabalin 2023-01-30 19:52:44 MSK
> Если конфигурация
> 
> eno1,eno2 ->bond0->vmbr0->vmbr0.XX
> 
> Где  vmbr0 vlan-aware и vmbr0.XX типа linux vlan, то мост vmbr0 не пишется
> 
> HOST=
> 
> Но я не уверен в легитимности последней конфигурации
> 
> В результате вернулся к классике с бриджами на каждую vlan, много не
> ожидается

Когда vlan-aware, то не надо делать на каждый vlan отдельный bridge, все разруливает единственный bridge.
Comment 19 Andrew Vasilyev 2023-02-10 20:54:31 MSK
#100 pve-common 7.2.3-alt1 -> 7.2.3-alt2
 Wed Jan 25 2023 Andrew A. Vasilyev <andy@altlinux> 7.2.3-alt2
 - fix HOST for vlan device (ALT #44032)
Comment 20 Leonid Krivoshein 2024-01-26 21:44:51 MSK
Created attachment 15424 [details]
Скриншот окна создания VLAN интерфейса
Comment 21 Leonid Krivoshein 2024-01-26 21:46:06 MSK
Created attachment 15425 [details]
текстовый документ с информацией по PVE
Comment 22 Leonid Krivoshein 2024-01-26 21:49:06 MSK
Ошибка на p10 вылезла снова, что станно, т.к. применённый ранее коммит на месте, но почему-то это перестало работать. Во вложениях детали и ещё краткое описание:

Ошибка в работе WEB-интерфейса PVE при попытке создать виртуальный сетевой интерфейс "linux VLAN". Если задать имя виртуального интерфейса с указанием на тег (для примера зададим имя интерфейса "bond0.2000"), то в конфигурационном файле "/etc/net/ifaces/bond0.2000/options" нового виртуального интерфейса в параметре "HOST=" не присвоится имя интерфейса "bond0".
Comment 23 Andrew Vasilyev 2024-01-30 17:25:34 MSK
(Ответ для Leonid Krivoshein на комментарий #22)
> Ошибка на p10 вылезла снова, что станно, т.к. применённый ранее коммит на
> месте, но почему-то это перестало работать. Во вложениях детали и ещё
> Ошибка в работе WEB-интерфейса PVE при попытке создать виртуальный сетевой
> интерфейс "linux VLAN". Если задать имя виртуального интерфейса с указанием
> на тег (для примера зададим имя интерфейса "bond0.2000"), то в

  Имя для vlan интерфейса должно быть в виде vlan1000, а имя raw интерфейса -
  bond0, тогда всё будет создано с правильным HOST=bond0. А если имя интерфейса
  с точкой, то HOST остаётся пустым.