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
    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