diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-03-18 18:27:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-18 18:27:33 +0100 |
commit | 45e7cbfef65d0379af19264c5fa90e1ae9ccb74a (patch) | |
tree | 213fbf640875883d598cff217b933b3c413c5707 /pkg/systemd/generate/systemdgen.go | |
parent | d9eb078e2a1cff73461f285924ab1ab8699e9bca (diff) | |
parent | f4e873c4e10502dd0a7fb14cc2fd87b12760a318 (diff) | |
download | podman-45e7cbfef65d0379af19264c5fa90e1ae9ccb74a.tar.gz podman-45e7cbfef65d0379af19264c5fa90e1ae9ccb74a.tar.bz2 podman-45e7cbfef65d0379af19264c5fa90e1ae9ccb74a.zip |
Merge pull request #5480 from vrothberg/auto-updates
auto update containers in systemd units
Diffstat (limited to 'pkg/systemd/generate/systemdgen.go')
-rw-r--r-- | pkg/systemd/generate/systemdgen.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/systemd/generate/systemdgen.go b/pkg/systemd/generate/systemdgen.go index 4cd7745c0..eb15d4927 100644 --- a/pkg/systemd/generate/systemdgen.go +++ b/pkg/systemd/generate/systemdgen.go @@ -16,6 +16,10 @@ import ( "github.com/sirupsen/logrus" ) +// EnvVariable "PODMAN_SYSTEMD_UNIT" is set in all generated systemd units and +// is set to the unit's (unique) name. +const EnvVariable = "PODMAN_SYSTEMD_UNIT" + // ContainerInfo contains data required for generating a container's systemd // unit file. type ContainerInfo struct { @@ -57,6 +61,8 @@ type ContainerInfo struct { // RunCommand is a post-processed variant of CreateCommand and used for // the ExecStart field in generic unit files. RunCommand string + // EnvVariable is generate.EnvVariable and must not be set. + EnvVariable string } var restartPolicies = []string{"no", "on-success", "on-failure", "on-abnormal", "on-watchdog", "on-abort", "always"} @@ -94,6 +100,7 @@ Before={{- range $index, $value := .RequiredServices -}}{{if $index}} {{end}}{{ {{- end}} [Service] +Environment={{.EnvVariable}}=%n Restart={{.RestartPolicy}} {{- if .New}} ExecStartPre=/usr/bin/rm -f %t/%n-pid %t/%n-cid @@ -138,6 +145,8 @@ func CreateContainerSystemdUnit(info *ContainerInfo, opts Options) (string, erro info.Executable = executable } + info.EnvVariable = EnvVariable + // Assemble the ExecStart command when creating a new container. // // Note that we cannot catch all corner cases here such that users |