Skip to content

Add provider-side reload propagation (propagate:reload) #477

@troglobit

Description

@troglobit

When a service is reloaded (SIGHUP or reload:script), allow it to declare
that its dependents should also be reloaded/restarted. This is the
provider-side complement to the consumer-side ~ condition modifier
added in #416.

Use case

A target or service that acts as a group manager for several downstream
services. Rather than requiring every dependent to opt in with ~, the
provider declares once that its reload propagates:

service propagate:reload name:netd ...

All services with <pid/netd> or <!pid/netd> conditions would then be
reloaded/restarted when netd reloads, without needing the ~ modifier.

Relationship to other issues

Both mechanisms can coexist. ~ gives fine-grained control on the
dependent side, propagate:reload gives a simple blanket declaration
on the provider side.

Reference

systemd has PropagatesReloadTo= and ReloadPropagatedFrom= for
this purpose. See also systemd/systemd#16443 for discussion around
propagation from target units.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions