Skip to content

Commit

Permalink
Create volume path before state initialization
Browse files Browse the repository at this point in the history
Strictly speaking we don't need the path yet, but it existing
prevents a lot of strangeness in our path-checking logic to
validate the current Podman configuration, as it was the only
path that might not exist this early in init.

Fixes #23515

Signed-off-by: Matt Heon <mheon@redhat.com>
  • Loading branch information
mheon committed Aug 6, 2024
1 parent 3275fd2 commit eb7ce80
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 0 deletions.
8 changes: 8 additions & 0 deletions libpod/runtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,14 @@ func makeRuntime(ctx context.Context, runtime *Runtime) (retErr error) {
return fmt.Errorf("creating runtime temporary files directory: %w", err)
}

// Create the volume path if needed.
// This is not strictly necessary at this point, but the path not
// existing can cause troubles with DB path validation on OSTree based
// systems. Ref: /~https://github.com/containers/podman/issues/23515
if err := os.MkdirAll(runtime.config.Engine.VolumePath, 0700); err != nil {
return fmt.Errorf("creating runtime volume path directory: %w", err)
}

// Set up the state.
runtime.state, err = getDBState(runtime)
if err != nil {
Expand Down
7 changes: 7 additions & 0 deletions test/system/005-info.bats
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,13 @@ host.slirp4netns.executable | $expr_path

ln -s /home $new_home

# Remove volume directory. This doesn't break Podman but can cause our DB
# validation to break if Podman misbehaves. Ref:
# /~https://github.com/containers/podman/issues/23515
# (Unfortunately, we can't just use a new directory, that will just trip DB
# validation that it doesn't match the path we were using before)
rm -rf $PODMAN_TMPDIR/$HOME/.local/share/containers/storage/volumes

# Just need the command to run cleanly
HOME=$PODMAN_TMPDIR/$HOME run_podman info

Expand Down

0 comments on commit eb7ce80

Please sign in to comment.