[4.8] libct/cg/sd: reconnect and retry on dbus connection error #50
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a backport of upstream PR opencontainers/runc#2923.
It is mostly straightforward, only a few minor merge conflicts due to missing upstream commits:
Original description follows.
In case the dbus daemon is ever restarted, the connection is no longer valid and every operation
fails. This is a minor concern for short-lived runc, but much more of a issue in case there is
a long-running daemon (e.g.
cri-o
) is using runc's libcontainer, as the connection is neverretried and the only remedy is to restart the daemon.
The solution to the above is to check the errors returned for
dbus: connection closed by user
error, and try to re-connect on that. This is what PR #2862 does.
This is a carry of #2862, implementing the idea of retry-in-place (first described
at opencontainers/runc#2862 (comment) and opencontainers/runc#2862 (comment)) on top of what it does.
For more info, see commit messages as well as #2862.
Fixes: