Bug 53229

Summary: systemctl daemon-reload занимает долгое время из-за ошибки в netplan
Product: Branch p11 Reporter: Mikhail Ananev <mike1452>
Component: netplanAssignee: obirvalger <obirvalger>
Status: CLOSED FIXED QA Contact: qa-p11 <qa-p11>
Severity: major    
Priority: P5 CC: obirvalger, varaksaaa
Version: unspecified   
Hardware: x86_64   
OS: Linux   

Description Mikhail Ananev 2025-02-26 08:55:58 MSK
Исходные условия:
1. Облачный провайдер
2. P11 starter-kit x86_64
3. Ставим любой пакет, например `apt-get install caddy`

Ожидаемое поведение: установка проходит быстро
Наблюдаемое поведение: установка завершается до 100% и далее postinstall шаги долго чего-то делают. 

Команда `ps axf` показывает, что при установке долго висит команда `systemctl daemon-reload`. Поиск в интернете показал, что такое поведение у многих систем из-за ошибки netplan https://bugs.launchpad.net/netplan/+bug/1999178

Эта ошибка исправлена в последних версиях netplan
Comment 1 Artem Varaksa 2025-03-03 16:35:14 MSK
Шаги
====

1. # apt-get install -y netplan
2. # cat > /etc/netplan/01-netcfg.yaml << EOF
network:
  renderer: networkd
  version: 2
  ethernets:
    <iface>:
      dhcp4: yes
EOF
3. # chmod 600 /etc/netplan/01-netcfg.yaml
4. # time netplan generate

Фактический результат
=====================

Выполнение команды занимает ~45 секунд:

> 0.09user 0.03system 0:45.33elapsed 0%CPU (0avgtext+0avgdata 21452maxresident)k
> 0inputs+0outputs (0major+4675minor)pagefaults 0swaps

Ожидаемый результат
===================

Быстрое выполнение команды, например в p11 ~1 секунда:

> 0.14user 0.03system 0:01.15elapsed 15%CPU (0avgtext+0avgdata 25932maxresident)k
> 27128inputs+0outputs (52major+5244minor)pagefaults 0swaps

Воспроизводимость
=================

Воспроизводится на виртуальной машине:

ALT Server 11.0 beta20250213 x86_64
[sisyphus] netplan-1.1.2-alt1.x86_64
[p11+376196] netplan-1.1.2-alt1.x86_64

Не воспроизводится на виртуальной машине:

ALT Server 11.0 beta20250213 x86_64
[p11] netplan-0.106-alt2.x86_64
Comment 2 obirvalger@altlinux.org 2025-03-03 17:32:02 MSK
При использовании netplan-0.106-alt1 в p11 происходит зависание после установки пакета, как и описано в первом сообщении. Но при использовании netplan-1.1.2-alt1 на сизифе или в p11(из таска 376196) данную проблему не удалось обнаружить. Так что полагаю, что обновление версии действительно реашает её.
Comment 3 Artem Varaksa 2025-03-04 12:53:44 MSK
Изначально некорректно понял ошибку в upstream, упомянутый там generator - это часть postinstall-скриптов/триггеров, а `netplan generate` - отдельная команда, которая, как и `netplan apply`, теперь выполняет те действия, которые до этого выполнял postinstall скрипт, поэтому в новой версии она может выполняться дольше, но зато postinstall скрипт стал быстрее и не вызывает зависаний.

Задание 376196 исправляет ошибку, поэтому закрываю её.

Уточнённое описание ошибки для текущего p11:

Шаги
====

Предварительная проверка для сравнения:

0. # apt-get update && time apt-get install -y fish && apt-get remove -y fish

Настройка:

1. # apt-get install -y netplan systemd-networkd
2. # cat > /etc/netplan/01-netcfg.yaml << EOF
network:
  renderer: networkd
  version: 2
  ethernets:
    <iface>:
      dhcp4: no
      addresses:
        - <ip>/<mask>
      routes:
        - to: default
          via: <default gateway>
      nameservers:
        addresses: [<dns>]
EOF
3. # chmod 600 /etc/netplan/01-netcfg.yaml

Далее в tty или графике, не через ssh:

4. # systemctl disable --now network NetworkManager (если установлены; уже на этом этапе может быть заметна медленная работа)
5. # netplan apply

Далее можно опять через ssh:

6. # time apt-get install -y fish

Фактический результат
=====================

На 6 шаге время установки пакета на ~30 секунд дольше, чем на 0-м:

0:
> 8.69user 10.29system 0:26.48elapsed 71%CPU (0avgtext+0avgdata 161680maxresident)k
> 51232inputs+243912outputs (766major+1187705minor)pagefaults 0swaps

6:
> 6.77user 9.22system 1:02.33elapsed 25%CPU (0avgtext+0avgdata 160588maxresident)k
> 32inputs+51504outputs (0major+1155184minor)pagefaults 0swaps

Ожидаемый результат
===================

На 6 шаге время установки пакета примерно такое же или меньше, чем на 0-м:

0:
> 9.00user 9.84system 0:27.64elapsed 68%CPU (0avgtext+0avgdata 161596maxresident)k
> 50648inputs+241288outputs (766major+1174795minor)pagefaults 0swaps

6:
> 9.22user 10.05system 0:19.41elapsed 99%CPU (0avgtext+0avgdata 161872maxresident)k
> 8inputs+243880outputs (755major+1159519minor)pagefaults 0swaps


Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[p11] netplan-0.106-alt2.x86_64
ALT Server 11.0 beta20250213 x86_64
ALT Workstation 11.0 beta20250213 x86_64

Не воспроизводится на виртуальных машинах:

[p11] netplan-0.106-alt2.x86_64
ALT Workstation K 11.0 beta20250210 x86_64

[sisyphus или p11+376196] netplan-1.1.2-alt1.x86_64
ALT Server 11.0 beta20250213 x86_64
ALT Workstation 11.0 beta20250213 x86_64
ALT Workstation K 11.0 beta20250210 x86_64