summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.autocopr/podman.spec6
-rw-r--r--README.md10
-rw-r--r--cmd/podman/common/create_opts.go2
-rw-r--r--cmd/podman/containers/pause.go2
-rw-r--r--cmd/podman/containers/unpause.go2
-rw-r--r--cmd/podman/pods/inspect.go19
-rw-r--r--cmd/podman/pods/ps.go63
-rw-r--r--cmd/podman/pods/stats.go81
-rwxr-xr-xcontrib/cirrus/runner.sh14
-rw-r--r--go.mod2
-rw-r--r--go.sum3
-rw-r--r--libpod/container_internal.go2
-rw-r--r--libpod/container_internal_linux.go4
-rw-r--r--libpod/info.go2
-rw-r--r--libpod/oci_conmon_linux.go2
-rw-r--r--libpod/pod_api.go2
-rw-r--r--libpod/runtime.go2
-rw-r--r--libpod/runtime_ctr.go2
-rw-r--r--libpod/runtime_pod_linux.go2
-rw-r--r--libpod/stats.go2
-rw-r--r--libpod/util_linux.go2
-rw-r--r--pkg/api/handlers/compat/containers_stats.go2
-rw-r--r--pkg/api/handlers/libpod/containers_stats.go2
-rw-r--r--pkg/cgroups/cgroups_test.go32
-rw-r--r--pkg/domain/infra/abi/containers.go2
-rw-r--r--pkg/domain/infra/abi/pods_stats.go2
-rw-r--r--pkg/domain/infra/abi/system.go2
-rw-r--r--pkg/domain/infra/runtime_libpod.go2
-rw-r--r--pkg/specgen/generate/oci.go2
-rw-r--r--pkg/specgen/generate/validate.go2
-rw-r--r--pkg/specgen/namespaces.go2
-rw-r--r--test/e2e/common_test.go2
-rw-r--r--test/e2e/import_test.go2
-rw-r--r--test/e2e/run_entrypoint_test.go2
-rw-r--r--test/e2e/run_networking_test.go8
-rw-r--r--test/e2e/run_test.go2
-rw-r--r--test/e2e/run_volume_test.go12
-rw-r--r--test/e2e/system_service_test.go6
-rw-r--r--test/system/035-logs.bats4
-rw-r--r--test/system/600-completion.bats2
-rw-r--r--utils/utils.go2
-rw-r--r--utils/utils_supported.go2
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/blkio.go (renamed from pkg/cgroups/blkio.go)0
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/cgroups.go (renamed from pkg/cgroups/cgroups.go)19
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/cgroups_supported.go (renamed from pkg/cgroups/cgroups_supported.go)0
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/cgroups_unsupported.go (renamed from pkg/cgroups/cgroups_unsupported.go)0
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/cpu.go (renamed from pkg/cgroups/cpu.go)0
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/cpuset.go (renamed from pkg/cgroups/cpuset.go)2
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/memory.go (renamed from pkg/cgroups/memory.go)0
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/pids.go (renamed from pkg/cgroups/pids.go)0
-rw-r--r--vendor/github.com/containers/common/pkg/cgroups/systemd.go (renamed from pkg/cgroups/systemd.go)5
-rw-r--r--vendor/modules.txt3
52 files changed, 150 insertions, 199 deletions
diff --git a/.autocopr/podman.spec b/.autocopr/podman.spec
index 54dcc9696..45f6c14d8 100644
--- a/.autocopr/podman.spec
+++ b/.autocopr/podman.spec
@@ -51,7 +51,11 @@ BuildRequires: ostree-devel
BuildRequires: systemd
BuildRequires: systemd-devel
Requires: conmon >= 2:2.0.30-2
-Requires: containers-common >= 4:1-30
+%if 0%{?fedora}
+Requires: containers-common >= 4:1-21
+%else
+Requires: containers-common >= 2:1-13
+%endif
Requires: containernetworking-plugins >= 1.0.0-15.1
Requires: iptables
Requires: nftables
diff --git a/README.md b/README.md
index 2b384239f..c2a7130f1 100644
--- a/README.md
+++ b/README.md
@@ -166,13 +166,3 @@ familiar container cli commands. For more details, see the
Podman formerly offered a Varlink-based API for remote management of containers. However, this API
was replaced by the REST API. Varlink support has been removed as of the 3.0 release.
For more details, you can see [this blog](https://podman.io/blogs/2020/01/17/podman-new-api.html).
-
-## Static Binary Builds
-The Cirrus CI integration within this repository contains a `Static_Build` job
-which produces static Podman binaries for testing purposes. Please note that
-these binaries are not officially supported with respect to feature-completeness
-and functionality and should be only used for testing. To download these binaries,
-load the build link with the commit SHA at
-[main](https://cirrus-ci.com/github/containers/podman/main) or
-`https://cirrus-ci.com/github/containers/podman/pull/<selected PR>`
-and open the artifacts folder within `Static Build`.
diff --git a/cmd/podman/common/create_opts.go b/cmd/podman/common/create_opts.go
index abb55f8c7..7d6471fd4 100644
--- a/cmd/podman/common/create_opts.go
+++ b/cmd/podman/common/create_opts.go
@@ -8,11 +8,11 @@ import (
"strconv"
"strings"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/libpod/network/types"
"github.com/containers/podman/v3/pkg/api/handlers"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/podman/v3/pkg/specgen"
diff --git a/cmd/podman/containers/pause.go b/cmd/podman/containers/pause.go
index 8e1b69d71..1e37bab55 100644
--- a/cmd/podman/containers/pause.go
+++ b/cmd/podman/containers/pause.go
@@ -4,10 +4,10 @@ import (
"context"
"fmt"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/cmd/podman/common"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/cmd/podman/utils"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/pkg/errors"
diff --git a/cmd/podman/containers/unpause.go b/cmd/podman/containers/unpause.go
index e152f70e1..cf37b6369 100644
--- a/cmd/podman/containers/unpause.go
+++ b/cmd/podman/containers/unpause.go
@@ -4,10 +4,10 @@ import (
"context"
"fmt"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/cmd/podman/common"
"github.com/containers/podman/v3/cmd/podman/registry"
"github.com/containers/podman/v3/cmd/podman/utils"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/pkg/errors"
diff --git a/cmd/podman/pods/inspect.go b/cmd/podman/pods/inspect.go
index d4b8df90e..fd34d255f 100644
--- a/cmd/podman/pods/inspect.go
+++ b/cmd/podman/pods/inspect.go
@@ -3,6 +3,7 @@ package pods
import (
"context"
"os"
+ "text/template"
"github.com/containers/common/pkg/report"
"github.com/containers/podman/v3/cmd/podman/common"
@@ -64,25 +65,17 @@ func inspect(cmd *cobra.Command, args []string) error {
}
if report.IsJSON(inspectOptions.Format) {
- json.MarshalIndent(responses, "", " ")
enc := json.NewEncoder(os.Stdout)
enc.SetIndent("", " ")
return enc.Encode(responses)
}
- // cmd.Flags().Changed("format") must be true to reach this code
- row := report.NormalizeFormat(inspectOptions.Format)
-
- t, err := report.NewTemplate("inspect").Parse(row)
- if err != nil {
- return err
- }
-
- w, err := report.NewWriterDefault(os.Stdout)
+ // Cannot use report.New() as it enforces {{range .}} for OriginUser templates
+ tmpl := template.New(cmd.Name()).Funcs(template.FuncMap(report.DefaultFuncs))
+ format := report.NormalizeFormat(inspectOptions.Format)
+ tmpl, err = tmpl.Parse(format)
if err != nil {
return err
}
- err = t.Execute(w, *responses)
- w.Flush()
- return err
+ return tmpl.Execute(os.Stdout, *responses)
}
diff --git a/cmd/podman/pods/ps.go b/cmd/podman/pods/ps.go
index 808ec31b3..0b1c76cb2 100644
--- a/cmd/podman/pods/ps.go
+++ b/cmd/podman/pods/ps.go
@@ -110,56 +110,49 @@ func pods(cmd *cobra.Command, _ []string) error {
return nil
}
- // Formatted output below
lpr := make([]ListPodReporter, 0, len(responses))
for _, r := range responses {
lpr = append(lpr, ListPodReporter{r})
}
- headers := report.Headers(ListPodReporter{}, map[string]string{
- "Id": "POD ID",
- "Name": "NAME",
- "Status": "STATUS",
- "Labels": "LABELS",
- "NumberOfContainers": "# OF CONTAINERS",
- "Created": "CREATED",
- "InfraID": "INFRA ID",
- "ContainerIds": "IDS",
- "ContainerNames": "NAMES",
- "ContainerStatuses": "STATUS",
- "Cgroup": "CGROUP",
- "Namespace": "NAMESPACES",
- })
- renderHeaders := true
- row := podPsFormat()
- if cmd.Flags().Changed("format") {
- renderHeaders = report.HasTable(psInput.Format)
- row = report.NormalizeFormat(psInput.Format)
- }
- format := report.EnforceRange(row)
+ rpt := report.New(os.Stdout, cmd.Name())
+ defer rpt.Flush()
- noHeading, _ := cmd.Flags().GetBool("noheading")
- if noHeading {
- renderHeaders = false
+ if cmd.Flags().Changed("format") {
+ rpt, err = rpt.Parse(report.OriginUser, psInput.Format)
+ } else {
+ rpt, err = rpt.Parse(report.OriginPodman, podPsFormat())
}
-
- tmpl, err := report.NewTemplate("list").Parse(format)
if err != nil {
return err
}
- w, err := report.NewWriterDefault(os.Stdout)
- if err != nil {
- return err
+ renderHeaders := true
+ if noHeading, _ := cmd.Flags().GetBool("noheading"); noHeading {
+ renderHeaders = false
}
- defer w.Flush()
- if renderHeaders {
- if err := tmpl.Execute(w, headers); err != nil {
+ if renderHeaders && rpt.RenderHeaders {
+ headers := report.Headers(ListPodReporter{}, map[string]string{
+ "Id": "POD ID",
+ "Name": "NAME",
+ "Status": "STATUS",
+ "Labels": "LABELS",
+ "NumberOfContainers": "# OF CONTAINERS",
+ "Created": "CREATED",
+ "InfraID": "INFRA ID",
+ "ContainerIds": "IDS",
+ "ContainerNames": "NAMES",
+ "ContainerStatuses": "STATUS",
+ "Cgroup": "CGROUP",
+ "Namespace": "NAMESPACES",
+ })
+
+ if err := rpt.Execute(headers); err != nil {
return err
}
}
- return tmpl.Execute(w, lpr)
+ return rpt.Execute(lpr)
}
func podPsFormat() string {
@@ -184,7 +177,7 @@ func podPsFormat() string {
if !psInput.CtrStatus && !psInput.CtrNames && !psInput.CtrIds {
row = append(row, "{{.NumberOfContainers}}")
}
- return strings.Join(row, "\t") + "\n"
+ return "{{range . }}" + strings.Join(row, "\t") + "\n" + "{{end -}}"
}
// ListPodReporter is a struct for pod ps output
diff --git a/cmd/podman/pods/stats.go b/cmd/podman/pods/stats.go
index a7bba3064..fbb9e0b52 100644
--- a/cmd/podman/pods/stats.go
+++ b/cmd/podman/pods/stats.go
@@ -67,15 +67,22 @@ func stats(cmd *cobra.Command, args []string) error {
return err
}
- doJSON := report.IsJSON(cmd.Flag("format").Value.String())
- headers := report.Headers(entities.PodStatsReport{}, map[string]string{
- "CPU": "CPU %",
- "MemUsage": "MEM USAGE/ LIMIT",
- "MemUsageBytes": "MEM USAGE/ LIMIT",
- "MEM": "MEM %",
- "NET IO": "NET IO",
- "BlockIO": "BLOCK IO",
- })
+ rpt := report.New(os.Stdout, cmd.Name())
+ defer rpt.Flush()
+
+ var err error
+ doJSON := report.IsJSON(statsOptions.Format)
+ if !doJSON {
+ if cmd.Flags().Changed("format") {
+ rpt, err = rpt.Parse(report.OriginUser, statsOptions.Format)
+ if err != nil {
+ return err
+ }
+ } else {
+ rpt = rpt.Init(os.Stdout, 12, 2, 2, ' ', 0)
+ rpt.Origin = report.OriginPodman
+ }
+ }
for ; ; time.Sleep(time.Second) {
reports, err := registry.ContainerEngine().PodStats(context.Background(), args, statsOptions.PodStatsOptions)
@@ -84,30 +91,26 @@ func stats(cmd *cobra.Command, args []string) error {
}
// Print the stats in the requested format and configuration.
if doJSON {
- if err := printJSONPodStats(reports); err != nil {
- return err
- }
+ err = printJSONPodStats(reports)
} else {
if !statsOptions.NoReset {
goterm.Clear()
goterm.MoveCursor(1, 1)
goterm.Flush()
}
- if cmd.Flags().Changed("format") {
- row := report.NormalizeFormat(statsOptions.Format)
- row = report.EnforceRange(row)
- if err := printFormattedPodStatsLines(headers, row, reports); err != nil {
- return err
- }
+ if report.OriginUser == rpt.Origin {
+ err = userTemplate(rpt, reports)
} else {
- printPodStatsLines(reports)
+ err = defaultTemplate(rpt, reports)
}
}
+ if err != nil {
+ return err
+ }
if statsOptions.NoStream {
break
}
}
-
return nil
}
@@ -120,42 +123,38 @@ func printJSONPodStats(stats []*entities.PodStatsReport) error {
return nil
}
-func printPodStatsLines(stats []*entities.PodStatsReport) error {
- w, err := report.NewWriterDefault(os.Stdout)
- if err != nil {
- return err
- }
-
+func defaultTemplate(rpt *report.Formatter, stats []*entities.PodStatsReport) error {
outFormat := "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n"
- fmt.Fprintf(w, outFormat, "POD", "CID", "NAME", "CPU %", "MEM USAGE/ LIMIT", "MEM %", "NET IO", "BLOCK IO", "PIDS")
+ fmt.Fprintf(rpt.Writer(), outFormat, "POD", "CID", "NAME", "CPU %", "MEM USAGE/ LIMIT", "MEM %", "NET IO", "BLOCK IO", "PIDS")
if len(stats) == 0 {
- fmt.Fprintf(w, outFormat, "--", "--", "--", "--", "--", "--", "--", "--", "--")
+ fmt.Fprintf(rpt.Writer(), outFormat, "--", "--", "--", "--", "--", "--", "--", "--", "--")
} else {
for _, i := range stats {
- fmt.Fprintf(w, outFormat, i.Pod, i.CID, i.Name, i.CPU, i.MemUsage, i.Mem, i.NetIO, i.BlockIO, i.PIDS)
+ fmt.Fprintf(rpt.Writer(), outFormat, i.Pod, i.CID, i.Name, i.CPU, i.MemUsage, i.Mem, i.NetIO, i.BlockIO, i.PIDS)
}
}
- return w.Flush()
+ return rpt.Flush()
}
-func printFormattedPodStatsLines(headerNames []map[string]string, row string, stats []*entities.PodStatsReport) error {
+func userTemplate(rpt *report.Formatter, stats []*entities.PodStatsReport) error {
if len(stats) == 0 {
return nil
}
- tmpl, err := report.NewTemplate("stats").Parse(row)
- if err != nil {
- return err
- }
+ headers := report.Headers(entities.PodStatsReport{}, map[string]string{
+ "CPU": "CPU %",
+ "MemUsage": "MEM USAGE/ LIMIT",
+ "MemUsageBytes": "MEM USAGE/ LIMIT",
+ "MEM": "MEM %",
+ "NET IO": "NET IO",
+ "BlockIO": "BLOCK IO",
+ })
- w, err := report.NewWriterDefault(os.Stdout)
- if err != nil {
+ if err := rpt.Execute(headers); err != nil {
return err
}
- defer w.Flush()
-
- if err := tmpl.Execute(w, headerNames); err != nil {
+ if err := rpt.Execute(stats); err != nil {
return err
}
- return tmpl.Execute(w, stats)
+ return rpt.Flush()
}
diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh
index 899d14c96..2c961da06 100755
--- a/contrib/cirrus/runner.sh
+++ b/contrib/cirrus/runner.sh
@@ -259,20 +259,6 @@ function _run_altbuild() {
make podman-release-${arch}.tar.gz GOARCH=$arch
done
;;
- *Static*)
- req_env_vars CTR_FQIN
- [[ "$UID" -eq 0 ]] || \
- die "Static build must execute nixos container as root on host"
- podman run -i --rm \
- -e CACHIX_AUTH_TOKEN \
- -v $PWD:$PWD:Z -w $PWD $CTR_FQIN sh -c \
- "nix-env -iA cachix -f https://cachix.org/api/v1/install && \
- cachix use podman && \
- nix-build nix && \
- nix-store -qR --include-outputs \$(nix-instantiate nix/default.nix) | grep -v podman | cachix push podman && \
- cp -R result/bin ."
- rm result # makes cirrus puke
- ;;
*)
die "Unknown/Unsupported \$$ALT_NAME '$ALT_NAME'"
esac
diff --git a/go.mod b/go.mod
index 081bf8f91..dabaaec02 100644
--- a/go.mod
+++ b/go.mod
@@ -47,7 +47,7 @@ require (
github.com/onsi/gomega v1.17.0
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.0.2-0.20211123152302-43a7dee1ec31
- github.com/opencontainers/runc v1.0.2
+ github.com/opencontainers/runc v1.0.3
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
github.com/opencontainers/runtime-tools v0.9.1-0.20211020193359-09d837bf40a7
github.com/opencontainers/selinux v1.10.0
diff --git a/go.sum b/go.sum
index 217a3295d..266fc11c4 100644
--- a/go.sum
+++ b/go.sum
@@ -771,8 +771,9 @@ github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rm
github.com/opencontainers/runc v1.0.0-rc91/go.mod h1:3Sm6Dt7OT8z88EbdQqqcRN2oCT54jbi72tT/HqgflT8=
github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0=
github.com/opencontainers/runc v1.0.1/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0=
-github.com/opencontainers/runc v1.0.2 h1:opHZMaswlyxz1OuGpBE53Dwe4/xF7EZTY0A2L/FpCOg=
github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0=
+github.com/opencontainers/runc v1.0.3 h1:1hbqejyQWCJBvtKAfdO0b1FmaEf2z/bxnjqbARass5k=
+github.com/opencontainers/runc v1.0.3/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0=
github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
diff --git a/libpod/container_internal.go b/libpod/container_internal.go
index 871c6787a..d8187c609 100644
--- a/libpod/container_internal.go
+++ b/libpod/container_internal.go
@@ -17,10 +17,10 @@ import (
"github.com/containers/buildah/copier"
"github.com/containers/buildah/pkg/overlay"
butil "github.com/containers/buildah/util"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/chown"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/events"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/ctime"
"github.com/containers/podman/v3/pkg/hooks"
"github.com/containers/podman/v3/pkg/hooks/exec"
diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go
index 956460c32..ef9f13f44 100644
--- a/libpod/container_internal_linux.go
+++ b/libpod/container_internal_linux.go
@@ -28,6 +28,7 @@ import (
"github.com/containers/buildah/pkg/overlay"
butil "github.com/containers/buildah/util"
"github.com/containers/common/pkg/apparmor"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/chown"
"github.com/containers/common/pkg/config"
"github.com/containers/common/pkg/subscriptions"
@@ -36,7 +37,6 @@ import (
"github.com/containers/podman/v3/libpod/events"
"github.com/containers/podman/v3/libpod/network/types"
"github.com/containers/podman/v3/pkg/annotations"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/checkpoint/crutils"
"github.com/containers/podman/v3/pkg/criu"
"github.com/containers/podman/v3/pkg/lookup"
@@ -2784,7 +2784,7 @@ func (c *Container) fixVolumePermissions(v *ContainerNamedVolume) error {
return err
}
}
- if err := os.Chmod(mountPoint, st.Mode()|0111); err != nil {
+ if err := os.Chmod(mountPoint, st.Mode()); err != nil {
return err
}
stat := st.Sys().(*syscall.Stat_t)
diff --git a/libpod/info.go b/libpod/info.go
index a1db5763a..354364ccc 100644
--- a/libpod/info.go
+++ b/libpod/info.go
@@ -14,11 +14,11 @@ import (
"github.com/containers/buildah"
"github.com/containers/common/pkg/apparmor"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/seccomp"
"github.com/containers/image/v5/pkg/sysregistriesv2"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/linkmode"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/storage"
"github.com/containers/storage/pkg/system"
diff --git a/libpod/oci_conmon_linux.go b/libpod/oci_conmon_linux.go
index a83f166a3..5446a8f8a 100644
--- a/libpod/oci_conmon_linux.go
+++ b/libpod/oci_conmon_linux.go
@@ -22,11 +22,11 @@ import (
"text/template"
"time"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
conmonConfig "github.com/containers/conmon/runner/config"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/logs"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/checkpoint/crutils"
"github.com/containers/podman/v3/pkg/errorhandling"
"github.com/containers/podman/v3/pkg/rootless"
diff --git a/libpod/pod_api.go b/libpod/pod_api.go
index feb8ff250..80ecb690a 100644
--- a/libpod/pod_api.go
+++ b/libpod/pod_api.go
@@ -3,9 +3,9 @@ package libpod
import (
"context"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/events"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/parallel"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/pkg/errors"
diff --git a/libpod/runtime.go b/libpod/runtime.go
index 1a22cd09a..9794b3605 100644
--- a/libpod/runtime.go
+++ b/libpod/runtime.go
@@ -19,6 +19,7 @@ import (
"github.com/containers/buildah/pkg/parse"
"github.com/containers/common/libimage"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
"github.com/containers/common/pkg/secrets"
"github.com/containers/image/v5/pkg/sysregistriesv2"
@@ -32,7 +33,6 @@ import (
nettypes "github.com/containers/podman/v3/libpod/network/types"
"github.com/containers/podman/v3/libpod/plugin"
"github.com/containers/podman/v3/libpod/shutdown"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/podman/v3/pkg/systemd"
"github.com/containers/podman/v3/pkg/util"
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go
index 05f22c1fe..6c46eb747 100644
--- a/libpod/runtime_ctr.go
+++ b/libpod/runtime_ctr.go
@@ -9,11 +9,11 @@ import (
"time"
"github.com/containers/buildah"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/events"
"github.com/containers/podman/v3/libpod/shutdown"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities/reports"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/podman/v3/pkg/specgen"
diff --git a/libpod/runtime_pod_linux.go b/libpod/runtime_pod_linux.go
index 15050ef48..ee59cd8c3 100644
--- a/libpod/runtime_pod_linux.go
+++ b/libpod/runtime_pod_linux.go
@@ -9,10 +9,10 @@ import (
"path/filepath"
"strings"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/events"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/podman/v3/pkg/specgen"
spec "github.com/opencontainers/runtime-spec/specs-go"
diff --git a/libpod/stats.go b/libpod/stats.go
index cc1250e83..879ae7207 100644
--- a/libpod/stats.go
+++ b/libpod/stats.go
@@ -8,8 +8,8 @@ import (
"syscall"
"time"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod/define"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/pkg/errors"
)
diff --git a/libpod/util_linux.go b/libpod/util_linux.go
index e2ea97185..ef871ef3d 100644
--- a/libpod/util_linux.go
+++ b/libpod/util_linux.go
@@ -7,8 +7,8 @@ import (
"strings"
"syscall"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod/define"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/opencontainers/selinux/go-selinux/label"
"github.com/pkg/errors"
diff --git a/pkg/api/handlers/compat/containers_stats.go b/pkg/api/handlers/compat/containers_stats.go
index 0051e7235..a92fe9fe0 100644
--- a/pkg/api/handlers/compat/containers_stats.go
+++ b/pkg/api/handlers/compat/containers_stats.go
@@ -5,11 +5,11 @@ import (
"net/http"
"time"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/pkg/api/handlers/utils"
api "github.com/containers/podman/v3/pkg/api/types"
- "github.com/containers/podman/v3/pkg/cgroups"
docker "github.com/docker/docker/api/types"
"github.com/gorilla/schema"
"github.com/pkg/errors"
diff --git a/pkg/api/handlers/libpod/containers_stats.go b/pkg/api/handlers/libpod/containers_stats.go
index 084f1252d..016214aa2 100644
--- a/pkg/api/handlers/libpod/containers_stats.go
+++ b/pkg/api/handlers/libpod/containers_stats.go
@@ -4,10 +4,10 @@ import (
"encoding/json"
"net/http"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod"
"github.com/containers/podman/v3/pkg/api/handlers/utils"
api "github.com/containers/podman/v3/pkg/api/types"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/domain/infra/abi"
"github.com/containers/podman/v3/pkg/rootless"
diff --git a/pkg/cgroups/cgroups_test.go b/pkg/cgroups/cgroups_test.go
deleted file mode 100644
index 22d5efb76..000000000
--- a/pkg/cgroups/cgroups_test.go
+++ /dev/null
@@ -1,32 +0,0 @@
-package cgroups
-
-import (
- "testing"
-
- "github.com/containers/podman/v3/pkg/rootless"
- spec "github.com/opencontainers/runtime-spec/specs-go"
-)
-
-func TestCreated(t *testing.T) {
- // tests only works in rootless mode
- if rootless.IsRootless() {
- return
- }
-
- var resources spec.LinuxResources
- cgr, err := New("machine.slice", &resources)
- if err != nil {
- t.Error(err)
- }
- if err := cgr.Delete(); err != nil {
- t.Error(err)
- }
-
- cgr, err = NewSystemd("machine.slice")
- if err != nil {
- t.Error(err)
- }
- if err := cgr.Delete(); err != nil {
- t.Error(err)
- }
-}
diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go
index 631eb3a43..d1af4a479 100644
--- a/pkg/domain/infra/abi/containers.go
+++ b/pkg/domain/infra/abi/containers.go
@@ -10,13 +10,13 @@ import (
"time"
"github.com/containers/buildah"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
"github.com/containers/image/v5/manifest"
"github.com/containers/podman/v3/libpod"
"github.com/containers/podman/v3/libpod/define"
"github.com/containers/podman/v3/libpod/events"
"github.com/containers/podman/v3/libpod/logs"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/checkpoint"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/domain/entities/reports"
diff --git a/pkg/domain/infra/abi/pods_stats.go b/pkg/domain/infra/abi/pods_stats.go
index abb15bd1f..70f953fd4 100644
--- a/pkg/domain/infra/abi/pods_stats.go
+++ b/pkg/domain/infra/abi/pods_stats.go
@@ -4,8 +4,8 @@ import (
"context"
"fmt"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/podman/v3/utils"
diff --git a/pkg/domain/infra/abi/system.go b/pkg/domain/infra/abi/system.go
index e6c9d850b..02b4181f5 100644
--- a/pkg/domain/infra/abi/system.go
+++ b/pkg/domain/infra/abi/system.go
@@ -8,9 +8,9 @@ import (
"os/exec"
"path/filepath"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v3/libpod/define"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/domain/entities/reports"
"github.com/containers/podman/v3/pkg/rootless"
diff --git a/pkg/domain/infra/runtime_libpod.go b/pkg/domain/infra/runtime_libpod.go
index 90eb6abeb..b307d04b3 100644
--- a/pkg/domain/infra/runtime_libpod.go
+++ b/pkg/domain/infra/runtime_libpod.go
@@ -9,9 +9,9 @@ import (
"os/signal"
"sync"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/cmd/podman/utils"
"github.com/containers/podman/v3/libpod"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/domain/entities"
"github.com/containers/podman/v3/pkg/namespaces"
"github.com/containers/podman/v3/pkg/rootless"
diff --git a/pkg/specgen/generate/oci.go b/pkg/specgen/generate/oci.go
index df5788099..9f8807915 100644
--- a/pkg/specgen/generate/oci.go
+++ b/pkg/specgen/generate/oci.go
@@ -6,10 +6,10 @@ import (
"strings"
"github.com/containers/common/libimage"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/config"
"github.com/containers/podman/v3/libpod"
"github.com/containers/podman/v3/libpod/define"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/podman/v3/pkg/specgen"
spec "github.com/opencontainers/runtime-spec/specs-go"
diff --git a/pkg/specgen/generate/validate.go b/pkg/specgen/generate/validate.go
index b0d84825e..a44bf9979 100644
--- a/pkg/specgen/generate/validate.go
+++ b/pkg/specgen/generate/validate.go
@@ -4,8 +4,8 @@ import (
"os"
"path/filepath"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/common/pkg/sysinfo"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/specgen"
"github.com/containers/podman/v3/utils"
"github.com/pkg/errors"
diff --git a/pkg/specgen/namespaces.go b/pkg/specgen/namespaces.go
index 2f4c48811..bb5385ef1 100644
--- a/pkg/specgen/namespaces.go
+++ b/pkg/specgen/namespaces.go
@@ -5,7 +5,7 @@ import (
"os"
"strings"
- "github.com/containers/podman/v3/pkg/cgroups"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
"github.com/containers/podman/v3/pkg/util"
"github.com/containers/storage"
diff --git a/test/e2e/common_test.go b/test/e2e/common_test.go
index a411a860b..6e1a62b99 100644
--- a/test/e2e/common_test.go
+++ b/test/e2e/common_test.go
@@ -15,8 +15,8 @@ import (
"testing"
"time"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod/define"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/podman/v3/pkg/inspect"
"github.com/containers/podman/v3/pkg/rootless"
. "github.com/containers/podman/v3/test/utils"
diff --git a/test/e2e/import_test.go b/test/e2e/import_test.go
index e1c89753e..87aa7d438 100644
--- a/test/e2e/import_test.go
+++ b/test/e2e/import_test.go
@@ -155,7 +155,7 @@ var _ = Describe("Podman import", func() {
})
It("podman import with signature", func() {
- SkipIfRemote("FIXME: remote ignores --signature-policy, #12357")
+ SkipIfRemote("--signature-policy N/A for remote")
outfile := filepath.Join(podmanTest.TempDir, "container.tar")
_, ec, cid := podmanTest.RunLsContainer("")
diff --git a/test/e2e/run_entrypoint_test.go b/test/e2e/run_entrypoint_test.go
index 23c343332..e91e75adf 100644
--- a/test/e2e/run_entrypoint_test.go
+++ b/test/e2e/run_entrypoint_test.go
@@ -103,7 +103,7 @@ ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
})
It("podman run user entrypoint overrides image entrypoint and image cmd", func() {
- SkipIfRemote("FIXME: podman-remote not handling passing --entrypoint=\"\" flag correctly")
+ SkipIfRemote("#12521: podman-remote not handling passing empty --entrypoint")
dockerfile := `FROM quay.io/libpod/alpine:latest
CMD ["-i"]
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
diff --git a/test/e2e/run_networking_test.go b/test/e2e/run_networking_test.go
index 00db9b727..42fdefabf 100644
--- a/test/e2e/run_networking_test.go
+++ b/test/e2e/run_networking_test.go
@@ -514,9 +514,9 @@ EXPOSE 2004-2005/tcp`, ALPINE)
})
It("podman run network expose duplicate host port results in error", func() {
- SkipIfRootless("FIXME we should be able to run this test in rootless mode with different ports")
+ port := "8190" // Make sure this isn't used anywhere else
- session := podmanTest.Podman([]string{"run", "--name", "test", "-dt", "-p", "80", ALPINE, "/bin/sh"})
+ session := podmanTest.Podman([]string{"run", "--name", "test", "-dt", "-p", port, ALPINE, "/bin/sh"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
@@ -526,8 +526,8 @@ EXPOSE 2004-2005/tcp`, ALPINE)
containerConfig := inspect.InspectContainerToJSON()
Expect(containerConfig[0].NetworkSettings.Ports).To(Not(BeNil()))
- Expect(containerConfig[0].NetworkSettings.Ports).To(HaveKeyWithValue("80/tcp", Not(BeNil())))
- Expect(containerConfig[0].NetworkSettings.Ports["80/tcp"][0].HostPort).ToNot(Equal(80))
+ Expect(containerConfig[0].NetworkSettings.Ports).To(HaveKeyWithValue(port+"/tcp", Not(BeNil())))
+ Expect(containerConfig[0].NetworkSettings.Ports[port+"/tcp"][0].HostPort).ToNot(Equal(port))
})
It("podman run forward sctp protocol", func() {
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index f063c79e9..8db23080e 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -12,7 +12,7 @@ import (
"syscall"
"time"
- "github.com/containers/podman/v3/pkg/cgroups"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
. "github.com/containers/podman/v3/test/utils"
"github.com/containers/storage/pkg/stringid"
diff --git a/test/e2e/run_volume_test.go b/test/e2e/run_volume_test.go
index 3d05e0f70..c2817c551 100644
--- a/test/e2e/run_volume_test.go
+++ b/test/e2e/run_volume_test.go
@@ -762,6 +762,18 @@ USER testuser`, fedoraMinimal)
})
+ It("podman run with named volume check if we honor permission of target dir", func() {
+ session := podmanTest.Podman([]string{"run", "--rm", ALPINE, "stat", "-c", "%a %Y", "/var/tmp"})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+ perms := session.OutputToString()
+
+ session = podmanTest.Podman([]string{"run", "--rm", "-v", "test:/var/tmp", ALPINE, "stat", "-c", "%a %Y", "/var/tmp"})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+ Expect(session.OutputToString()).To(Equal(perms))
+ })
+
It("podman volume with uid and gid works", func() {
volName := "testVol"
volCreate := podmanTest.Podman([]string{"volume", "create", "--opt", "o=uid=1000", volName})
diff --git a/test/e2e/system_service_test.go b/test/e2e/system_service_test.go
index 9a4d687c3..922a8c423 100644
--- a/test/e2e/system_service_test.go
+++ b/test/e2e/system_service_test.go
@@ -45,8 +45,6 @@ var _ = Describe("podman system service", func() {
defer session.Kill()
WaitForService(address)
-
- session.Wait(5 * time.Second)
Eventually(session, 5).Should(Exit(0))
})
})
@@ -91,7 +89,7 @@ var _ = Describe("podman system service", func() {
Expect(body).ShouldNot(BeEmpty())
session.Interrupt().Wait(2 * time.Second)
- Eventually(session).Should(Exit(1))
+ Eventually(session, 5).Should(Exit(1))
})
It("are not available", func() {
@@ -113,7 +111,7 @@ var _ = Describe("podman system service", func() {
Expect(session.Err.Contents()).ShouldNot(ContainSubstring(magicComment))
session.Interrupt().Wait(2 * time.Second)
- Eventually(session).Should(Exit(1))
+ Eventually(session, 5).Should(Exit(1))
})
})
})
diff --git a/test/system/035-logs.bats b/test/system/035-logs.bats
index 44984eaad..3caf97a22 100644
--- a/test/system/035-logs.bats
+++ b/test/system/035-logs.bats
@@ -91,6 +91,10 @@ ${cid[0]} d" "Sequential output from logs"
function _log_test_restarted() {
run_podman run --log-driver=$1 --name logtest $IMAGE sh -c 'start=0; if test -s log; then start=`tail -n 1 log`; fi; seq `expr $start + 1` `expr $start + 10` | tee -a log'
+ # FIXME: #9597
+ # run/start is flaking for remote so let's wait for the container condition
+ # to stop wasting energy until the root cause gets fixed.
+ run_podman container wait --condition=exited logtest
run_podman start -a logtest
logfile=$(mktemp -p ${PODMAN_TMPDIR} logfileXXXXXXXX)
$PODMAN $_PODMAN_TEST_OPTS logs -f logtest > $logfile
diff --git a/test/system/600-completion.bats b/test/system/600-completion.bats
index f580fc2fe..9fdd42332 100644
--- a/test/system/600-completion.bats
+++ b/test/system/600-completion.bats
@@ -309,7 +309,7 @@ function _check_completion_end() {
# Clean up the pod pause image
run_podman image list --format '{{.ID}} {{.Repository}}'
while read id name; do
- if [[ "$name" =~ /pause ]]; then
+ if [[ "$name" =~ /podman-pause ]]; then
run_podman rmi $id
fi
done <<<"$output"
diff --git a/utils/utils.go b/utils/utils.go
index 80eed7536..095370a08 100644
--- a/utils/utils.go
+++ b/utils/utils.go
@@ -12,8 +12,8 @@ import (
"strings"
"sync"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/libpod/define"
- "github.com/containers/podman/v3/pkg/cgroups"
"github.com/containers/storage/pkg/archive"
"github.com/godbus/dbus/v5"
"github.com/pkg/errors"
diff --git a/utils/utils_supported.go b/utils/utils_supported.go
index 0f0c9a9ba..be200509b 100644
--- a/utils/utils_supported.go
+++ b/utils/utils_supported.go
@@ -11,7 +11,7 @@ import (
"path/filepath"
"strings"
- "github.com/containers/podman/v3/pkg/cgroups"
+ "github.com/containers/common/pkg/cgroups"
"github.com/containers/podman/v3/pkg/rootless"
systemdDbus "github.com/coreos/go-systemd/v22/dbus"
"github.com/godbus/dbus/v5"
diff --git a/pkg/cgroups/blkio.go b/vendor/github.com/containers/common/pkg/cgroups/blkio.go
index bacd4eb93..bacd4eb93 100644
--- a/pkg/cgroups/blkio.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/blkio.go
diff --git a/pkg/cgroups/cgroups.go b/vendor/github.com/containers/common/pkg/cgroups/cgroups.go
index d0c090012..d0bcd8bfd 100644
--- a/pkg/cgroups/cgroups.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/cgroups.go
@@ -3,6 +3,7 @@ package cgroups
import (
"bufio"
"bytes"
+ "context"
"fmt"
"io/ioutil"
"math"
@@ -11,7 +12,7 @@ import (
"strconv"
"strings"
- "github.com/containers/podman/v3/pkg/rootless"
+ "github.com/containers/storage/pkg/unshare"
systemdDbus "github.com/coreos/go-systemd/v22/dbus"
"github.com/godbus/dbus/v5"
spec "github.com/opencontainers/runtime-spec/specs-go"
@@ -131,12 +132,12 @@ func getAvailableControllers(exclude map[string]controllerHandler, cgroup2 bool)
controllers := []controller{}
controllersFile := cgroupRoot + "/cgroup.controllers"
// rootless cgroupv2: check available controllers for current user, systemd or servicescope will inherit
- if rootless.IsRootless() {
+ if unshare.IsRootless() {
userSlice, err := getCgroupPathForCurrentProcess()
if err != nil {
return controllers, err
}
- //userSlice already contains '/' so not adding here
+ // userSlice already contains '/' so not adding here
basePath := cgroupRoot + userSlice
controllersFile = fmt.Sprintf("%s/cgroup.controllers", basePath)
}
@@ -157,7 +158,7 @@ func getAvailableControllers(exclude map[string]controllerHandler, cgroup2 bool)
subsystems, _ := cgroupV1GetAllSubsystems()
controllers := []controller{}
// cgroupv1 and rootless: No subsystem is available: delegation is unsafe.
- if rootless.IsRootless() {
+ if unshare.IsRootless() {
return controllers, nil
}
@@ -435,7 +436,7 @@ func Load(path string) (*CgroupControl, error) {
// if there is no controller at all, raise an error
if !oneExists {
- if rootless.IsRootless() {
+ if unshare.IsRootless() {
return nil, ErrCgroupV1Rootless
}
// compatible with the error code
@@ -452,7 +453,7 @@ func (c *CgroupControl) CreateSystemdUnit(path string) error {
return fmt.Errorf("the cgroup controller is not using systemd")
}
- conn, err := systemdDbus.New()
+ conn, err := systemdDbus.NewWithContext(context.TODO())
if err != nil {
return err
}
@@ -461,10 +462,10 @@ func (c *CgroupControl) CreateSystemdUnit(path string) error {
return systemdCreate(path, conn)
}
-// GetUserConnection returns a user connection to D-BUS
+// GetUserConnection returns an user connection to D-BUS
func GetUserConnection(uid int) (*systemdDbus.Conn, error) {
return systemdDbus.NewConnection(func() (*dbus.Conn, error) {
- return dbusAuthConnection(uid, dbus.SessionBusPrivateNoAutoStartup)
+ return dbusAuthConnection(uid, dbus.SessionBusPrivate)
})
}
@@ -565,7 +566,7 @@ func (c *CgroupControl) DeleteByPathConn(path string, conn *systemdDbus.Conn) er
// DeleteByPath deletes the specified cgroup path
func (c *CgroupControl) DeleteByPath(path string) error {
if c.systemd {
- conn, err := systemdDbus.New()
+ conn, err := systemdDbus.NewWithContext(context.TODO())
if err != nil {
return err
}
diff --git a/pkg/cgroups/cgroups_supported.go b/vendor/github.com/containers/common/pkg/cgroups/cgroups_supported.go
index fe17db7f7..fe17db7f7 100644
--- a/pkg/cgroups/cgroups_supported.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/cgroups_supported.go
diff --git a/pkg/cgroups/cgroups_unsupported.go b/vendor/github.com/containers/common/pkg/cgroups/cgroups_unsupported.go
index cd140fbf3..cd140fbf3 100644
--- a/pkg/cgroups/cgroups_unsupported.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/cgroups_unsupported.go
diff --git a/pkg/cgroups/cpu.go b/vendor/github.com/containers/common/pkg/cgroups/cpu.go
index 23539757d..23539757d 100644
--- a/pkg/cgroups/cpu.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/cpu.go
diff --git a/pkg/cgroups/cpuset.go b/vendor/github.com/containers/common/pkg/cgroups/cpuset.go
index 46d0484f2..22ac0a079 100644
--- a/pkg/cgroups/cpuset.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/cpuset.go
@@ -26,7 +26,7 @@ func cpusetCopyFileFromParent(dir, file string, cgroupv2 bool) ([]byte, error) {
if err != nil {
return nil, errors.Wrapf(err, "open %s", path)
}
- if len(strings.Trim(string(data), "\n")) != 0 {
+ if strings.Trim(string(data), "\n") != "" {
return data, nil
}
data, err = cpusetCopyFileFromParent(filepath.Dir(dir), file, cgroupv2)
diff --git a/pkg/cgroups/memory.go b/vendor/github.com/containers/common/pkg/cgroups/memory.go
index b3991f7e3..b3991f7e3 100644
--- a/pkg/cgroups/memory.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/memory.go
diff --git a/pkg/cgroups/pids.go b/vendor/github.com/containers/common/pkg/cgroups/pids.go
index b2bfebe4d..b2bfebe4d 100644
--- a/pkg/cgroups/pids.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/pids.go
diff --git a/pkg/cgroups/systemd.go b/vendor/github.com/containers/common/pkg/cgroups/systemd.go
index f26988c5a..92065a2d7 100644
--- a/pkg/cgroups/systemd.go
+++ b/vendor/github.com/containers/common/pkg/cgroups/systemd.go
@@ -1,6 +1,7 @@
package cgroups
import (
+ "context"
"fmt"
"path/filepath"
"strings"
@@ -37,7 +38,7 @@ func systemdCreate(path string, c *systemdDbus.Conn) error {
}
ch := make(chan string)
- _, err := c.StartTransientUnit(name, "replace", properties, ch)
+ _, err := c.StartTransientUnitContext(context.TODO(), name, "replace", properties, ch)
if err != nil {
lastError = err
continue
@@ -70,7 +71,7 @@ func systemdDestroyConn(path string, c *systemdDbus.Conn) error {
name := filepath.Base(path)
ch := make(chan string)
- _, err := c.StopUnit(name, "replace", ch)
+ _, err := c.StopUnitContext(context.TODO(), name, "replace", ch)
if err != nil {
return err
}
diff --git a/vendor/modules.txt b/vendor/modules.txt
index df8cf40c8..b5cc6083c 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -114,6 +114,7 @@ github.com/containers/common/pkg/apparmor
github.com/containers/common/pkg/apparmor/internal/supported
github.com/containers/common/pkg/auth
github.com/containers/common/pkg/capabilities
+github.com/containers/common/pkg/cgroups
github.com/containers/common/pkg/cgroupv2
github.com/containers/common/pkg/chown
github.com/containers/common/pkg/completion
@@ -549,7 +550,7 @@ github.com/opencontainers/go-digest
## explicit
github.com/opencontainers/image-spec/specs-go
github.com/opencontainers/image-spec/specs-go/v1
-# github.com/opencontainers/runc v1.0.2
+# github.com/opencontainers/runc v1.0.3
## explicit
github.com/opencontainers/runc/libcontainer/apparmor
github.com/opencontainers/runc/libcontainer/cgroups