Bug 48920

Summary: Не записывается IP-адрес в /etc/systemd/network/alterator-enp0s3.network
Product: Sisyphus Reporter: Elena Mishina <lepata>
Component: alterator-net-ethAssignee: Mikhail Efremov <sem>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: boyarsh, jqt4, rider, sem, vitty, zerg
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
Настроенный IP-адрес не отображается в alterator none

Description Elena Mishina 2023-12-25 13:20:25 MSK
Created attachment 15272 [details]
Настроенный IP-адрес не отображается в alterator

Если при установке системы или в уже работающей системе выбрать сетевую подсистему systemd-networkd, то при указании статического интерфейса, в файл /etc/systemd/network/alterator-enp0s3.network не записывается IP-адрес:

# cat /etc/systemd/network/alterator-enp0s3.network 
[Match]
	Name = enp0s3
[Network]
	IPv6AcceptRA = false
	Gateway = 192.168.0.1
	DNS = 8.8.8.8
[DHCPv4]

В журнале получаем предупреждение:
systemd-networkd[15252]: /etc/systemd/network/alterator-enp0s3.network: Gateway= without static address configured. Enabling GatewayOnLink= option.

Итого сетевой интерфейс не сконфигурирован.

Соответственно, если в файл вручную добавлена строка: Address=192.168.0.196/24
то в alterator-net-eth IP-адрес не отображается (см.вложение)

Ожидаемый результат:
В alterator-net-eth можно настроить статический IP-адрес для systemd-networkd.
Comment 1 Mikhail Efremov 2023-12-25 16:19:16 MSK
Настройку systemd-networkd делал sin@, перевешиваю на него.
Comment 2 Elena Mishina 2023-12-25 16:36:20 MSK
Дополнение: ошибка проявляется если при смене конфигурации с DHCP на Вручную принять предложенный системой IP-адрес.
Если же предложенный адрес удалить и задать заново, то IP-адрес в файл /etc/systemd/network/alterator-enp0s3.network записывается
Comment 3 jqt4@altlinux.org 2023-12-25 19:05:03 MSK
(Ответ для Elena Mishina на комментарий #2)
> Дополнение: ошибка проявляется если при смене конфигурации с DHCP на Вручную
> принять предложенный системой IP-адрес.
> Если же предложенный адрес удалить и задать заново, то IP-адрес в файл
> /etc/systemd/network/alterator-enp0s3.network записывается

Предполагаю, то, что выглядит как "предложенный системой IP-адрес", это ошибочное отображение адреса, полученного по DHCP.
Хотя этот адрес виден пользователю он никак не используется в дальнейшей настройке.
Но пользователю кажется, что IP-адрес уже задан, поэтому пользователь преждевременно завершает настройку, не задав вручную никакого адреса.
Это и вызывает проблему.
Comment 4 jqt4@altlinux.org 2023-12-25 20:38:58 MSK
В логе /root/.install-log/wizard.log процесс выглядит так:

("/net-eth/list_current_iface_address" language ("ru_RU") action "list" name "enp1s0" ipv "4")
;answer: ("/net-eth/list_current_iface_address" name "192.168.122.196/24" label "192.168.122.196/24")
Это полученный по DHCP адрес, используемый в установщике. Он показан в окне "IP адреса".

("/net-eth" language ("ru_RU") action "del_iface_address" addresses "" name "enp1s0" ipv "4" language ("ru_RU"))
;answer: empty
Пользователь нажал кнопку "Удалить".

("/net-eth/avail_iface_address" language ("ru_RU") action "list" name "enp1s0" ipv "4")
;answer: empty
Показано пустое окно "IP адреса".

("/net-eth" language ("ru_RU") action "add_iface_address" add-mask "24" add-ip "192.168.122.195" name "enp1s0" ipv "4" language ("ru_RU"))
;answer: empty
Пользователь добавил адрес вручную.

("/net-eth/avail_iface_address" language ("ru_RU") action "list" name "enp1s0" ipv "4")
;answer: ("/net-eth/avail_iface_address" name "192.168.122.195/24" label "192.168.122.195/24")
Добавленный адрес показан в окне "IP адреса".

Результаты выполнения list_current_iface_address и avail_iface_address выводится в то же самое окно "IP адреса" и выглядят одинаково.
Не удивительно, что одно принимают за другое. Однако, это разные сущности.
Comment 5 jqt4@altlinux.org 2023-12-26 19:16:38 MSK
Предлагаю не запрашивать и не показывать пользователю IP, назначенный установщику, чтобы не вводить в заблуждение.
Исправления такие:
https://git.altlinux.org/people/jqt4/packages/?p=alterator-net-eth.git;a=commitdiff;h=08f7ea2566a1aa0ee1e6d59a18f5ffd0c2689251

Нет ли возражений по ним?
Comment 6 Mikhail Efremov 2023-12-27 18:16:32 MSK
Насколько я помню, идея была как раз в том, чтобы показывать настройки, полученные по DHCP. Иначе непонятно в каком состоянии в данный момент находится интерфейс, сконфигурирован ли он вообще. Если это убирать, то лучше вообще откатить коммит 10ca589c140f418aecb49c25910c66217cb7c616, который это добавляет.
Но лучше при переключении конфигурации эти поля просто очищать, мне кажется.
Comment 7 Mikhail Efremov 2024-01-12 21:54:15 MSK
На sin@, как автора поодержки systemd-networkd.
Comment 8 Mikhail Efremov 2024-01-12 21:55:03 MSK
Ошибся багом :(.
Comment 9 Repository Robot 2024-01-12 22:05:26 MSK
alterator-net-eth-5.2.6-alt1 -> sisyphus:

 Fri Jan 12 2024 Mikhail Efremov <sem@altlinux> 5.2.6-alt1
 - ui: Fix reading IP addresses on init.
 - ui: Cleanup IP configuration in 'static' mode (closes: #48920).