Skip to content

Change Requisite= to AssertStarted= and make it deterministic #4256

@davidstrauss

Description

@davidstrauss

Requisite= has a confusing name and creates an additional verification job that, with systemd's parallel execution, creates a race condition. It would be better if we explicitly decided (and documented) that it fails the job (rather than the documented failure of the transaction, which doesn't even seem to be the implemented logic) and name it accordingly (that is, as an "assert").

It would be good to have AssertStarted= be promoted (internally) to the behavior of Requires= if the specified unit is in the same transaction. This would better define the behavior if the unit specified in AssertStarted= failed quickly after entering the "started" state.

Or maybe we should scrap the entire directive; it's badly defined, implemented in a racy way, and rarely used.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions