I tried to follow the suggestion at https://github.com/firewalld/firewalld/issues/414#issuecomment-1061607756 but it's not quite right. It suggests dropping `Before=network-pre.target` from `cloud-init-local.service`. But:
- `cloud-init-local.service` has `Before=network-pre.target`, but is not involved in the cycles. The cycle details posted above only involve `cloud-init.service`.
- the debian bug has a nice python script to find cycles in `systemd-analyze dot --order` output.
- `cloud-init.service` has no explicit order with `network-pre.target`, but it does have `Before=sysinit.target`.
The closest I could get to Michael's suggestion is dropping `Before=sysinit.target` from `cloud-init.service` - but this will break cloud-init's disk setup features (see cloud-init rev `80f5ec4b` which introduces `Before=basic.target`).
Could the disk and network setup pieces of cloud init be separated? That'd allow keeping disk setup before `sysinit.target`, but permitting network setup to move later (though I suspect that brings risks too, LP#1636912 in particular?)
The Debian cloud team received #[1025618](https:/ /bugs.debian. org/cgi- bin/bugreport. cgi?bug= 1025618), which is a report of this bug.
I tried to follow the suggestion at https:/ /github. com/firewalld/ firewalld/ issues/ 414#issuecommen t-1061607756 but it's not quite right. It suggests dropping `Before= network- pre.target` from `cloud- init-local. service` . But: init-local. service` has `Before= network- pre.target` , but is not involved in the cycles. The cycle details posted above only involve `cloud- init.service` . init.service` has no explicit order with `network- pre.target` , but it does have `Before= sysinit. target` .
- `cloud-
- the debian bug has a nice python script to find cycles in `systemd-analyze dot --order` output.
- `cloud-
The closest I could get to Michael's suggestion is dropping `Before= sysinit. target` from `cloud- init.service` - but this will break cloud-init's disk setup features (see cloud-init rev `80f5ec4b` which introduces `Before= basic.target` ).
Could the disk and network setup pieces of cloud init be separated? That'd allow keeping disk setup before `sysinit.target`, but permitting network setup to move later (though I suspect that brings risks too, LP#1636912 in particular?)