Your message dated Wed, 13 Mar 2024 02:49:13 +0000
with message-id <[email protected]>
and subject line Bug#1025618: fixed in cloud-init 24.1.1-1
has caused the Debian Bug report #1025618,
regarding cloud-init and firewalld systemd unit files have ordering cycles
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1025618: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025618
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: cloud-init
Version: 20.4.1-2+deb11u1
Severity: important
X-Debbugs-Cc: [email protected]
Dear Maintainer,
firewalld and cloud-init have ordering cycles between their systemd unit
files, leading to more or less broken boot results when both are installed
and active, because at each boot systemd decides to skip a
non-deterministically choosen service (not necessarily cloud-init or
firewalld) to break the cycle.
I'm not sure if any of firewalld or cloud-init is more at fault (maybe
in not respecting some systemd rules?) so I'm also opening a duplicate
of this bug for the other package.
This can have various but potentially serious consequences, depending on
what should be, but is not, started.
Examples of boot traces of this issue happening:
* example 1:
sysinit.target: Found ordering cycle on cloud-init.service/start
sysinit.target: Found dependency on networking.service/start
sysinit.target: Found dependency on network-pre.target/start
sysinit.target: Found dependency on firewalld.service/start
sysinit.target: Found dependency on basic.target/start
sysinit.target: Found dependency on sockets.target/start
sysinit.target: Found dependency on uuidd.socket/start
sysinit.target: Found dependency on sysinit.target/start
sysinit.target: Job cloud-init.service/start deleted to break ordering cycle
starting with sysinit.target/start
* example 2:
sysinit.target: Found ordering cycle on cloud-init.service/start
sysinit.target: Found dependency on networking.service/start
sysinit.target: Found dependency on network-pre.target/start
sysinit.target: Found dependency on firewalld.service/start
sysinit.target: Found dependency on dbus.service/start
sysinit.target: Found dependency on sysinit.target/start
sysinit.target: Job cloud-init.service/start deleted to break ordering cycle
starting with sysinit.target/start
* example 3:
firewalld.service: Found ordering cycle on dbus.socket/start
firewalld.service: Found dependency on sysinit.target/start
firewalld.service: Found dependency on cloud-init.service/start
firewalld.service: Found dependency on networking.service/start
firewalld.service: Found dependency on network-pre.target/start
firewalld.service: Found dependency on firewalld.service/start
firewalld.service: Job dbus.socket/start deleted to break ordering cycle
starting with firewalld.service/start
* example 4:
firewalld.service: Found ordering cycle on dbus.service/start
firewalld.service: Found dependency on sysinit.target/start
firewalld.service: Found dependency on cloud-init.service/start
firewalld.service: Found dependency on networking.service/start
firewalld.service: Found dependency on network-pre.target/start
firewalld.service: Found dependency on firewalld.service/start
firewalld.service: Job dbus.service/start deleted to break ordering cycle
starting with firewalld.service/start
basic.target: Found ordering cycle on sysinit.target/start
basic.target: Found dependency on cloud-init.service/start
basic.target: Found dependency on networking.service/start
basic.target: Found dependency on network-pre.target/start
basic.target: Found dependency on firewalld.service/start
basic.target: Found dependency on basic.target/start
basic.target: Job cloud-init.service/start deleted to break ordering cycle
starting with basic.target/start
* example 5:
basic.target: Found ordering cycle on sockets.target/start
basic.target: Found dependency on uuidd.socket/start
basic.target: Found dependency on sysinit.target/start
basic.target: Found dependency on cloud-init.service/start
basic.target: Found dependency on networking.service/start
basic.target: Found dependency on network-pre.target/start
basic.target: Found dependency on firewalld.service/start
basic.target: Found dependency on dbus.service/start
basic.target: Found dependency on basic.target/start
basic.target: Job sockets.target/start deleted to break ordering cycle starting
with basic.target/start
firewalld.service: Found ordering cycle on dbus.socket/start
firewalld.service: Found dependency on sysinit.target/start
firewalld.service: Found dependency on cloud-init.service/start
firewalld.service: Found dependency on networking.service/start
firewalld.service: Found dependency on network-pre.target/start
firewalld.service: Found dependency on firewalld.service/start
firewalld.service: Job dbus.socket/start deleted to break ordering cycle
starting with firewalld.service/start
* example 6:
networking.service: Found ordering cycle on network-pre.target/start
networking.service: Found dependency on firewalld.service/start
networking.service: Found dependency on dbus.service/start
networking.service: Found dependency on basic.target/start
networking.service: Found dependency on sockets.target/start
networking.service: Found dependency on uuidd.socket/start
networking.service: Found dependency on sysinit.target/start
networking.service: Found dependency on cloud-init.service/start
networking.service: Found dependency on networking.service/start
networking.service: Job network-pre.target/start deleted to break ordering
cycle starting with networking.service/start
At first I experienced the issue on a Debian Stable (Bullseye), then
I was able to reproduce the problem on an up-to-date Bookworm.
Note that "systemd-analyze verify" seems to be unable to find the issue,
however, the following repro (tried on Bookworm) shows a way to detect
the cycles statically (plus, during a reboot you can observe it
directly):
$ sudo apt install firewalld cloud-init
$ echo "datasource_list: [ Fallback ]" | sudo tee
/etc/cloud/cloud.cfg.d/99_fallback.cfg
$ sudo reboot
$ wget
https://raw.githubusercontent.com/jantman/misc-scripts/4560db773f463101273539e625c9b48e9f53f87f/dot_find_cycles.py
$ # ^ I found that script by reading
https://github.com/systemd/systemd/issues/3829
$ sudo apt install 2to3 python3-pygraphviz python3-pydotplus python3-pydot
python3-graphviz python3-networkx
$ 2to3 -w dot_find_cycles.py
$ chmod +x dot_find_cycles.py
$ sudo systemd-analyze dot --no-pager --order 2>/dev/null | python3
./dot_find_cycles.py - | tee order-cycle_cloud-init-firewalld.txt
networking.service -> network-pre.target -> firewalld.service -> sysinit.target
-> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> basic.target
-> sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> basic.target
-> sockets.target -> cloud-init-hotplugd.socket -> sysinit.target ->
cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> basic.target
-> sockets.target -> dbus.socket -> sysinit.target -> cloud-init.service ->
networking.service
networking.service -> network-pre.target -> firewalld.service -> basic.target
-> systemd-pcrphase-sysinit.service -> sysinit.target -> cloud-init.service ->
networking.service
networking.service -> network-pre.target -> firewalld.service -> dbus.socket ->
sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> dbus.service
-> basic.target -> sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> dbus.service
-> basic.target -> sockets.target -> cloud-init-hotplugd.socket ->
sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> dbus.service
-> basic.target -> sockets.target -> dbus.socket -> sysinit.target ->
cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> dbus.service
-> basic.target -> systemd-pcrphase-sysinit.service -> sysinit.target ->
cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> dbus.service
-> sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> dbus.service
-> dbus.socket -> sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> polkit.service
-> dbus.socket -> sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> polkit.service
-> basic.target -> sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> polkit.service
-> basic.target -> sockets.target -> cloud-init-hotplugd.socket ->
sysinit.target -> cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> polkit.service
-> basic.target -> sockets.target -> dbus.socket -> sysinit.target ->
cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> polkit.service
-> basic.target -> systemd-pcrphase-sysinit.service -> sysinit.target ->
cloud-init.service -> networking.service
networking.service -> network-pre.target -> firewalld.service -> polkit.service
-> sysinit.target -> cloud-init.service -> networking.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
sysinit.target -> cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
basic.target -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
basic.target -> sockets.target -> cloud-init-hotplugd.socket -> sysinit.target
-> cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
basic.target -> sockets.target -> dbus.socket -> sysinit.target ->
cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
basic.target -> systemd-pcrphase-sysinit.service -> sysinit.target ->
cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
dbus.socket -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
dbus.service -> basic.target -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
dbus.service -> basic.target -> sockets.target -> cloud-init-hotplugd.socket ->
sysinit.target -> cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
dbus.service -> basic.target -> sockets.target -> dbus.socket -> sysinit.target
-> cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
dbus.service -> basic.target -> systemd-pcrphase-sysinit.service ->
sysinit.target -> cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
dbus.service -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
dbus.service -> dbus.socket -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
polkit.service -> dbus.socket -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
polkit.service -> basic.target -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
polkit.service -> basic.target -> sockets.target -> cloud-init-hotplugd.socket
-> sysinit.target -> cloud-init.service -> systemd-networkd-wait-online.service
-> systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
polkit.service -> basic.target -> sockets.target -> dbus.socket ->
sysinit.target -> cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
polkit.service -> basic.target -> systemd-pcrphase-sysinit.service ->
sysinit.target -> cloud-init.service -> systemd-networkd-wait-online.service ->
systemd-networkd.service
systemd-networkd.service -> network-pre.target -> firewalld.service ->
polkit.service -> sysinit.target -> cloud-init.service ->
systemd-networkd-wait-online.service -> systemd-networkd.service
Best regards,
Guillaume Knispel
-- System Information:
Debian Release: 11.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.10.0-19-amd64 (SMP w/64 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages cloud-init depends on:
ii fdisk 2.36.1-8+deb11u1
ii gdisk 1.0.6-1.1
ii ifupdown 0.8.36
ii locales 2.31-13+deb11u5
ii lsb-base 11.1.0
ii lsb-release 11.1.0
ii net-tools 1.60+git20181103.0eebece-1
ii procps 2:3.3.17-5
ii python3 3.9.2-3
ii python3-configobj 5.0.6-4
ii python3-jinja2 2.11.3-1
ii python3-jsonpatch 1.25-3
ii python3-jsonschema 3.2.0-3
ii python3-oauthlib 3.1.0-2
ii python3-requests 2.25.1+dfsg-2
ii python3-yaml 5.3.1-5
ii util-linux 2.36.1-8+deb11u1
Versions of packages cloud-init recommends:
ii cloud-guest-utils 0.31-2
ii eatmydata 105-9
ii sudo 1.9.5p2-3
Versions of packages cloud-init suggests:
pn btrfs-progs <none>
ii e2fsprogs 1.46.2-2
pn xfsprogs <none>
-- no debconf information
--- End Message ---
--- Begin Message ---
Source: cloud-init
Source-Version: 24.1.1-1
Done: Noah Meyerhans <[email protected]>
We believe that the bug you reported is fixed in the latest version of
cloud-init, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Noah Meyerhans <[email protected]> (supplier of updated cloud-init package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Mon, 11 Mar 2024 20:00:23 -0700
Source: cloud-init
Architecture: source
Version: 24.1.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Cloud Team <[email protected]>
Changed-By: Noah Meyerhans <[email protected]>
Closes: 926424 955620 1025618 1057548
Changes:
cloud-init (24.1.1-1) unstable; urgency=medium
.
[ Nick Brown ]
* Add logrotate config (Closes: #926424)
.
[ Debian Janitor ]
* Update lintian override info format in d/cloud-init.lintian-overrides
on line 3-7.
* Trim trailing whitespace.
* Use secure copyright file specification URI.
* Bump debhelper from old 10 to 13.
+ Drop check for DEB_BUILD_OPTIONS containing "nocheck", since
debhelper now does this.
+ Replace --no-restart-on-upgrade with --no-stop-on-upgrade.
+ Use dh_installsystemd rather than deprecated dh_systemd_start.
* Set debhelper-compat version in Build-Depends.
* Set upstream metadata fields: Repository-Browse.
* Update standards version to 4.6.1, no changes needed.
.
[ Ross Vandegrift ]
* d/control: Conflict with firewalld (Closes: #1025618)
cloud-init and firewalld's systemd units jointly have startup cycles.
Currently, they cannot be eliminated without breaking features of one
or the other.
* d/control: drop obsolete Depends on lsb-base
.
[ Noah Meyerhans ]
* Fix debian/rules clean fails from git repo
This may not be strictly correct from a pybuild perspective, but it
avoids the need to call `setup.py` from the clean recipe.
(Closes: #955620)
.
[ Ross Vandegrift ]
* New upstream version 24.1 (Closes: #1057548)
* d/p/0001-config-Support-APT-automated-mirror-selection.patch: refresh
* d/p/0006-Disable-two-failing-WSL-unittests.patch: disable failing WSL tests
.
[ Noah Meyerhans ]
* New upstream version 24.1.1
* Drop patch 0006-Disable-two-failing-WSL-unittests.patch
Checksums-Sha1:
8ffde165b91d09b26dd1a2539c4901cd22341c16 2440 cloud-init_24.1.1-1.dsc
7e45254e6a7efd64a99a1abd2d6dee585f4069d4 1730335 cloud-init_24.1.1.orig.tar.gz
0f42f704eeac76b3ed0485e683a3abd4691e2c84 26624
cloud-init_24.1.1-1.debian.tar.xz
3461c15b85793e894a9fb5c770e1390100b3d9bd 7290
cloud-init_24.1.1-1_source.buildinfo
Checksums-Sha256:
f54ecbc291bf6ecd05059628b11e78c5bc1990efb31e2fc2983d3aa9ad2bcf53 2440
cloud-init_24.1.1-1.dsc
bda71fd0e4a2ad2c20941d941293a08bda490f075b24949b089f5425dcde1c73 1730335
cloud-init_24.1.1.orig.tar.gz
3076753fd60c86b291e61a2878446315ced2b1f69247617c54cae24460075bb6 26624
cloud-init_24.1.1-1.debian.tar.xz
82c8b70e0fba16bb01ebc776c071a2db65861c1c77ff7a66456d647cfe707428 7290
cloud-init_24.1.1-1_source.buildinfo
Files:
f349eb943e4e51c060a42954eb547f84 2440 admin optional cloud-init_24.1.1-1.dsc
46d30a80410623af3246d479e303949f 1730335 admin optional
cloud-init_24.1.1.orig.tar.gz
bd75e08032ea5aee3664e0dd54818ea3 26624 admin optional
cloud-init_24.1.1-1.debian.tar.xz
bfe3a344b2fd0cbb740d0cea01842414 7290 admin optional
cloud-init_24.1.1-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQJFBAEBCgAvFiEE5G+E0xEKhJuZ7RJ34+c1IpshdTUFAmXxCA8RHG5vYWhtQGRl
Ymlhbi5vcmcACgkQ4+c1IpshdTVZHg/+JGRxaY/D8d+vPam5DyiChPwwkaNuyRky
exZxMot5yEhwNuq9Ek7pHBif5lqBHhtQrgBIJXudGLYx2EU/6X+y4orrT/yuZdyn
U98rZfE5SU+qdwWi0vpqv7IB/qHu5ZBdeK4ZGKzOcqkfr8IeOTXusx4TbDON1fPD
+z67h/+lnyMQHr4g01StujlxV5ySqv8aGKHTsQkSBFPPTfY69T/EvgelgzhjMx1M
ShkT6SqiIu6yx5G9Nt98J6FLTNixKUOYKfMCSBZ0utE8oWxvsn64J+kMT67vEjK5
PIjKdC0tBaGHuj9QC2AWfyI/E7rFgRK7ofMr23eli1/xt3N3FbIPzoBDe6FyEENC
OuSHopic70k/QJ8oUJxsTB4O7Lr96eJudYu77kI9bom1WAxguKEB82wmz/Polmtq
uwOaYjFbtNm5lq5N1lZAKyRQltWIwgePfC1WCQlW03qNowNrb6yZofyBwVAMcSKK
rXXRIaGaLlX9m59/PizdJD2z7pq95Hl/TnnPhbBqPIoeFA1buEEKKPDONtQPHUz7
Fwj5ZWuwv4B13VTCLLMA8Hmvg8E9nKADgdhL5oI/H+UCTgc9F8Q/LfKsgVXowyaG
KvbIM1jVCQvPtJIroHycUE5uktsLRVSxbf+lPR8IunltvkMeLnTCAuBCkDqfV3oS
ibc3IBbwi3U=
=pwDU
-----END PGP SIGNATURE-----
pgpIFXUnaKgVE.pgp
Description: PGP signature
--- End Message ---