Correct me if I'm wrong, userdata is parsed through
/var/lib/cloud/instance/datasource?

ls /var/lib/cloud/instance/
datasource           handlers/            network-config.json  obj.pkl
         scripts/             sem/

cat /var/lib/cloud/instance/datasource
DataSourceNoCloud: DataSourceNoCloud [seed=/dev/sr0]

cat /dev/sr0
CD001LINUX                           cidata

/"




       GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C)
1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM


2025082515473400202508251547340000000000000000002025082515473400







 CD0/"SPRRPX$AATF/"/"/"C/"RRPX$AATF/"/"/"66/"



 
META_DATA.;1RRNMmeta-dataPX$TF/"/"/"ii/"NETWORK_CONFIG.;1RRNMnetwork-configPX$TF/"/"//"

USER_DATA.;1RRNMuser-dataPX$TF/"/"/"/"VENDOR_DATA.;1RRNMvendor-dataPX$TF/"/"/"ER
TRRIP_1991ATHE ROCK RIDGE INTERCHANGE PROTOCOL PROVIDES SUPPORT FOR POSIX
FILE SYSTEM SEMANTICSPLEASE CONTACT DISC PUBLISHER FOR SPECIFICATION
SOURCE.  SEE PUBLISHER IDENTIFIER IN PRIMARY VOLUME DESCRIPTOR FOR CONTACT
INFORMATION.instance-id: 22bd2bcc9dbc5666ac3464a9710ea837b57afef9
version: 1
config:
    - type: nameserver
      address:
      - '8.8.8.8'
      search:
      - 'local'
#cloud-config
hostname: testcloudinitbug
manage_etc_hosts: true
fqdn: testcloudinitbug
chpasswd:
  expire: False
users:
  - default
package_upgrade: true

---

As requested, output of systemctl list-dependencies --reverse
cloud-init-network.service dkms.service sysinit.target:

cloud-init-network.service
● ├─cloud-config.target
● │ └─cloud-config.service
○ └─cloud-init.target
●   └─multi-user.target
●     └─graphical.target

dkms.service
● └─multi-user.target
●   └─graphical.target

sysinit.target
○ ├─apt-daily-upgrade.service
● ├─apt-daily-upgrade.timer
○ ├─apt-daily.service
● ├─apt-daily.timer
○ ├─apt-listchanges.service
● ├─apt-listchanges.timer
● ├─cloud-config.service
○ ├─cloud-final.service
○ ├─cloud-init-hotplugd.service
● ├─cron.service
● ├─dbus.service
● ├─dbus.socket
● ├─dkms.service
○ ├─dpkg-db-backup.service
● ├─dpkg-db-backup.timer
○ ├─e2scrub_all.service
● ├─e2scrub_all.timer
○ ├─e2scrub_reap.service
○ ├─fstrim.service
● ├─fstrim.timer
○ ├─getty-static.service
● ├─[email protected]
○ ├─grub-common.service
○ ├─logrotate.service
● ├─logrotate.timer
○ ├─man-db.service
● ├─man-db.timer
● ├─qemu-guest-agent.service
○ ├─rc-local.service
● ├─ssh.service
○ ├─sshd-keygen.service
● ├─sshd-unix-local.socket
● ├─sshd-vsock.socket
○ ├─[email protected]
○ ├─systemd-ask-password-wall.service
○ ├─systemd-hostnamed.service
● ├─systemd-hostnamed.socket
● ├─systemd-logind.service
○ ├─systemd-pcrphase.service
● ├─systemd-tmpfiles-clean.timer
● ├─systemd-user-sessions.service
● ├─[email protected]
● ├─[email protected]
● ├─basic.target
○ │ ├─initrd.target
● │ └─multi-user.target
● │   └─graphical.target
○ └─rescue.target

---

additionally if it helps, the preseed:

choose-mirror-bin mirror/http/proxy string

d-i apt-setup/use_mirror boolean true
d-i base-installer/kernel/override-image string linux-server
d-i clock-setup/utc boolean true
d-i clock-setup/utc-auto boolean true
d-i finish-install/reboot_in_progress note
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i keymap select us
d-i mirror/country string manual
d-i mirror/http/directory string /debian
d-i mirror/http/hostname string httpredir.debian.org
d-i mirror/http/proxy string
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select atomic
d-i partman-auto/method string lvm
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/confirm_write_new_label boolean true
d-i passwd/root-login boolean false
d-i passwd/root-password-again password testpassword
d-i passwd/root-password password testpassword
d-i passwd/user-fullname string packer
d-i passwd/user-uid string 1000
d-i passwd/user-password password testpassword
d-i passwd/user-password-again password testpassword
d-i passwd/username string packer
d-i pkgsel/include string sudo bzip2 wget curl dkms net-tools rsync
qemu-guest-agent cloud-init
d-i pkgsel/install-language-support boolean false
d-i pkgsel/update-policy select none
d-i pkgsel/upgrade select full-upgrade
d-i time/zone string UTC
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false
d-i netcfg/hostname string debian

d-i preseed/late_command string \
sed -i '/^deb cdrom:/s/^/#/' /target/etc/apt/sources.list; \
mkdir -p /target/root/.ssh; \
echo 'ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABgQClqqLdYN8LJ5kI7c/j+Uu3jt5vCOjUmbbY4hxK9P6VULCgQpJEtutr6LHwoOJ4awZDm2I/qnjr3umSplrqAOUslj5lGyJDcLw+obr4bKJGy7dRIZF1xNKDBLFypQW9dQ0alNZVVFdWS4qmbpujlrhzseNJ2Gb20Bxxw4scDCYlCqqs9AbgeAVa1Vlw8xKvXxTBC5gL6qinBbNn3E63IuYyqihyB1VzBg9vQPE9hYQtlqg8rBpqdaHyAEyDf5FVDvctS3VlqyuXBT3VizjU08s5e6w8cJbMUIMMVqh1I1qbn1T255s2VdrUE5G7q0fY/yXxyyz+6S1XskPOofBxO5sbGxXkTCpHa0/32gSGRGquDPLWp/e0VHrhx32bGVsLLD5sFZCdIvfu8mMGnoDFnmq28ayUKMyXdB0PcV/qfvBZsCyBnTYX4paq3mQae7nZ55MwGwFtrE0eBjixDkIocO5BLUQgdPt3afKrHXn0hCg/ReWfl+7bhvtyOKJj6v8N938=
packer' > /target/root/.ssh/authorized_keys;

apt-cdrom-setup apt-setup/cdrom/set-first boolean false
apt-mirror-setup apt-setup/use_mirror boolean true
popularity-contest popularity-contest/participate boolean false
tasksel tasksel/first multiselect standard, ssh-server

I also have a post script installing a few additional packages after the
system first boots (connecting via ssh):

#!/bin/bash
export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y psmisc \
        ca-certificates \
        git \
        lsb-release \
        net-tools \
        python3 \
        parted

echo "" > /root/.ssh/authorized_keys
deluser --remove-home packer

The system then shuts down and saves to an image in proxmox. I then
experience the issue when booting up any cloned VM for the first time.

On Mon, Aug 25, 2025 at 3:05 PM Noah Meyerhans <[email protected]> wrote:

> Control: tags -1 + moreinfo
>
> On Mon, Aug 25, 2025 at 07:38:51AM +0000, Jeff Wong wrote:
> > I was attempting to update from Debian 11.6 to Debian 13.0 and noticed
> cloud-init config to be non-functional.
> > * hostname was not changed
> > * resolv.conf blank
> > * sshd keys not generating
> >
> > I am installing both Debian 11.6 and 13.0 through Packer, and deployed
> through Terraform to a Proxmox server.
> > Both cloud-init and dkms were being installed via a preseed file.
> >
> > Additionally, systemd reported a circular dependency on boot:
> >
> > Job cloud-init-network.service/start deleted to break ordering cycle
> starting with sysinit.target/start
> > journalctl -b | egrep "Found":
> > Aug 25 01:29:21 test systemd[1]: networking.service: Found ordering
> cycle on network-pre.target/start
> > Aug 25 01:29:21 test systemd[1]: networking.service: Found dependency on
> dkms.service/start
> > Aug 25 01:29:21 test systemd[1]: networking.service: Found dependency on
> basic.target/start
> > Aug 25 01:29:21 test systemd[1]: networking.service: Found dependency on
> sysinit.target/start
> > Aug 25 01:29:21 test systemd[1]: networking.service: Found dependency on
> cloud-init-network.service/start
> > Aug 25 01:29:21 test systemd[1]: networking.service: Found dependency on
> networking.service/start
> >
> > What worked was directly editing and deleting the line in
> > /usr/lib/systemd/system/cloud-init-network.service:
> >
> > BEFORE=sysinit.target
> >
> > cloud-init-network.service was able to go and all three symptoms were
> resolved.
> >
> > On closer inspection with circular dependencies, I noticed dkms being
> installed in my preseed file.
> > dkms was also present in all instances of circular dependency logs.
> >
> > Removing dkms from the preseed packages resolves the issue.
> > I do not need the package installed, but I am reporting regardless.
>
> Interesting.  I don't seem to have this problem.  See below for output.
> Can you send the output of the following:
> $ systemctl list-dependencies --reverse cloud-init-network.service
> dkms.service sysinit.target
>
> Are you passing any additional cloud-init configuration via user_data or
> other mechanism?
>
>
> root@bug1112013:~# systemctl --no-pager -l  status
> cloud-init-network.service dkms.service
> ● cloud-init-network.service - Cloud-init: Network Stage
>      Loaded: loaded (/usr/lib/systemd/system/cloud-init-network.service;
> enabled; preset: enabled)
>      Active: active (exited) since Mon 2025-08-25 21:39:44 UTC; 3min 44s
> ago
>  Invocation: a32ca725d0f54752b23355a1917f2453
>     Process: 602 ExecStart=sh -c echo "start" | nc -Uu -W1
> /run/cloud-init/share/network.sock -s
> /run/cloud-init/share/network-return.sock | sh (code=exited,
> status=0/SUCCESS)
>    Main PID: 602 (code=exited, status=0/SUCCESS)
>    Mem peak: 1.7M
>         CPU: 10ms
>
> Aug 25 21:39:43 bug1112013 systemd[1]: Starting cloud-init-network.service
> - Cloud-init: Network Stage...
> Aug 25 21:39:44 bug1112013 sh[605]: Completed socket interaction for boot
> stage network
> Aug 25 21:39:44 bug1112013 systemd[1]: Finished cloud-init-network.service
> - Cloud-init: Network Stage.
>
> ● dkms.service - Builds and install new kernel modules through DKMS
>      Loaded: loaded (/usr/lib/systemd/system/dkms.service; enabled;
> preset: enabled)
>      Active: active (exited) since Mon 2025-08-25 21:39:44 UTC; 3min 44s
> ago
>  Invocation: 524240da666c430cab316862eb09b031
>        Docs: man:dkms(8)
>     Process: 647 ExecStart=/usr/sbin/dkms autoinstall --verbose
> --kernelver 6.12.41+deb13-amd64 (code=exited, status=0/SUCCESS)
>    Main PID: 647 (code=exited, status=0/SUCCESS)
>    Mem peak: 5M
>         CPU: 90ms
>
> Aug 25 21:39:44 bug1112013 systemd[1]: Starting dkms.service - Builds and
> install new kernel modules through DKMS...
> Aug 25 21:39:44 bug1112013 systemd[1]: Finished dkms.service - Builds and
> install new kernel modules through DKMS.
> root@bug1112013:~# systemctl is-system-running
> running
>
>

Reply via email to