summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile30
-rw-r--r--changelog.txt248
-rw-r--r--cmd/podman/shared/create.go7
-rw-r--r--cmd/podman/shared/intermediate.go1
-rw-r--r--contrib/cirrus/packer/fedora_setup.sh4
-rw-r--r--contrib/spec/podman.spec.in2
-rw-r--r--docs/podman-build.1.md25
-rw-r--r--go.mod2
-rw-r--r--go.sum2
-rw-r--r--test/e2e/login_logout_test.go4
-rw-r--r--test/system/001-basic.bats8
-rw-r--r--test/system/070-build.bats6
-rw-r--r--test/system/200-pod-top.bats2
-rw-r--r--test/system/README.md2
-rw-r--r--test/system/helpers.bash21
-rw-r--r--vendor/github.com/containers/storage/VERSION2
-rw-r--r--vendor/github.com/containers/storage/drivers/btrfs/btrfs.go10
-rw-r--r--vendor/github.com/containers/storage/drivers/windows/windows.go10
-rw-r--r--vendor/modules.txt2
-rw-r--r--version/version.go2
20 files changed, 367 insertions, 23 deletions
diff --git a/Makefile b/Makefile
index dbc10aa8c..efd8ad85c 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@ export GO111MODULE=off
GO ?= go
DESTDIR ?=
-EPOCH_TEST_COMMIT ?= 55e028a12ee003e057c65e376fe4b723d28ae52e
+EPOCH_TEST_COMMIT ?= bb80586e275fe0d3f47700ec54c9718a28b1e59c
HEAD ?= HEAD
CHANGELOG_BASE ?= HEAD~
CHANGELOG_TARGET ?= HEAD
@@ -253,10 +253,34 @@ remoteintegration: varlink_generate test-binaries ginkgo-remote
localsystem:
# Wipe existing config, database, and cache: start with clean slate.
$(RM) -rf ${HOME}/.local/share/containers ${HOME}/.config/containers
- if timeout -v 1 true; then PODMAN=./bin/podman bats test/system/; else echo "Skipping localsystem: 'timeout -v' unavailable'"; fi
+ if timeout -v 1 true; then PODMAN=./bin/podman bats test/system/; else echo "Skipping $@: 'timeout -v' unavailable'"; fi
remotesystem:
- @echo "remotesystem - unimplemented"
+ # Wipe existing config, database, and cache: start with clean slate.
+ $(RM) -rf ${HOME}/.local/share/containers ${HOME}/.config/containers
+ # Start varlink server using tmp socket; loop-wait for it;
+ # test podman-remote; kill server, clean up tmp socket file.
+ # varlink server spews copious unhelpful output; ignore it.
+ rc=0;\
+ if timeout -v 1 true; then \
+ SOCK_FILE=$(shell mktemp --dry-run --tmpdir io.podman.XXXXXX);\
+ export PODMAN_VARLINK_ADDRESS=unix:$$SOCK_FILE; \
+ ./bin/podman varlink --timeout=0 $$PODMAN_VARLINK_ADDRESS &>/dev/null & \
+ retry=5;\
+ while [[ $$retry -ge 0 ]]; do\
+ echo Waiting for varlink server...;\
+ sleep 1;\
+ ./bin/podman-remote info &>/dev/null && break;\
+ retry=$$(expr $$retry - 1);\
+ done;\
+ env PODMAN=./bin/podman-remote bats test/system/ ;\
+ rc=$$?;\
+ kill %1;\
+ rm -f $$SOCK_FILE;\
+ else \
+ echo "Skipping $@: 'timeout -v' unavailable'";\
+ fi;\
+ exit $$rc
system.test-binary: .install.ginkgo
$(GO) test -c ./test/system
diff --git a/changelog.txt b/changelog.txt
index 51ac92979..beea8dd5c 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,251 @@
+- Changelog for v1.5.0 (2019-08-09)
+ * vendor github.com/containers/storage@v1.13.2
+ * Improve dns-search validation, empty domains now return an error
+ * fix create&run getting --authfile from cli
+ * Add release notes for v1.5.0
+ * Touch up build man page
+ * podman-container-runlabel(1): drop note
+ * make rmi messages more compatible with docker
+ * Add conmon probe to runtime construction
+ * fix copy change file owner if cp from container
+ * Vendor Buildah 1.10.1
+ * Allow the passing of '.' to --dns-search
+ * add make to make installs
+ * namespaces: fix Container() call
+ * Add a test for verifying ENTRYPOINT and CMD
+ * fix port early return
+ * Allow --ro=[true|false] with mount flag
+ * refer to container whose namespace we share
+ * add test to verify hostname is shared in a pod
+ * Properly share UTS namespaces in a pod
+ * When populating CMD, do not include Entrypoint
+ * systemd library conflict with seektail and addmatch
+ * pod top test: reenable
+ * cgroup: fix regression when running systemd
+ * Add invalid credentials fix to docs
+ * Revert "rootless: Rearrange setup of rootless containers"
+ * restore: correctly set StartedTime
+ * container stop: kill conmon
+ * honor libpod.conf in /usr/share/containers
+ * fix system df crashes on unnamed images
+ * Don't log errors to the screen when XDG_RUNTIME_DIR is not set
+ * various fixes for varlink endpoints
+ * add eventlogger to info
+ * Add handling for empty LogDriver
+ * Add rootless NFS and OverlayFS warnings to docs
+ * podman events format json
+ * add godoc link to readme
+ * restore: added --ignore-static-ip option
+ * System tests: resolve hang in rawhide rootless
+ * fix search output limit
+ * Add capability functionality to play kube
+ * Use "none" instead of "null" for the null eventer
+ * Deduplicate capabilities in generate kube
+ * Fix typo
+ * Pass on events-backend config to cleanup processes
+ * Print Pod ID in `podman inspect` output
+ * go build: use `-mod=vendor` for go >= 1.11.x
+ * Use buildah/pkg/parse volume parsing rather then internal version
+ * github.com/containers/storage v1.12.13
+ * Add new exit codes to rm & rmi for running containers & dependencies
+ * Add runtime and conmon path discovery
+ * systemd, cgroupsv2: not bind mount /sys/fs/cgroup/systemd
+ * Ensure we generate a 'stopped' event on force-remove
+ * Fix Dockerfile - a dependency's name was changed
+ * System events are valid, don't error on them
+ * Do not use an events backend when restoring images
+ * Expose Null eventer and allow its use in the Podman CLI
+ * Force tests to use file backend for events
+ * Add a flag to set events logger type
+ * Fix test suite
+ * Retrieve exit codes for containers via events
+ * podman: fix memleak caused by renaming and not deleting the exit file
+ * Cirrus: Fix release dependencies
+ * Cirrus: Fix re-run of release task into no-op.
+ * e2e test: check exit codes for pull, save, inspect
+ * rootless: Rearrange setup of rootless containers
+ * Add comment to describe postConfigureNetNS
+ * Vendor in buildah 1.9.2
+ * Build fix for 32-bit systems.
+ * Set -env variables as appropriate
+ * Touch up input argument error on create
+ * Update libpod.conf to be NixOS friendly
+ * Allow info test to work with usernames w/dash
+ * Touch up XDG, add rootless links
+ * Fix the syntax in the podman export documentation example
+ * fix `podman -v` regression
+ * Move random IP code for tests from checkpoint to common
+ * Fix commit --changes env=X=Y
+ * Update pause/unpause video links and demo
+ * Cirrus: Remove fixed clone depth
+ * podman: support --userns=ns|container
+ * pods: do not to join a userns if there is not any
+ * Documenation & build automation for remote darwin
+ * Cirrus: Bypass release during image-building
+ * Use systemd cgroups for Ubuntu
+ * Cirrus: Ubuntu: Set + Test for $RUNC_BINARY
+ * Cirrus: Simplify evil-unit check in image
+ * Cirrus: Silence systemd-banish noise
+ * Cirrus: Fix image build metadata update
+ * Cirrus: Fix missing -n on CentOS
+ * Cirrus: Remove disused COMMIT variables
+ * Improved hooks monitoring
+ * Fix possible runtime panic if image history len is zero
+ * When retrieving volumes, only use exact names
+ * fix import not ignoring url path
+ * Document SELinux label requirements for the rootfs argument
+ * Fixes issue #3577.
+ * refactor to reduce duplicated error parsing
+ * remove debug prints
+ * Re-add int64 casts for ctime
+ * fix build --network=container
+ * Fix a segfault on Podman no-store commands with refresh
+ * always send generic error in case io fails
+ * only use stdin if specified
+ * buffer errChan
+ * move handleTerminalAttach to generic build
+ * remove unnecessary conversions
+ * add detach keys support for remote
+ * move editing of exitCode to runtime
+ * Update e2e tests for remote exec
+ * Finish up remote exec implementation
+ * golangci-lint cleanup
+ * install.md: mention all build tags
+ * golangci-lint phase 4
+ * Change wait to sleep in podmanimage readme
+ * bump cirrus images to get new conmon
+ * Implement conmon exec
+ * bump conmon to 1.0.0-rc2
+ * Cirrus: Temp. workaround missing imgprune image
+ * vendor github.com/containers/image@v2.0.1
+ * golangci-lint round #3
+ * Remove debug message
+ * Cleanup Pull Message
+ * Cirrus: Fix post-merge env. var. not set.
+ * mkdir -p /etc/cni/net.d requires sudo
+ * Add support for listing read/only and read/write images
+ * support podman ps filter regular expressions
+ * rootless: add rw devices with --privileged
+ * Cirrus: Minor scripting typo fix
+ * fix --dns* and --network not set to host conflict
+ * podman-remote make --size optional in ps
+ * Remove exec PID files after use to prevent memory leaks
+ * Add DefaultContent API to retrieve apparmor profile content
+ * libpod: support for cgroup namespace
+ * Make GOPATH-related symlinking more precise
+ * Populate inspect with security-opt settings
+ * Properly retrieve Conmon PID
+ * Move the HostConfig portion of Inspect inside libpod
+ * Fix play kube command
+ * spec: rework --ulimit host
+ * Cirrus: Add image-test for locked dpkg
+ * Cirrus: Use images w/o periodic svcs
+ * Cirrus: Disable most periodic services/timers
+ * dependency/analyses: simplify scripts
+ * dependency-tree analysis: direct and transitive
+ * analyses: README: consistent code examples
+ * analyses: README: fix typos
+ * analyses: add dependency-tree.sh
+ * analyses: add README.md
+ * hack/analyses -> dependencies/analyses
+ * hack/analyses/go-archive-analysis.sh: fix sorting
+ * add hack/analyses/nm-symbols-analysis.sh
+ * analyse package sizes
+ * Completion: complete "--health-start-period" in bash
+ * Make the healthcheck flags compatible with Docker CLI
+ * healthcheck: reject empty commands
+ * create: ignore check if image has HEALTHCHECK NONE
+ * create: apply defaults on image healthcheck options
+ * healthcheck: improve command list parser
+ * Completion: --no-healthcheck is not an option
+ * Cirrus: Abstract destination branch refs.
+ * Cirrus: Print images that should be pruned
+ * create: improve parser for --healthcheck-command
+ * Improves STD output/readability in combination with debug output.
+ * Fix the double replySendFile()
+ * Cirrus: Update to freshly built cache-images
+ * Cirrus: Execute system-tests during image-validation
+ * Cirrus: Fix missing removal of packaged podman
+ * cgroupsv2: do not enable controllers for the last component
+ * spec: fix userns with less than 5 gids
+ * Fix spelling mistakes in man pages and other docs
+ * Add glob parsing for --env flag
+ * Add support for -env-host
+ * cgroups: fix a leak when using cgroupfs
+ * cgroups: attempt a recursive rmdir
+ * Fix a bug where ctrs could not be removed from pods
+ * golangci-lint pass number 2
+ * Add tests for --ignore-rootfs checkpoint/restore option
+ * Add --ignore-rootfs option for checkpoint/restore
+ * Fix typo in checkpoint/restore related texts
+ * Include root file-system changes in container migration
+ * Add function to get a filtered tarstream diff
+ * Correctly set FinishedTime for checkpointed container
+ * first pass of corrections for golangci-lint
+ * Cirrus: Fix #3543: Failure in 'release' task
+ * fix bug convert volume host path to absolute
+ * Cirrus: Fix 473d06045 / enable build_without_cgo
+ * account for varlink calls that dont use more
+ * runtime: drop spurious message log
+ * Ensure we have a valid store when we refresh
+ * cgroups: skip not existing cpuacct files
+ * cgroups: support creating cgroupsv2 paths
+ * make localsystem: wipe all user config state
+ * podman: create and run honors auth file location
+ * healthcheck: support rootless mode
+ * Use random IP addresses during checkpoint/restore tests
+ * Fix podman-remote usage message to display `podman-remote` instead of `podman`
+ * rootless.md: Include GPFS as a parallel filesystem
+ * speed up rootless tests
+ * podman: add --ulimit host
+ * docs: fix --healthcheck-command option
+ * code cleanup
+ * fix integration flake tests
+ * CONTRIBUTING.md: fix project paths
+ * get last container event
+ * Do not hardcode podman binary location in generate systemd.
+ * Move skipping systemd tests to early setup.
+ * Reload systemd daemon on creation of units location dir in tests.
+ * Add debug information to "generate systemd" test.
+ * Use default conmon pidfile location for root containers.
+ * Use conmon pidfile in generated systemd unit as PIDFile.
+ * Cirrus: Automate releasing of tested binaries
+ * trivial cleanups from golang
+ * ps should use nostore when possible
+ * libpod: discerne partial IDs between containers and pods
+ * Added instruction to enable the user namespaces permanenty in Manjaro
+ * Addressed code review comments
+ * Updated install.md for Manjaro Linux
+ * Vendor latest OCICNI version
+ * Bump current version in README
+ * Wipe PID and ConmonPID in state after container stops
+ * Store Conmon's PID in our state and display in inspect
+ * Restart failed containers in tests
+ * Improve parsing of mounts
+ * Add test for generate kube with volumes
+ * Bump gitvalidation epoch
+ * Bump to v1.4.5-dev
+ * Fix rootless detection error for pause & unpause
+ * Deduplicate volumes
+ * cirrus: add test for compiling without cgo
+ * lock: new lock type "file"
+ * runtime: allow to specify the lock mechanism
+ * lock: disable without cgo
+ * spec: move cgo stuff to their own file
+ * rootless: allow to build without cgo
+ * attach: move cgo bits to a different file
+ * vendor: update containers/psgo
+ * Update the testing documentation with system tests.
+ * Pass along volumes to pod yaml
+ * Configure container volumes for generate kube
+ * configure runtime without store
+ * Add RUN priv'd test for build
+ * Cirrus: Use packaged dependencies
+ * Add exec after checkpoint/restore test
+ * Provide correct SELinux mount-label for restored container
+ * Track if a container is restored from an exported checkpoint
+ * libpod/container_internal: Make all errors loading explicitly configured hook dirs fatal
+
- Changelog for v1.4.4 (2019-07-02)
* Fix release notes
* Ensure locks are freed when ctr/pod creation fails
diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go
index 7dccc41f1..84cba4b75 100644
--- a/cmd/podman/shared/create.go
+++ b/cmd/podman/shared/create.go
@@ -83,7 +83,7 @@ func CreateContainer(ctx context.Context, c *GenericCLIResults, runtime *libpod.
} else {
return nil, nil, errors.Errorf("error, no input arguments were provided")
}
- newImage, err := runtime.ImageRuntime().New(ctx, name, rtc.SignaturePolicyPath, GetAuthFile(""), writer, nil, image.SigningOptions{}, false, nil)
+ newImage, err := runtime.ImageRuntime().New(ctx, name, rtc.SignaturePolicyPath, GetAuthFile(c.String("authfile")), writer, nil, image.SigningOptions{}, false, nil)
if err != nil {
return nil, nil, err
}
@@ -627,6 +627,11 @@ func ParseCreateOpts(ctx context.Context, c *GenericCLIResults, runtime *libpod.
return nil, errors.Errorf("cannot pass additional search domains when also specifying '.'")
}
+ // Check for explicit dns-search domain of ''
+ if c.Changed("dns-search") && len(c.StringSlice("dns-search")) == 0 {
+ return nil, errors.Errorf("'' is not a valid domain")
+ }
+
// Validate domains are good
for _, dom := range c.StringSlice("dns-search") {
if dom == "." {
diff --git a/cmd/podman/shared/intermediate.go b/cmd/podman/shared/intermediate.go
index 4062ac48a..3479876b4 100644
--- a/cmd/podman/shared/intermediate.go
+++ b/cmd/podman/shared/intermediate.go
@@ -366,6 +366,7 @@ func NewIntermediateLayer(c *cliconfig.PodmanCommand, remote bool) GenericCLIRes
m["add-host"] = newCRStringSlice(c, "add-host")
m["annotation"] = newCRStringSlice(c, "annotation")
m["attach"] = newCRStringSlice(c, "attach")
+ m["authfile"] = newCRString(c, "authfile")
m["blkio-weight"] = newCRString(c, "blkio-weight")
m["blkio-weight-device"] = newCRStringSlice(c, "blkio-weight-device")
m["cap-add"] = newCRStringSlice(c, "cap-add")
diff --git a/contrib/cirrus/packer/fedora_setup.sh b/contrib/cirrus/packer/fedora_setup.sh
index 1e25a1a3c..e9b145391 100644
--- a/contrib/cirrus/packer/fedora_setup.sh
+++ b/contrib/cirrus/packer/fedora_setup.sh
@@ -17,6 +17,10 @@ trap "sudo rm -rf $GOPATH" EXIT
ooe.sh sudo dnf update -y
+echo "Enabling updates-testing repository"
+ooe.sh sudo dnf install -y 'dnf-command(config-manager)'
+ooe.sh sudo dnf config-manager --set-enabled updates-testing
+
echo "Installing general build/test dependencies"
ooe.sh sudo dnf install -y \
atomic-registries \
diff --git a/contrib/spec/podman.spec.in b/contrib/spec/podman.spec.in
index 7e361d757..0de797f2b 100644
--- a/contrib/spec/podman.spec.in
+++ b/contrib/spec/podman.spec.in
@@ -39,7 +39,7 @@
%global shortcommit_conmon %(c=%{commit_conmon}; echo ${c:0:7})
Name: podman
-Version: 1.4.5
+Version: 1.5.1
Release: #COMMITDATE#.git%{shortcommit0}%{?dist}
Summary: Manage Pods, Containers and Container Images
License: ASL 2.0
diff --git a/docs/podman-build.1.md b/docs/podman-build.1.md
index c4667070d..878b31080 100644
--- a/docs/podman-build.1.md
+++ b/docs/podman-build.1.md
@@ -168,6 +168,15 @@ The [username[:password]] to use to authenticate with the registry if required.
If one or both values are not supplied, a command line prompt will appear and the
value can be entered. The password is entered without echo.
+**--disable-compression, -D**
+
+Don't compress filesystem layers when building the image unless it is required
+by the location where the image is being written. This is the default setting,
+because image layers are compressed automatically when they are pushed to
+registries, and images being written to local storage would only need to be
+decompressed again to be stored. Compression can be forced in all cases by
+specifying **--disable-compression=false**.
+
**--disable-content-trust**
This is a Docker specific option to disable image verification to a Docker
@@ -178,6 +187,10 @@ solely for scripting compatibility.
Set custom DNS servers
+This option can be used to override the DNS configuration passed to the container. Typically this is necessary when the host DNS configuration is invalid for the container (e.g., 127.0.0.1). When this is the case the `--dns` flag is necessary for every run.
+
+The special value **none** can be specified to disable creation of /etc/resolv.conf in the container by Podman. The /etc/resolv.conf file in the image will be used without changes.
+
**--dns-option**=*option*
Set custom DNS options
@@ -259,6 +272,12 @@ environment variable. `export BUILDAH_LAYERS=true`
Log output which would be sent to standard output and standard error to the
specified file instead of to standard output and standard error.
+**--loglevel** *number*
+
+Adjust the logging level up or down. Valid option values range from -2 to 3,
+with 3 being roughly equivalent to using the global *--debug* option, and
+values below 0 omitting even error messages which accompany fatal errors.
+
**--memory**, **-m**=*LIMIT*
Memory limit (format: <number>[<unit>], where unit = b, k, m or g)
@@ -301,6 +320,12 @@ that the PID namespace in which `podman` itself is being run should be reused,
or it can be the path to a PID namespace which is already in use by another
process.
+**--platform**="Linux"
+
+This option has no effect on the build. Other container engines use this option
+to control the execution platform for the build (e.g., Windows, Linux) which is
+not required for Buildah as it supports only Linux.
+
**--pull**
When the flag is enabled, attempt to pull the latest image from the registries
diff --git a/go.mod b/go.mod
index 9bdb5b5f4..00e1c1cf4 100644
--- a/go.mod
+++ b/go.mod
@@ -17,7 +17,7 @@ require (
github.com/containers/conmon v0.3.0 // indirect
github.com/containers/image v3.0.2+incompatible
github.com/containers/psgo v1.3.1
- github.com/containers/storage v1.13.1
+ github.com/containers/storage v1.13.2
github.com/coreos/bbolt v1.3.3 // indirect
github.com/coreos/etcd v3.3.13+incompatible // indirect
github.com/coreos/go-iptables v0.4.1
diff --git a/go.sum b/go.sum
index a5eb8da01..f09083eb7 100644
--- a/go.sum
+++ b/go.sum
@@ -99,6 +99,8 @@ github.com/containers/storage v1.12.16 h1:zePYS1GiG8CuRqLCeA0ufx4X27K06HcJLV50Dd
github.com/containers/storage v1.12.16/go.mod h1:QsZp4XMJjyPNNbQHZeyNW3OmhwsWviI+7S6iOcu6a4c=
github.com/containers/storage v1.13.1 h1:rjVirLS9fCGkUFlLDZEoGDDUugtIf46DufWvJu08wxQ=
github.com/containers/storage v1.13.1/go.mod h1:6D8nK2sU9V7nEmAraINRs88ZEscM5C5DK+8Npp27GeA=
+github.com/containers/storage v1.13.2 h1:UXZ0Ckmk6+6+4vj2M2ywruVtH97pnRoAhTG8ctd+yQI=
+github.com/containers/storage v1.13.2/go.mod h1:6D8nK2sU9V7nEmAraINRs88ZEscM5C5DK+8Npp27GeA=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/bbolt v1.3.3/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
diff --git a/test/e2e/login_logout_test.go b/test/e2e/login_logout_test.go
index d64340248..4d476e05f 100644
--- a/test/e2e/login_logout_test.go
+++ b/test/e2e/login_logout_test.go
@@ -127,6 +127,10 @@ var _ = Describe("Podman login and logout", func() {
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
+ session = podmanTest.Podman([]string{"run", "--authfile", authFile, testImg})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
session = podmanTest.Podman([]string{"logout", "--authfile", authFile, server})
})
diff --git a/test/system/001-basic.bats b/test/system/001-basic.bats
index 85b9bc1ca..5fc07acfb 100644
--- a/test/system/001-basic.bats
+++ b/test/system/001-basic.bats
@@ -13,6 +13,14 @@ function setup() {
@test "podman version emits reasonable output" {
run_podman version
+ # First line of podman-remote is "Client:<blank>".
+ # Just delete it (i.e. remove the first entry from the 'lines' array)
+ if is_remote; then
+ if expr "${lines[0]}" : "Client:" >/dev/null; then
+ lines=("${lines[@]:1}")
+ fi
+ fi
+
is "${lines[0]}" "Version:[ ]\+[1-9][0-9.]\+" "Version line 1"
is "$output" ".*Go Version: \+" "'Go Version' in output"
is "$output" ".*RemoteAPI Version: \+" "API version in output"
diff --git a/test/system/070-build.bats b/test/system/070-build.bats
index c1e7c7ec4..5ef84e9b8 100644
--- a/test/system/070-build.bats
+++ b/test/system/070-build.bats
@@ -6,10 +6,8 @@
load helpers
@test "podman build - basic test" {
- if [[ "$PODMAN" =~ -remote ]]; then
- if [ "$(id -u)" -ne 0 ]; then
- skip "unreliable with podman-remote and rootless; #2972"
- fi
+ if is_remote && is_rootless; then
+ skip "unreliable with podman-remote and rootless; #2972"
fi
rand_filename=$(random_string 20)
diff --git a/test/system/200-pod-top.bats b/test/system/200-pod-top.bats
index 10808ddb2..bba1e8d14 100644
--- a/test/system/200-pod-top.bats
+++ b/test/system/200-pod-top.bats
@@ -3,6 +3,8 @@
load helpers
@test "podman pod top - containers in different PID namespaces" {
+ skip_if_remote "podman-pod does not work with podman-remote"
+
# With infra=false, we don't get a /pause container (we also
# don't pull k8s.gcr.io/pause )
no_infra='--infra=false'
diff --git a/test/system/README.md b/test/system/README.md
index d98b1c0fe..fe6d1ed52 100644
--- a/test/system/README.md
+++ b/test/system/README.md
@@ -28,6 +28,8 @@ on failure.
* `skip_if_rootless` - if rootless, skip this test with a helpful message.
+* `skip_if_remote` - like the above, but skip if testing `podman-remote`
+
* `random_string` - returns a pseudorandom alphanumeric string
Test files are of the form `NNN-name.bats` where NNN is a three-digit
diff --git a/test/system/helpers.bash b/test/system/helpers.bash
index fe0a25b37..3d607f4bd 100644
--- a/test/system/helpers.bash
+++ b/test/system/helpers.bash
@@ -216,26 +216,31 @@ function wait_for_ready {
###############################################################################
# BEGIN miscellaneous tools
+# Shortcuts for common needs:
+function is_rootless() {
+ [ "$(id -u)" -ne 0 ]
+}
+
+function is_remote() {
+ [[ "$PODMAN" =~ -remote ]]
+}
+
######################
# skip_if_rootless # ...with an optional message
######################
function skip_if_rootless() {
- if [ "$(id -u)" -eq 0 ]; then
- return
+ if is_rootless; then
+ skip "${1:-not applicable under rootless podman}"
fi
-
- skip "${1:-not applicable under rootless podman}"
}
####################
# skip_if_remote # ...with an optional message
####################
function skip_if_remote() {
- if [[ ! "$PODMAN" =~ -remote ]]; then
- return
+ if is_remote; then
+ skip "${1:-test does not work with podman-remote}"
fi
-
- skip "${1:-test does not work with podman-remote}"
}
#########################
diff --git a/vendor/github.com/containers/storage/VERSION b/vendor/github.com/containers/storage/VERSION
index b50dd27dd..065f9ec4c 100644
--- a/vendor/github.com/containers/storage/VERSION
+++ b/vendor/github.com/containers/storage/VERSION
@@ -1 +1 @@
-1.13.1
+1.13.3-dev
diff --git a/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go b/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go
index 30264ef4a..1f719fa85 100644
--- a/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go
+++ b/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go
@@ -645,7 +645,15 @@ func (d *Driver) Get(id string, options graphdriver.MountOpts) (string, error) {
if err != nil {
return "", err
}
- if len(options.Options) > 0 {
+ switch len(options.Options) {
+ case 0:
+ case 1:
+ if options.Options[0] == "ro" {
+ // ignore "ro" option
+ break
+ }
+ fallthrough
+ default:
return "", fmt.Errorf("btrfs driver does not support mount options")
}
diff --git a/vendor/github.com/containers/storage/drivers/windows/windows.go b/vendor/github.com/containers/storage/drivers/windows/windows.go
index 11f1c98b1..c1ab93e1d 100644
--- a/vendor/github.com/containers/storage/drivers/windows/windows.go
+++ b/vendor/github.com/containers/storage/drivers/windows/windows.go
@@ -372,7 +372,15 @@ func (d *Driver) Get(id string, options graphdriver.MountOpts) (string, error) {
logrus.Debugf("WindowsGraphDriver Get() id %s mountLabel %s", id, options.MountLabel)
var dir string
- if len(options.Options) > 0 {
+ switch len(options.Options) {
+ case 0:
+ case 1:
+ if options.Options[0] == "ro" {
+ // ignore "ro" option
+ break
+ }
+ fallthrough
+ default:
return "", fmt.Errorf("windows driver does not support mount options")
}
rID, err := d.resolveID(id)
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 2726a53a9..efb7d99da 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -103,7 +103,7 @@ github.com/containers/psgo/internal/dev
github.com/containers/psgo/internal/proc
github.com/containers/psgo/internal/process
github.com/containers/psgo/internal/host
-# github.com/containers/storage v1.13.1
+# github.com/containers/storage v1.13.2
github.com/containers/storage
github.com/containers/storage/pkg/archive
github.com/containers/storage/pkg/chrootarchive
diff --git a/version/version.go b/version/version.go
index 286f66093..d5f91210e 100644
--- a/version/version.go
+++ b/version/version.go
@@ -4,7 +4,7 @@ package version
// NOTE: remember to bump the version at the top
// of the top-level README.md file when this is
// bumped.
-const Version = "1.4.5-dev"
+const Version = "1.5.1-dev"
// RemoteAPIVersion is the version for the remote
// client API. It is used to determine compatibility