Skip to content

Systemd reports a cycle dependency between cloud-init and the azure-proxy-agent. #271

Description

@ZhidongPeng

Unfortunately, there is a problem with Ubuntu 22.04 LTS and Ubuntu 24.04 LTS. Systemd reports a cycle dependency that involves the agent. Here is a example from a 22.04 VM:

Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Found ordering cycle on cloud-init.service/start
Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Found dependency on systemd-networkd-wait-online.service/start
Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Found dependency on systemd-networkd.service/start
Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Found dependency on network-pre.target/start
Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Found dependency on azure-proxy-agent.service/start
Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Found dependency on basic.target/start
Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Found dependency on sysinit.target/start
Sep 03 16:27:16 ubuntu systemd[1]: sysinit.target: Job cloud-init.service/start deleted to break ordering cycle starting with sysinit.target/start

This look causes either cloud-init or the azure-proxy-agent to be disabled.

As far as I understand, this is because the systemd unit file sets Before=network-pre.target but doesn't set DefaultDependencies=no. Having DefaultDependencies=yes by default means the agent depends on basics.target creating this cycle.

Can you please fix this issue? Once we have a solution from you, we will work on the backport.

For now, the publication process on 22.04 and 24.04 is completely blocked by this. I am trying to figure out if it also blocks 25.04. In theory, 25.04 passes our tests as cloud-init changed its dependencies between 24.04 and 25.04, so the cycle is not present. But the underlying issue (missing DefaultDependencies=no) is still there and a user might install services that would cause a cycle to happen again.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions