cloud-init does not appear to be running

После обычного apt upgrade пропал доступ по SSH к серверу Debian 10.

В Serial console в Azure бесконечно идут сообщения

INFO Daemon Waiting for cloud-init to copy ovf-env.xml to /var/lib/waagent/ovf-env.xml
WARNING Daemon cloud-init does not appear to be running

Видимо на смену waagent идёт cloud-init, который всё только портит.

Решение: с другого сервера скопировать файл ovf-env.xml и скопировать в /var/lib/waagent/ на проблемном сервере.

Github завален подобными "issues'ами" (1, 2, 3), но решения универсального нет.

Забавный момент - сначала я думал просто сделать откат VM в Azure, но это нельзя сделать с неработающим Waagent.

После такого "апдейта" у меня сломался swap. Об этом ниже.

Пример файла ovf-env.xml

++++ Покажите мне это |

<ns0:Environment xmlns:ns0="http://schemas.dmtf.org/ovf/environment/1" xmlns:ns1="http://schemas.microsoft.com/windowsazure" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns1:ProvisioningSection>
<ns1:Version>1.0</ns1:Version>
<ns1:LinuxProvisioningConfigurationSet>
<ns1:ConfigurationSetType>LinuxProvisioningConfiguration</ns1:ConfigurationSetType>
<ns1:UserName>john</ns1:UserName>
<ns1:DisableSshPasswordAuthentication>false</ns1:DisableSshPasswordAuthentication>
<ns1:HostName>vm1337</ns1:HostName><ns1:UserPassword>REDACTED</ns1:UserPassword></ns1:LinuxProvisioningConfigurationSet>
</ns1:ProvisioningSection>
<ns1:PlatformSettingsSection>
<ns1:Version>1.0</ns1:Version>
<ns1:PlatformSettings>
<ns1:KmsServerHostname>kms.core.windows.net</ns1:KmsServerHostname>
<ns1:ProvisionGuestAgent>true</ns1:ProvisionGuestAgent>
<ns1:GuestAgentPackageName xsi:nil="true" />
<ns1:RetainWindowsPEPassInUnattend>true</ns1:RetainWindowsPEPassInUnattend>
<ns1:RetainOfflineServicingPassInUnattend>true</ns1:RetainOfflineServicingPassInUnattend>
<ns1:PreprovisionedVm>false</ns1:PreprovisionedVm>
<ns1:EnableTrustedImageIdentifier>false</ns1:EnableTrustedImageIdentifier>
<ns1:PreprovisionedVMType xsi:nil="true" />
</ns1:PlatformSettings>
</ns1:PlatformSettingsSection>
</ns0:Environment>

++++

SWAP в Azure [NEW]

Платная техническая поддержка Microsoft полное дно. Индусы в Microsoft полное дно. Всё чему они научились так это мне по методичке сожалеть о мои злоключениях с их облаком.

Речь идёт только о Debian 10. В Debian 9, Ubuntu18/20, CentOS/RHEL/Oracle до сих пор исправно со swap работает waagent (ResourceDisk.EnableSwap).

Я конечно могу сделать всё вручную и прибить гвоздями вот так

sudo /bin/dd if=/dev/zero of=/mnt/swap.2g bs=1M count=2048
sudo /sbin/mkswap /mnt/swap.2g
sudo chmod 600 /mnt/swap.2g
sudo /sbin/swapon /mnt/swap.2g
echo "/mnt/swap.2g swap swap defaults 0 0" >> /etc/fstab

Но если раньше это работало автоматически, то надо стараться всё делать в cloud стиле.

После бессмысленных сожалений о моём горе со стороны Microsoft мне через несколько дней прислали ссылку, которую я ранее нашёл самостоятельно за 15 минут.

КОРОЧЕ. Создать файл create_swapfile.sh в каталоге /var/lib/cloud/scripts/per-boot

#!/bin/sh
if [ ! -f '/mnt/swapfile' ]; then
fallocate --length 2GiB /mnt/swapfile    --> Here, set the swapsize as necessary.
chmod 600 /mnt/swapfile
mkswap /mnt/swapfile
swapon /mnt/swapfile
swapon -a 
else
swapon /mnt/swapfile; fi

Для самоуспокоения потом надо посмотреть /var/log/waagent.log или /var/log/cloud-init.log