mirror of
https://github.com/containers/podman.git
synced 2026-03-30 20:43:40 -04:00
Merge pull request #24183 from Luap99/info-socket-url
server: fix url parsing in info
This commit is contained in:
2
Makefile
2
Makefile
@@ -656,7 +656,7 @@ ginkgo-run: .install.ginkgo
|
||||
$(GINKGO) -vv $(TESTFLAGS) --tags "$(TAGS) remote" $(GINKGOTIMEOUT) --flake-attempts $(GINKGO_FLAKE_ATTEMPTS) \
|
||||
--trace $(if $(findstring y,$(GINKGO_NO_COLOR)),--no-color,) \
|
||||
$(if $(findstring y,$(GINKGO_PARALLEL)),-p,) \
|
||||
$(if $(FOCUS),--focus "$(FOCUS) --silence-skips",) \
|
||||
$(if $(FOCUS),--focus "$(FOCUS)" --silence-skips,) \
|
||||
$(if $(FOCUS_FILE),--focus-file "$(FOCUS_FILE)" --silence-skips,) $(GINKGOWHAT)
|
||||
|
||||
.PHONY: ginkgo
|
||||
|
||||
@@ -48,7 +48,7 @@ func restService(flags *pflag.FlagSet, cfg *entities.PodmanConfig, opts entities
|
||||
if listener == nil {
|
||||
return errors.New("unexpected fd received from systemd: cannot listen on it")
|
||||
}
|
||||
libpodRuntime.SetRemoteURI(listeners[0].Addr().String())
|
||||
libpodRuntime.SetRemoteURI(listeners[0].Addr().Network() + "://" + listeners[0].Addr().String())
|
||||
} else {
|
||||
uri, err := url.Parse(opts.URI)
|
||||
if err != nil {
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/containers/podman/v5/libpod/define"
|
||||
"github.com/containers/podman/v5/pkg/domain/entities"
|
||||
@@ -48,19 +49,16 @@ func (ic *ContainerEngine) Info(ctx context.Context) (*define.Info, error) {
|
||||
info.Host.RemoteSocket.Path = uri.Path
|
||||
}
|
||||
|
||||
uri, err := url.Parse(ic.Libpod.RemoteURI())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if uri.Scheme == "unix" {
|
||||
err := fileutils.Exists(uri.Path)
|
||||
// check if the unix path exits, if not unix socket we always we assume it exists, i.e. tcp socket
|
||||
path, found := strings.CutPrefix(info.Host.RemoteSocket.Path, "unix://")
|
||||
if found {
|
||||
err := fileutils.Exists(path)
|
||||
info.Host.RemoteSocket.Exists = err == nil
|
||||
} else {
|
||||
info.Host.RemoteSocket.Exists = true
|
||||
}
|
||||
|
||||
return info, err
|
||||
return info, nil
|
||||
}
|
||||
|
||||
// SystemPrune removes unused data from the system. Pruning pods, containers, networks, volumes and images.
|
||||
|
||||
@@ -82,6 +82,11 @@ var _ = Describe("Systemd activate", func() {
|
||||
return testUtils.SystemExec(podmanTest.PodmanBinary, args)
|
||||
}
|
||||
|
||||
// regression check for https://github.com/containers/podman/issues/24152
|
||||
session := podmanRemote("info", "--format", "{{.Host.RemoteSocket.Path}}--{{.Host.RemoteSocket.Exists}}")
|
||||
Expect(session).Should(testUtils.ExitCleanly())
|
||||
Expect(session.OutputToString()).To(Equal("tcp://" + addr + "--true"))
|
||||
|
||||
containerName := "top_" + testUtils.RandomString(8)
|
||||
apiSession := podmanRemote(
|
||||
"create", "--tty", "--name", containerName, "--entrypoint", "top",
|
||||
|
||||
Reference in New Issue
Block a user