This type tried to disable an unit after it has removed it, which
failed. Now the removal happens in gencode-remote, after the unit has
been stopped and disabled.
Clarify that this type only operates on units in /etc/systemd/system.
Also, when state=present, it is not always true that the type is
"installed, enabled and started"
When directly piping in the source of a systemd unit file, cdist
errored out. This is due to not propagating the stdin file to the
underlying __config_file type (which already contains code for this
case, but this has to be duplicated in __systemd_unit).
The following example thus works:
__systemd_unit test.service --source - <<EOF
[Service]
ExecStart=/bin/sleep 3600
EOF
* __systemd_unit: Move systemctl detection to manifest
* __systemd_unit: Restart the unit if inactive
Until now, the --restart parameter caused the unit to be restarted
only when the unit file has changed. This commit modifies --restart
behavior so that the unit is also restarted when the unit is inactive.
* __systemd_unit: Do not create unit file when source is empty