Skip to content

Commit 09aade7

Browse files
Merge pull request #12040 from mheon/341_release
Bump to v3.4.1
2 parents c15c154 + 46f7d2a commit 09aade7

Some content is hidden

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

41 files changed

+458
-180
lines changed

RELEASE_NOTES.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# Release Notes
22

3+
## 3.4.1
4+
### Bugfixes
5+
- Fixed a bug where `podman machine init` could, under some circumstances, create invalid machine configurations which could not be started ([#11824](https://github.com/containers/podman/issues/11824)).
6+
- Fixed a bug where the `podman machine list` command would not properly populate some output fields.
7+
- Fixed a bug where `podman machine rm` could leave dangling sockets from the removed machine ([#11393](https://github.com/containers/podman/issues/11393)).
8+
- Fixed a bug where `podman run --pids-limit=-1` was not supported (it now sets the PID limit in the container to unlimited) ([#11782](https://github.com/containers/podman/issues/11782)).
9+
- Fixed a bug where `podman run` and `podman attach` could throw errors about a closed network connection when STDIN was closed by the client ([#11856](https://github.com/containers/podman/issues/11856)).
10+
- Fixed a bug where the `podman stop` command could fail when run on a container that had another `podman stop` command run on it previously.
11+
- Fixed a bug where the `--sync` flag to `podman ps` was nonfunctional.
12+
- Fixed a bug where the Windows and OS X remote clients' `podman stats` command would fail ([#11909](https://github.com/containers/podman/issues/11909)).
13+
- Fixed a bug where the `podman play kube` command did not properly handle environment variables whose values contained an `=` ([#11891](https://github.com/containers/podman/issues/11891)).
14+
- Fixed a bug where the `podman generate kube` command could generate invalid annotations when run on containers with volumes that use SELinux relabelling (`:z` or `:Z`) ([#11929](https://github.com/containers/podman/issues/11929)).
15+
- Fixed a bug where the `podman generate kube` command would generate YAML including some unnecessary (set to default) fields (e.g. user and group, entrypoint, default protocol for forwarded ports) ([#11914](https://github.com/containers/podman/issues/11914), [#11915](https://github.com/containers/podman/issues/11915), and [#11965](https://github.com/containers/podman/issues/11965)).
16+
- Fixed a bug where the `podman generate kube` command could, under some circumstances, generate YAML including an invalid `targetPort` field for forwarded ports ([#11930](https://github.com/containers/podman/issues/11930)).
17+
- Fixed a bug where rootless Podman's `podman info` command could, under some circumstances, not read available CGroup controllers ([#11931](https://github.com/containers/podman/issues/11931)).
18+
- Fixed a bug where `podman container checkpoint --export` would fail to checkpoint any container created with `--log-driver=none` ([#11974](https://github.com/containers/podman/issues/11974)).
19+
20+
### API
21+
- Fixed a bug where the Compat Create endpoint for Containers could panic when no options were passed to a bind mount of tmpfs ([#11961](https://github.com/containers/podman/issues/11961)).
22+
323
## 3.4.0
424
### Features
525
- Pods now support init containers! Init containers are containers which run before the rest of the pod starts. There are two types of init containers: "always", which always run before the pod is started, and "once", which only run the first time the pod starts and are subsequently removed. They can be added using the `podman create` command's `--init-ctr` option.

cmd/podman/common/create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ func DefineCreateFlags(cmd *cobra.Command, cf *entities.ContainerCreateOptions,
433433
pidsLimitFlagName := "pids-limit"
434434
createFlags.Int64(
435435
pidsLimitFlagName, pidsLimit(),
436-
"Tune container pids limit (set 0 for unlimited, -1 for server defaults)",
436+
"Tune container pids limit (set -1 for unlimited)",
437437
)
438438
_ = cmd.RegisterFlagCompletionFunc(pidsLimitFlagName, completion.AutocompleteNone)
439439

cmd/podman/common/create_opts.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,15 +104,18 @@ func ContainerCreateToContainerCLIOpts(cc handlers.CreateContainerConfig, rtc *c
104104
addField(&builder, "target", m.Target)
105105
addField(&builder, "ro", strconv.FormatBool(m.ReadOnly))
106106
addField(&builder, "consistency", string(m.Consistency))
107-
108107
// Map any specialized mount options that intersect between *Options and cli options
109108
switch m.Type {
110109
case mount.TypeBind:
111-
addField(&builder, "bind-propagation", string(m.BindOptions.Propagation))
112-
addField(&builder, "bind-nonrecursive", strconv.FormatBool(m.BindOptions.NonRecursive))
110+
if m.BindOptions != nil {
111+
addField(&builder, "bind-propagation", string(m.BindOptions.Propagation))
112+
addField(&builder, "bind-nonrecursive", strconv.FormatBool(m.BindOptions.NonRecursive))
113+
}
113114
case mount.TypeTmpfs:
114-
addField(&builder, "tmpfs-size", strconv.FormatInt(m.TmpfsOptions.SizeBytes, 10))
115-
addField(&builder, "tmpfs-mode", strconv.FormatUint(uint64(m.TmpfsOptions.Mode), 10))
115+
if m.TmpfsOptions != nil {
116+
addField(&builder, "tmpfs-size", strconv.FormatInt(m.TmpfsOptions.SizeBytes, 10))
117+
addField(&builder, "tmpfs-mode", strconv.FormatUint(uint64(m.TmpfsOptions.Mode), 10))
118+
}
116119
case mount.TypeVolume:
117120
// All current VolumeOpts are handled above
118121
// See vendor/github.com/containers/common/pkg/parse/parse.go:ValidateVolumeOpts()

cmd/podman/containers/create.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,10 @@ func CreateInit(c *cobra.Command, vals entities.ContainerCreateOptions, isInfra
224224

225225
if c.Flags().Changed("pids-limit") {
226226
val := c.Flag("pids-limit").Value.String()
227+
// Convert -1 to 0, so that -1 maps to unlimited pids limit
228+
if val == "-1" {
229+
val = "0"
230+
}
227231
pidsLimit, err := strconv.ParseInt(val, 10, 32)
228232
if err != nil {
229233
return vals, err

cmd/podman/containers/stats.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ import (
1111
"github.com/containers/podman/v3/cmd/podman/registry"
1212
"github.com/containers/podman/v3/cmd/podman/validate"
1313
"github.com/containers/podman/v3/libpod/define"
14-
"github.com/containers/podman/v3/pkg/cgroups"
1514
"github.com/containers/podman/v3/pkg/domain/entities"
16-
"github.com/containers/podman/v3/pkg/rootless"
1715
"github.com/containers/podman/v3/utils"
1816
"github.com/docker/go-units"
1917
"github.com/pkg/errors"
@@ -113,16 +111,6 @@ func checkStatOptions(cmd *cobra.Command, args []string) error {
113111
}
114112

115113
func stats(cmd *cobra.Command, args []string) error {
116-
if rootless.IsRootless() {
117-
unified, err := cgroups.IsCgroup2UnifiedMode()
118-
if err != nil {
119-
return err
120-
}
121-
if !unified {
122-
return errors.New("stats is not supported in rootless mode without cgroups v2")
123-
}
124-
}
125-
126114
// Convert to the entities options. We should not leak CLI-only
127115
// options into the backend and separate concerns.
128116
opts := entities.ContainerStatsOptions{

cmd/podman/diff/diff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/containers/common/pkg/report"
99
"github.com/containers/podman/v3/cmd/podman/registry"
1010
"github.com/containers/podman/v3/pkg/domain/entities"
11-
"github.com/docker/docker/pkg/archive"
11+
"github.com/containers/storage/pkg/archive"
1212
"github.com/pkg/errors"
1313
"github.com/spf13/cobra"
1414
)

contrib/cirrus/pr-should-include-tests

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ if [[ "${CIRRUS_CHANGE_TITLE}" =~ CI:DOCS ]]; then
88
exit 0
99
fi
1010

11-
# So are PRs where 'NO TESTS NEEDED' appears in the Github message
11+
# So are PRs where 'NO NEW TESTS NEEDED' appears in the Github message
12+
if [[ "${CIRRUS_CHANGE_MESSAGE}" =~ NO.NEW.TESTS.NEEDED ]]; then
13+
exit 0
14+
fi
1215
if [[ "${CIRRUS_CHANGE_MESSAGE}" =~ NO.TESTS.NEEDED ]]; then
1316
exit 0
1417
fi
@@ -49,8 +52,11 @@ if [[ -z "$filtered_changes" ]]; then
4952
exit 0
5053
fi
5154

52-
# One last chance: perhaps the developer included the magic '[NO TESTS NEEDED]'
55+
# One last chance: perhaps the developer included the magic '[NO (NEW) TESTS NEEDED]'
5356
# string in an amended commit.
57+
if git log --format=%B ${base}..${head} | fgrep '[NO NEW TESTS NEEDED]'; then
58+
exit 0
59+
fi
5460
if git log --format=%B ${base}..${head} | fgrep '[NO TESTS NEEDED]'; then
5561
exit 0
5662
fi
@@ -67,7 +73,7 @@ tests, possibly just adding a small step to a similar existing test.
6773
Every second counts in CI.
6874
6975
If your commit really, truly does not need tests, you can proceed
70-
by adding '[NO TESTS NEEDED]' to the body of your commit message.
76+
by adding '[NO NEW TESTS NEEDED]' to the body of your commit message.
7177
Please think carefully before doing so.
7278
EOF
7379

contrib/cirrus/pr-should-include-tests.t

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ tests="
3636
0 a47515008 ecedda63a PR 8816, unit tests only
3737
0 caa84cd35 e55320efd PR 8565, hack/podman-socat only
3838
0 c342583da 12f835d12 PR 8523, version.go + podman.spec.in
39-
0 c342583da db1d2ff11 version bump to v2.2.0
4039
0 8f75ed958 7b3ad6d89 PR 8835, only a README.md change
4140
0 b6db60e58 f06dd45e0 PR 9420, a test rename
41+
0 c6a896b0c 4ea5d6971 PR 11833, includes magic string
4242
"
4343

4444
# The script we're testing

contrib/podmanimage/upstream/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ RUN yum -y update; rpm --restore shadow-utils 2>/dev/null; yum -y install --exc
4040
crun \
4141
fuse-overlayfs \
4242
fuse3 \
43-
containers-common; \
43+
containers-common \
44+
podman-plugins; \
4445
mkdir /root/podman; \
4546
git clone https://github.com/containers/podman /root/podman/src/github.com/containers/podman; \
4647
cd /root/podman/src/github.com/containers/podman; \

contrib/spec/podman.spec.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Epoch: 99
3636
%else
3737
Epoch: 0
3838
%endif
39-
Version: 3.4.1
39+
Version: 3.4.2
4040
Release: #COMMITDATE#.git%{shortcommit0}%{?dist}
4141
Summary: Manage Pods, Containers and Container Images
4242
License: ASL 2.0

0 commit comments

Comments
 (0)