mirror of
https://github.com/containers/podman
synced 2024-10-19 08:44:11 +00:00
generate systemd: make mounts portable
Commit 748826fc88
fixed a bug where slow mounting of the runroot was
causing issues when the units are started at boot. The fix was to add
the container's runroot to the required mounts; the graph root has been
added as well.
Hard-coding the run- and graphroot to the required mounts, however,
breaks the portability of units generated with --now. Those units are
intended to be running on any machine as, theoreticaly, any user.
Make the mounts portable by using the `%t` macro for the run root.
Since the graphroot's location varies across root and ordinary users,
drop it from the list of required mounts. The graphroot was not causing
issues.
Fixes: #10493
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
parent
59236762ec
commit
5307218419
|
@ -75,7 +75,7 @@ Description=Podman container-de1e3223b1b888bc02d0962dd6cb5855eb00734061013ffdd34
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/container/storage
|
||||
RequiresMountsFor=/var/run/container/storage
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
|
@ -104,7 +104,7 @@ Description=Podman container-busy_moser.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/container/storage
|
||||
RequiresMountsFor=/var/run/container/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -146,7 +146,7 @@ Requires=container-amazing_chandrasekhar.service container-jolly_shtern.service
|
|||
Before=container-amazing_chandrasekhar.service container-jolly_shtern.service
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/container/storage
|
||||
RequiresMountsFor=/var/run/container/storage
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
|
|
|
@ -36,7 +36,7 @@ Description=Podman {{{{.ServiceName}}}}.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor={{{{.GraphRoot}}}} {{{{.RunRoot}}}}
|
||||
RequiresMountsFor={{{{.RunRoot}}}}
|
||||
`
|
||||
|
||||
// filterPodFlags removes --pod, --pod-id-file and --infra-conmon-pidfile from the specified command.
|
||||
|
|
|
@ -152,15 +152,15 @@ func generateContainerInfo(ctr *libpod.Container, options entities.GenerateSyste
|
|||
return nil, errors.Errorf("could not determine storage store for container")
|
||||
}
|
||||
|
||||
graphRoot := store.GraphRoot()
|
||||
if graphRoot == "" {
|
||||
return nil, errors.Errorf("could not lookup container's graphroot: got empty string")
|
||||
}
|
||||
|
||||
runRoot := store.RunRoot()
|
||||
var runRoot string
|
||||
if options.New {
|
||||
runRoot = "%t/containers"
|
||||
} else {
|
||||
runRoot = store.RunRoot()
|
||||
if runRoot == "" {
|
||||
return nil, errors.Errorf("could not lookup container's runroot: got empty string")
|
||||
}
|
||||
}
|
||||
|
||||
envs := config.Spec.Process.Env
|
||||
|
||||
|
@ -172,7 +172,6 @@ func generateContainerInfo(ctr *libpod.Container, options entities.GenerateSyste
|
|||
StopTimeout: timeout,
|
||||
GenerateTimestamp: true,
|
||||
CreateCommand: createCommand,
|
||||
GraphRoot: graphRoot,
|
||||
RunRoot: runRoot,
|
||||
containerEnv: envs,
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ Description=Podman container-639c53578af4d84b8800b4635fa4e680ee80fd67e0e6a2d4eea
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -74,7 +74,7 @@ Description=Podman container-foobar.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -98,7 +98,7 @@ Description=Podman container-foobar.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
BindsTo=a.service b.service c.service pod.service
|
||||
After=a.service b.service c.service pod.service
|
||||
|
||||
|
@ -124,7 +124,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -149,7 +149,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -174,7 +174,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -199,7 +199,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -224,7 +224,7 @@ Description=Podman container-639c53578af4d84b8800b4635fa4e680ee80fd67e0e6a2d4eea
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -250,7 +250,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -279,7 +279,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -304,7 +304,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -329,7 +329,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -354,7 +354,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -379,7 +379,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -404,7 +404,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -429,7 +429,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
@ -454,7 +454,7 @@ Description=Podman jadda-jadda.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
|
||||
[Service]
|
||||
Environment=PODMAN_SYSTEMD_UNIT=%n
|
||||
|
|
|
@ -47,7 +47,7 @@ Description=Podman pod-123abc.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
Requires=container-1.service container-2.service
|
||||
Before=container-1.service container-2.service
|
||||
|
||||
|
@ -75,7 +75,7 @@ Description=Podman pod-123abc.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
Requires=container-1.service container-2.service
|
||||
Before=container-1.service container-2.service
|
||||
|
||||
|
@ -103,7 +103,7 @@ Description=Podman pod-123abc.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
Requires=container-1.service container-2.service
|
||||
Before=container-1.service container-2.service
|
||||
|
||||
|
@ -131,7 +131,7 @@ Description=Podman pod-123abc.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
Requires=container-1.service container-2.service
|
||||
Before=container-1.service container-2.service
|
||||
|
||||
|
@ -159,7 +159,7 @@ Description=Podman pod-123abc.service
|
|||
Documentation=man:podman-generate-systemd(1)
|
||||
Wants=network.target
|
||||
After=network-online.target
|
||||
RequiresMountsFor=/var/lib/containers/storage /var/run/containers/storage
|
||||
RequiresMountsFor=/var/run/containers/storage
|
||||
Requires=container-1.service container-2.service
|
||||
Before=container-1.service container-2.service
|
||||
|
||||
|
|
Loading…
Reference in a new issue