[Ubuntu] Fix issue with docker.service and docker.socket files not found #423
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.
Problem:
On hosts running Ubuntu the default location for
docker.serviceanddocker.socketfiles is/lib/systemd/system. Under the hood the test suite currently tries to check for these files existence in other default location (/etc/systemd/system/), fails to do that an attempts to make a call tosystemctlto get the actual one. This call always fails becausesystemctlis missing in the docker image (since it's based onalpine).Suggested solution:
docker.serviceanddocker.socketfiles (before thesystemctlcall)get_systemd_service_filefile toget_service_file(since the old name seems to be not very relevant: systemd is actually used as a fallback with default location returned if it's in place)./etc/systemd/system/mountNote:
I've also considered removing the systemd call with something more appropriate. but failed to find proper option (since the script should work not only in Alpine-based image but on other platform-specific images as well). So I'm really open to suggestions on that matter (left as is for now).