diff options
author | Danila Kiver <danila.kiver@mail.ru> | 2019-07-04 03:58:37 +0300 |
---|---|---|
committer | Danila Kiver <danila.kiver@mail.ru> | 2019-07-04 03:58:37 +0300 |
commit | a54429cf877e899eb1516e3ee71ae9c6eedd7c5a (patch) | |
tree | fe676086d21daefe2f1650efbbe7bd2cd7fa1217 /pkg/systemdgen/systemdgen.go | |
parent | f5593d305f68409cf093ea6b66a9d1f121ec0fd6 (diff) | |
download | podman-a54429cf877e899eb1516e3ee71ae9c6eedd7c5a.tar.gz podman-a54429cf877e899eb1516e3ee71ae9c6eedd7c5a.tar.bz2 podman-a54429cf877e899eb1516e3ee71ae9c6eedd7c5a.zip |
Use conmon pidfile in generated systemd unit as PIDFile.
By default, podman points PIDFile in generated unit file to non-existent
location. As a result, the unit file, generated by podman, is broken:
an attempt to start this unit without prior modification results in a crash,
because systemd can not find the pidfile of service's main process.
Fix the value of "PIDFile" and add a system test for this case.
Signed-off-by: Danila Kiver <danila.kiver@mail.ru>
Diffstat (limited to 'pkg/systemdgen/systemdgen.go')
-rw-r--r-- | pkg/systemdgen/systemdgen.go | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/pkg/systemdgen/systemdgen.go b/pkg/systemdgen/systemdgen.go index 3d1c31b5d..fb91b3e82 100644 --- a/pkg/systemdgen/systemdgen.go +++ b/pkg/systemdgen/systemdgen.go @@ -2,7 +2,6 @@ package systemdgen import ( "fmt" - "path/filepath" "github.com/pkg/errors" ) @@ -33,11 +32,11 @@ func ValidateRestartPolicy(restart string) error { // CreateSystemdUnitAsString takes variables to create a systemd unit file used to control // a libpod container -func CreateSystemdUnitAsString(name, cid, restart, pidPath string, stopTimeout int) (string, error) { +func CreateSystemdUnitAsString(name, cid, restart, pidFile string, stopTimeout int) (string, error) { if err := ValidateRestartPolicy(restart); err != nil { return "", err } - pidFile := filepath.Join(pidPath, fmt.Sprintf("%s.pid", cid)) + unit := fmt.Sprintf(template, name, restart, name, stopTimeout, name, pidFile) return unit, nil } |