Skip to content

Commit 35e709d

Browse files
committed
podman6: Remove cgroupsv1 support
Signed-off-by: Lokesh Mandvekar <[email protected]>
1 parent 08c670b commit 35e709d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+348
-1785
lines changed

cmd/podman/containers/unpause.go

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package containers
22

33
import (
44
"context"
5-
"errors"
65
"fmt"
76
"os"
87
"strings"
@@ -12,9 +11,7 @@ import (
1211
"github.com/containers/podman/v5/cmd/podman/utils"
1312
"github.com/containers/podman/v5/cmd/podman/validate"
1413
"github.com/containers/podman/v5/pkg/domain/entities"
15-
"github.com/containers/podman/v5/pkg/rootless"
1614
"github.com/spf13/cobra"
17-
"go.podman.io/common/pkg/cgroups"
1815
"go.podman.io/common/pkg/completion"
1916
)
2017

@@ -88,18 +85,9 @@ func init() {
8885
}
8986

9087
func unpause(_ *cobra.Command, args []string) error {
91-
var (
92-
errs utils.OutputErrors
93-
)
88+
var errs utils.OutputErrors
9489
args = utils.RemoveSlash(args)
9590

96-
if rootless.IsRootless() && !registry.IsRemote() {
97-
cgroupv2, _ := cgroups.IsCgroup2UnifiedMode()
98-
if !cgroupv2 {
99-
return errors.New("unpause is not supported for cgroupv1 rootless containers")
100-
}
101-
}
102-
10391
for _, cidFile := range unpauseCidFiles {
10492
content, err := os.ReadFile(cidFile)
10593
if err != nil {

cmd/podman/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ func main() {
5353
}
5454
logiface.SetLogger(logrusLogger{})
5555

56+
checkSupportedCgroups()
57+
5658
if filepath.Base(os.Args[0]) == registry.PodmanSh ||
5759
(len(os.Args[0]) > 0 && filepath.Base(os.Args[0][1:]) == registry.PodmanSh) {
5860
shell := strings.TrimPrefix(os.Args[0], "-")

cmd/podman/main_linux.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//go:build linux
2+
3+
package main
4+
5+
import (
6+
"github.com/sirupsen/logrus"
7+
"go.podman.io/common/pkg/cgroups"
8+
)
9+
10+
func checkSupportedCgroups() {
11+
unified, err := cgroups.IsCgroup2UnifiedMode()
12+
if err != nil {
13+
logrus.Fatalf("Error determining cgroups mode")
14+
}
15+
if !unified {
16+
logrus.Fatalf("Cgroups v1 not supported")
17+
}
18+
}

cmd/podman/main_non_linux.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
//go:build windows || darwin || freebsd
2+
3+
package main
4+
5+
import (
6+
"github.com/sirupsen/logrus"
7+
"go.podman.io/common/pkg/cgroups"
8+
)
9+
10+
func checkSupportedCgroups() {
11+
unified, _ := cgroups.IsCgroup2UnifiedMode()
12+
if !unified {
13+
logrus.Debugln("Non-linux environment. Non-fatal cgroups check")
14+
}
15+
}

go.mod

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ require (
5555
github.com/opencontainers/runtime-spec v1.2.1
5656
github.com/opencontainers/runtime-tools v0.9.1-0.20250523060157-0ea5ed0382a2
5757
github.com/opencontainers/selinux v1.12.0
58-
github.com/openshift/imagebuilder v1.2.16-0.20250828154754-e22ebd3ff511
58+
github.com/openshift/imagebuilder v1.2.17
5959
github.com/rootless-containers/rootlesskit/v2 v2.3.5
6060
github.com/shirou/gopsutil/v4 v4.25.9
6161
github.com/sirupsen/logrus v1.9.3
@@ -66,8 +66,8 @@ require (
6666
github.com/vishvananda/netlink v1.3.1
6767
go.etcd.io/bbolt v1.4.3
6868
go.podman.io/common v0.65.1-0.20251016162239-c4c5e00ad22d
69-
go.podman.io/image/v5 v5.37.1-0.20251016133615-aa970d2c7532
70-
go.podman.io/storage v1.60.1-0.20251016133615-aa970d2c7532
69+
go.podman.io/image/v5 v5.38.0
70+
go.podman.io/storage v1.61.0
7171
golang.org/x/crypto v0.43.0
7272
golang.org/x/net v0.45.0
7373
golang.org/x/sync v0.17.0
@@ -98,7 +98,7 @@ require (
9898
github.com/containernetworking/cni v1.3.0 // indirect
9999
github.com/containers/common v0.62.2 // indirect
100100
github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 // indirect
101-
github.com/containers/luksy v0.0.0-20250714213221-8fccf784694e // indirect
101+
github.com/containers/luksy v0.0.0-20250910190358-2cf5bc928957 // indirect
102102
github.com/coreos/go-oidc/v3 v3.14.1 // indirect
103103
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f // indirect
104104
github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 // indirect
@@ -110,7 +110,7 @@ require (
110110
github.com/ebitengine/purego v0.9.0 // indirect
111111
github.com/felixge/httpsnoop v1.0.4 // indirect
112112
github.com/fsnotify/fsnotify v1.9.0 // indirect
113-
github.com/fsouza/go-dockerclient v1.12.1 // indirect
113+
github.com/fsouza/go-dockerclient v1.12.2 // indirect
114114
github.com/go-jose/go-jose/v4 v4.0.5 // indirect
115115
github.com/go-logr/logr v1.4.3 // indirect
116116
github.com/go-logr/stdr v1.2.2 // indirect
@@ -136,7 +136,7 @@ require (
136136
github.com/mdlayher/socket v0.5.1 // indirect
137137
github.com/miekg/pkcs11 v1.1.1 // indirect
138138
github.com/mistifyio/go-zfs/v3 v3.1.0 // indirect
139-
github.com/moby/buildkit v0.23.2 // indirect
139+
github.com/moby/buildkit v0.25.1 // indirect
140140
github.com/moby/go-archive v0.1.0 // indirect
141141
github.com/moby/patternmatcher v0.6.0 // indirect
142142
github.com/moby/sys/mountinfo v0.7.2 // indirect
@@ -192,3 +192,7 @@ require (
192192
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
193193
tags.cncf.io/container-device-interface/specs-go v1.0.0 // indirect
194194
)
195+
196+
replace go.podman.io/common => github.com/lsm5/container-libs/common v0.0.0-20251017191154-e63ca540eafe
197+
198+
replace github.com/containers/buildah => github.com/lsm5/buildah v0.0.0-20251017145416-1c35ea0ae809

go.sum

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,6 @@ github.com/containernetworking/cni v1.3.0 h1:v6EpN8RznAZj9765HhXQrtXgX+ECGebEYEm
5555
github.com/containernetworking/cni v1.3.0/go.mod h1:Bs8glZjjFfGPHMw6hQu82RUgEPNGEaBb9KS5KtNMnJ4=
5656
github.com/containernetworking/plugins v1.8.0 h1:WjGbV/0UQyo8A4qBsAh6GaDAtu1hevxVxsEuqtBqUFk=
5757
github.com/containernetworking/plugins v1.8.0/go.mod h1:JG3BxoJifxxHBhG3hFyxyhid7JgRVBu/wtooGEvWf1c=
58-
github.com/containers/buildah v1.41.1-0.20250829135344-3367a9bc2c9f h1:t2zdi9mHtJoGmRMXa3i+oD/7xlYHIgoA+/Jtd0Ysf6c=
59-
github.com/containers/buildah v1.41.1-0.20250829135344-3367a9bc2c9f/go.mod h1:LtwfkfBed4dUOFTcBG+O+9Vcu5znw/PLYWDJ1mieHic=
6058
github.com/containers/common v0.62.2 h1:xO45OOoeq17EZMIDZoSyRqg7GXGcRHa9sXlrr75zH+U=
6159
github.com/containers/common v0.62.2/go.mod h1:veFiR9iq2j3CHXtB4YnPHuOkSRdhIQ3bAY8AFMP/5bE=
6260
github.com/containers/conmon v2.0.20+incompatible h1:YbCVSFSCqFjjVwHTPINGdMX1F6JXHGTUje2ZYobNrkg=
@@ -67,8 +65,8 @@ github.com/containers/libhvee v0.10.1-0.20250829163521-178d10e67860 h1:YOhl3KCie
6765
github.com/containers/libhvee v0.10.1-0.20250829163521-178d10e67860/go.mod h1:/A6jL8HXzYB4aUQEjlyYImaQTgSw2jYZunSVCwqgaCI=
6866
github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 h1:Qzk5C6cYglewc+UyGf6lc8Mj2UaPTHy/iF2De0/77CA=
6967
github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY=
70-
github.com/containers/luksy v0.0.0-20250714213221-8fccf784694e h1:nrNp2M6tTNGvLVrJpgqge9GwHgsWBGp2HBKg84BdVd8=
71-
github.com/containers/luksy v0.0.0-20250714213221-8fccf784694e/go.mod h1:kPe8hxQEh1x1Uojxjr//MKkxK5x11sxDoY6rW905OL0=
68+
github.com/containers/luksy v0.0.0-20250910190358-2cf5bc928957 h1:WxixhZ0typ8o668V0V7RVCZb3lNs58UF42RbwlQ4vdE=
69+
github.com/containers/luksy v0.0.0-20250910190358-2cf5bc928957/go.mod h1:fGPsLPRi1etbHfe5o6sdx6ajsW810tI43uyF6ugmP/o=
7270
github.com/containers/ocicrypt v1.2.1 h1:0qIOTT9DoYwcKmxSt8QJt+VzMY18onl9jUXsxpVhSmM=
7371
github.com/containers/ocicrypt v1.2.1/go.mod h1:aD0AAqfMp0MtwqWgHM1bUwe1anx0VazI108CRrSKINQ=
7472
github.com/containers/psgo v1.9.1-0.20250826150930-4ae76f200c86 h1:bYj0TVlkRZtMJYd6SbFOi1gjUJDJmVsYCpJla3URD7Y=
@@ -129,8 +127,8 @@ github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSw
129127
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
130128
github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k=
131129
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
132-
github.com/fsouza/go-dockerclient v1.12.1 h1:FMoLq+Zhv9Oz/rFmu6JWkImfr6CBgZOPcL+bHW4gS0o=
133-
github.com/fsouza/go-dockerclient v1.12.1/go.mod h1:OqsgJJcpCwqyM3JED7TdfM9QVWS5O7jSYwXxYKmOooY=
130+
github.com/fsouza/go-dockerclient v1.12.2 h1:+pbP/SacoHfqaVZuiudvcdYGd9jzU7y9EcgoBOHivEI=
131+
github.com/fsouza/go-dockerclient v1.12.2/go.mod h1:ZGCkAsnBGjnTRG9wV6QaICPJ5ig2KlaxTccDQy5WQ38=
134132
github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs=
135133
github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo=
136134
github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M=
@@ -235,6 +233,10 @@ github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec h1:2tTW6cDth2T
235233
github.com/letsencrypt/boulder v0.0.0-20240620165639-de9c06129bec/go.mod h1:TmwEoGCwIti7BCeJ9hescZgRtatxRE+A72pCoPfmcfk=
236234
github.com/linuxkit/virtsock v0.0.0-20241009230534-cb6a20cc0422 h1:XvRuyDDRvi+UDxHN/M4MW4HxjmNVMmUKQj/+AbgsYgk=
237235
github.com/linuxkit/virtsock v0.0.0-20241009230534-cb6a20cc0422/go.mod h1:JLgfq4XMVbvfNlAXla/41lZnp21O72a/wWHGJefAvgQ=
236+
github.com/lsm5/buildah v0.0.0-20251017145416-1c35ea0ae809 h1:Xl7p6J9gfYA7TX0Z7VTNygqpEq7MZdrLX+EhsUdUOPc=
237+
github.com/lsm5/buildah v0.0.0-20251017145416-1c35ea0ae809/go.mod h1:DOj6mclvkxcijXOmZTybYPZpuDv5ZyqoyjZSwfs/ikk=
238+
github.com/lsm5/container-libs/common v0.0.0-20251017191154-e63ca540eafe h1:3zW0BFHDhdhVqZzxLJ0/TqDDkDET+/MPAQZNlvcZLkY=
239+
github.com/lsm5/container-libs/common v0.0.0-20251017191154-e63ca540eafe/go.mod h1:aNd2a0S7pY+fx1X5kpQYuF4hbwLU8ZOccuVrhu7h1Xc=
238240
github.com/lufia/plan9stats v0.0.0-20240909124753-873cd0166683 h1:7UMa6KCCMjZEMDtTVdcGu0B1GmmC7QJKiCCjyTAWQy0=
239241
github.com/lufia/plan9stats v0.0.0-20240909124753-873cd0166683/go.mod h1:ilwx/Dta8jXAgpFYFvSWEMwxmbWXyiUHkd5FwyKhb5k=
240242
github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA=
@@ -263,8 +265,8 @@ github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU=
263265
github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
264266
github.com/mistifyio/go-zfs/v3 v3.1.0 h1:FZaylcg0hjUp27i23VcJJQiuBeAZjrC8lPqCGM1CopY=
265267
github.com/mistifyio/go-zfs/v3 v3.1.0/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k=
266-
github.com/moby/buildkit v0.23.2 h1:gt/dkfcpgTXKx+B9I310kV767hhVqTvEyxGgI3mqsGQ=
267-
github.com/moby/buildkit v0.23.2/go.mod h1:iEjAfPQKIuO+8y6OcInInvzqTMiKMbb2RdJz1K/95a0=
268+
github.com/moby/buildkit v0.25.1 h1:j7IlVkeNbEo+ZLoxdudYCHpmTsbwKvhgc/6UJ/mY/o8=
269+
github.com/moby/buildkit v0.25.1/go.mod h1:phM8sdqnvgK2y1dPDnbwI6veUCXHOZ6KFSl6E164tkc=
268270
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
269271
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
270272
github.com/moby/go-archive v0.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ=
@@ -314,8 +316,8 @@ github.com/opencontainers/runtime-tools v0.9.1-0.20250523060157-0ea5ed0382a2 h1:
314316
github.com/opencontainers/runtime-tools v0.9.1-0.20250523060157-0ea5ed0382a2/go.mod h1:MXdPzqAA8pHC58USHqNCSjyLnRQ6D+NjbpP+02Z1U/0=
315317
github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplUkdTrmPb8=
316318
github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U=
317-
github.com/openshift/imagebuilder v1.2.16-0.20250828154754-e22ebd3ff511 h1:8pU6rEt+HyVdXlszfbWIwUDf8THLXvjXX5n+5EkxlW8=
318-
github.com/openshift/imagebuilder v1.2.16-0.20250828154754-e22ebd3ff511/go.mod h1:I9FlC4LVo0z/8GM8wdWVhxmw3tUVNM6tiwb8tRv4jvQ=
319+
github.com/openshift/imagebuilder v1.2.17 h1:xusHiBvK7PpBsEeMGTg61Zx5kSajybjUAbBzVEJKH6g=
320+
github.com/openshift/imagebuilder v1.2.17/go.mod h1:I9FlC4LVo0z/8GM8wdWVhxmw3tUVNM6tiwb8tRv4jvQ=
319321
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
320322
github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
321323
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
@@ -471,12 +473,10 @@ go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKr
471473
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
472474
go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4=
473475
go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4=
474-
go.podman.io/common v0.65.1-0.20251016162239-c4c5e00ad22d h1:xk2iM/F/6UTuPD3+MNOqZvju0xYQ14IpvegxQ1sC464=
475-
go.podman.io/common v0.65.1-0.20251016162239-c4c5e00ad22d/go.mod h1:kv0yXx/yrT60lUcVb86hezMGz/lXmyx3epvdFlM9du4=
476-
go.podman.io/image/v5 v5.37.1-0.20251016133615-aa970d2c7532 h1:J7qB0n2DLY9hLCS9z3eubDuBrl6GOiz1iVMufhTRs3k=
477-
go.podman.io/image/v5 v5.37.1-0.20251016133615-aa970d2c7532/go.mod h1:rzI7vFUroTWKtAAVuYCoT2wy8LbcepZgEuhzzRzfui4=
478-
go.podman.io/storage v1.60.1-0.20251016133615-aa970d2c7532 h1:3+RVXZET/LnyhXdQnpIVvjuNs04Jz3IJtC9T++pwqpI=
479-
go.podman.io/storage v1.60.1-0.20251016133615-aa970d2c7532/go.mod h1:A3UBK0XypjNZ6pghRhuxg62+2NIm5lcUGv/7XyMhMUI=
476+
go.podman.io/image/v5 v5.38.0 h1:aUKrCANkPvze1bnhLJsaubcfz0d9v/bSDLnwsXJm6G4=
477+
go.podman.io/image/v5 v5.38.0/go.mod h1:hSIoIUzgBnmc4DjoIdzk63aloqVbD7QXDMkSE/cvG90=
478+
go.podman.io/storage v1.61.0 h1:5hD/oyRYt1f1gxgvect+8syZBQhGhV28dCw2+CZpx0Q=
479+
go.podman.io/storage v1.61.0/go.mod h1:A3UBK0XypjNZ6pghRhuxg62+2NIm5lcUGv/7XyMhMUI=
480480
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
481481
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
482482
go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=

libpod/container_internal.go

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1361,7 +1361,7 @@ func (c *Container) waitForHealthy(ctx context.Context) error {
13611361
}
13621362

13631363
// Whether a container should use `all` when stopping
1364-
func (c *Container) stopWithAll() (bool, error) {
1364+
func (c *Container) stopWithAll() bool {
13651365
// If the container is running in a PID Namespace, then killing the
13661366
// primary pid is enough to kill the container. If it is not running in
13671367
// a pid namespace then the OCI Runtime needs to kill ALL processes in
@@ -1373,29 +1373,17 @@ func (c *Container) stopWithAll() (bool, error) {
13731373
if all {
13741374
if c.config.NoCgroups {
13751375
all = false
1376-
} else if rootless.IsRootless() {
1377-
// Only do this check if we need to
1378-
unified, err := cgroups.IsCgroup2UnifiedMode()
1379-
if err != nil {
1380-
return false, err
1381-
}
1382-
if !unified {
1383-
all = false
1384-
}
13851376
}
13861377
}
13871378

1388-
return all, nil
1379+
return all
13891380
}
13901381

13911382
// Internal, non-locking function to stop container
13921383
func (c *Container) stop(timeout uint) error {
13931384
logrus.Debugf("Stopping ctr %s (timeout %d)", c.ID(), timeout)
13941385

1395-
all, err := c.stopWithAll()
1396-
if err != nil {
1397-
return err
1398-
}
1386+
all := c.stopWithAll()
13991387

14001388
// OK, the following code looks a bit weird but we have to make sure we can stop
14011389
// containers with the restart policy always, to do this we have to set
@@ -1502,7 +1490,7 @@ func (c *Container) waitForConmonToExitAndSave() error {
15021490
// could open a pidfd on container PID1 before
15031491
// this to get the real exit code... But I'm not
15041492
// that dedicated.
1505-
all, _ := c.stopWithAll()
1493+
all := c.stopWithAll()
15061494
if err := c.ociRuntime.StopContainer(c, 0, all); err != nil {
15071495
logrus.Errorf("Error stopping container %s after Conmon exited prematurely: %v", c.ID(), err)
15081496
}

0 commit comments

Comments
 (0)