Bug 51436

Summary: cloud-init.service is not ordered after NetworkManager-wait-online.service
Product: Branch p11 Reporter: Arseny Maslennikov <arseny>
Component: cloud-init-config-network-managerAssignee: obirvalger <obirvalger>
Status: NEW --- QA Contact: qa-p11 <qa-p11>
Severity: major    
Priority: P5 CC: amakeenk, shaba
Version: unspecified   
Hardware: all   
OS: Linux   

Description Arseny Maslennikov 2024-09-09 14:48:39 MSK
В версии 24.1.1 в p11 у юнита нет порядковой зависимости на NetworkManager-wait-online, что вместе с cloud-init-config-network-manager на этапе развёртывания ведёт к гонкам и высокой вероятности облома.

В версии 24.1.1 из пакета в p11:
  [root@ ]# systemctl cat cloud-init.service
  [Unit]
  Description=Initial cloud-init job (metadata service crawler)
  ConditionVirtualization=yes
  DefaultDependencies=no
  Wants=cloud-init-local.service
  Wants=sshd.service
  After=cloud-init-local.service
  After=systemd-networkd-wait-online.service
  Before=network-online.target
  Before=sshd.service
  ConditionPathExists=!/etc/cloud/cloud-init.disabled
  ConditionKernelCommandLine=!cloud-init=disabled
  ConditionEnvironment=!KERNEL_CMDLINE=cloud-init=disabled
  
  [Service]
  Type=oneshot
  ExecStart=/usr/bin/cloud-init init
  RemainAfterExit=yes
  TimeoutSec=0
  
  # Output needs to appear in instance console output
  StandardOutput=journal+console
  
  [Install]
  WantedBy=cloud-init.target

В версии 24.2 из сизифа:
  [root@ ]# systemctl cat cloud-init.service
  # /usr/lib/systemd/system/cloud-init.service
  [Unit]
  # https://cloudinit.readthedocs.io/en/latest/explanation/boot.html
  Description=Cloud-init: Network Stage
  ConditionVirtualization=yes
  DefaultDependencies=no
  Wants=cloud-init-local.service
  Wants=sshd.service
  After=cloud-init-local.service
  After=systemd-networkd-wait-online.service
  
  After=network.service
  After=NetworkManager.service
  After=NetworkManager-wait-online.service
  Before=network-online.target
  Before=sshd.service
  Before=systemd-user-sessions.service
  ConditionPathExists=!/etc/cloud/cloud-init.disabled
  ConditionKernelCommandLine=!cloud-init=disabled
  ConditionEnvironment=!KERNEL_CMDLINE=cloud-init=disabled
  
  [Service]
  Type=oneshot
  ExecStart=/usr/bin/cloud-init init
  RemainAfterExit=yes
  TimeoutSec=0
  
  # Output needs to appear in instance console output
  StandardOutput=journal+console
  
  [Install]
  WantedBy=cloud-init.target
Comment 1 Arseny Maslennikov 2024-09-09 14:49:32 MSK
...Таким образом, в сизифе проблемы нет.
Прошу исправить в p11 наиболее удобным мейнтейнеру пакета способом. :)
Comment 2 Arseny Maslennikov 2024-09-09 15:03:20 MSK
...Эта бага усугублена тем, что совершить chroot в записанный cloud image и обновить там пакеты до инициализации невозможно (она начинается в posttrans или ранее), а это неприемлемо в nocloud-сценарии, где user-data нужно скачать из сети.