Bug 44405 - Некорректное поведение Ethernet соединений в CloudInit
Summary: Некорректное поведение Ethernet соединений в CloudInit
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: cloud-init (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: obirvalger@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-11-23 15:54 MSK by Alexandr Shashkin
Modified: 2023-02-02 16:48 MSK (History)
4 users (show)

See Also:


Attachments
Пример без соединений (14.57 KB, image/png)
2022-11-23 15:55 MSK, Alexandr Shashkin
no flags Details
Пример с соединениями (22.88 KB, image/png)
2022-11-23 15:55 MSK, Alexandr Shashkin
no flags Details
screen (365.73 KB, image/png)
2023-02-02 16:48 MSK, obidinog@basealt.ru
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandr Shashkin 2022-11-23 15:54:53 MSK
Версия программы:
=================
cloud-init-config-network-manager-22.3.4-alt2
cloud-init-22.3.4-alt2

Шаги, приводящие к ошибке:
==========================
1) Развернуть proxmox
2) Создать виртуальную машину
3) Добавить к виртуальной машине CloudInit Dirve в Hardware
4) На виртуальной машине выполнить следующие действия:
  4.1) # apt-get install -y cloud-init
  4.2) # systemctl enable cloud-init cloud-config
  4.3) # rm -f /etc/machine-id /var/lib/dbus/machine-id && touch /etc/machine-id && ln -s /etc/machine-id /var/lib/dbus/machine-id && poweroff
5) В proxmox для виртуальной машины добавить: User - <Любое имя>, Password - <Любой пароль> и запустить систему.
6) Выполнить для получения 
  6.1) Ip адреса (взять ipv4 для доступного интерфейса): # ip -c a 
  6.2) # route -n | grep 'UG[ \t]' | awk '{print $2}'
7) # apt-get install -y cloud-init-config-network-manager
8) В настройках виртуальной машины выбрать Cloud-Init -> IP Config и указать следующее:
   IPv4/CIDR - ipv4 из шага 6.1
   Gateway(IPv4) - ipv4 из шага 6.2
После отключить машину (Stop) и включить ее (Start).
9) Зайти под созданным пользователем CloudInit

Результат:
==========
В системе существует либо 2 Ethernet соединения: eth0 и cloud-init eth0, либо не одного.
При 2 соединениях, если выбрано eth0, то у виртуальной машины отсутствует ipv4, указанный на шаге 8. А если выбрать cloud-init eth0, то IPv4 у нее появляется. 
При выполнении # nmcli connection show в случае двух соединений:
NAME             UUID                                  TYPE      DEVICE 
eth0             4f5f4004-d2af-41f8-ae2c-91514841f0c8  ethernet  eth0   
cloud-init eth0  1dd9a779-d327-56e1-8454-c65e2556c12c  ethernet  -- 
System ens19     53f9d315-f525-eb7f-86ad-be8e1b9cf86f  ethernet  --
При их отсутствии будет только System ens19 в выводе этой команды.

Ожидаемый результат:
====================
Существует только одно соединение, которому выдан IPv4, указанный на шаге 8.

Дополнительно:
==============
Ошибка также воспроизводится в P10 на версии cloud-init-22.2.2-alt2
Comment 1 Alexandr Shashkin 2022-11-23 15:55:19 MSK
Created attachment 11927 [details]
Пример без соединений
Comment 2 Alexandr Shashkin 2022-11-23 15:55:46 MSK
Created attachment 11928 [details]
Пример с соединениями
Comment 3 obirvalger@altlinux.org 2022-11-23 19:44:24 MSK
Cloud-init используется для настройки виртуальных машин созданных из специального образа. Поэтому предполагается, что все пакеты будут установлены до первого запуска. Попробуйте установить пакет cloud-init-config-network-manager вместе с cloud-init.
Comment 4 obidinog@basealt.ru 2023-02-02 16:47:57 MSK
(Ответ для obirvalger@altlinux.org на комментарий #3)
> Cloud-init используется для настройки виртуальных машин созданных из
> специального образа. Поэтому предполагается, что все пакеты будут
> установлены до первого запуска. Попробуйте установить пакет
> cloud-init-config-network-manager вместе с cloud-init.

При установленном пакете cloud-init-config-network-manager вместе с cloud-init баг воспроизводится. Отображается 2 ethernet соединения
Comment 5 obidinog@basealt.ru 2023-02-02 16:48:14 MSK
Created attachment 12398 [details]
screen