Commit graph

23873 commits

Author SHA1 Message Date
OpenShift Merge Robot
f3b75ebea0
Merge pull request #9635 from rhatdan/stop
podman-remote stop -time 0 does not work
2021-03-05 14:06:25 -05:00
OpenShift Merge Robot
44e6d20023
Merge pull request #9624 from mheon/fix_9615
[NO TESTS NEEDED] Do not return from c.stop() before re-locking
2021-03-05 11:37:03 -05:00
Daniel J Walsh
d107c37296
podman-remote stop -time 0 does not work
This patch will allow users to pass in the time 0.
Currently the timeout will take 10 seconds if user passes
in the 0 flag.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-05 10:39:17 -05:00
OpenShift Merge Robot
0bac30d724
Merge pull request #9622 from jmguzik/network-rm-fix
Fix podman network rm (-f) workflow
2021-03-05 09:50:03 -05:00
Matthew Heon
5bb8fa30b0 Do not return from c.stop() before re-locking
Unlocking an already unlocked lock is a panic. As such, we have
to make sure that the deferred c.lock.Unlock() in
c.StopWithTimeout() always runs on a locked container. There was
a case in c.stop() where we could return an error after we unlock
the container to stop it, but before we re-lock it - thus
allowing for a double-unlock to occur. Fix the error return to
not happen until after the lock has been re-acquired.

Fixes #9615

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-03-05 09:19:48 -05:00
OpenShift Merge Robot
c6cefa5f04
Merge pull request #9628 from containers/dependabot/go_modules/github.com/containers/buildah-1.19.7
Bump github.com/containers/buildah from 1.19.6 to 1.19.7
2021-03-05 08:39:02 -05:00
Jakub Guzik
2bcc95257f Fix for podman network rm (-f) workflow
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-03-05 13:16:37 +01:00
dependabot-preview[bot]
3396343d4c
Bump github.com/coreos/go-systemd/v22 from 22.1.0 to 22.2.0
Bumps [github.com/coreos/go-systemd/v22](https://github.com/coreos/go-systemd) from 22.1.0 to 22.2.0.
- [Release notes](https://github.com/coreos/go-systemd/releases)
- [Commits](https://github.com/coreos/go-systemd/compare/v22.1.0...v22.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-05 06:40:02 -05:00
dependabot-preview[bot]
efc592fba9
Bump github.com/containers/buildah from 1.19.6 to 1.19.7
Bumps [github.com/containers/buildah](https://github.com/containers/buildah) from 1.19.6 to 1.19.7.
- [Release notes](https://github.com/containers/buildah/releases)
- [Changelog](https://github.com/containers/buildah/blob/master/CHANGELOG.md)
- [Commits](https://github.com/containers/buildah/compare/v1.19.6...v1.19.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-05 05:12:39 -05:00
OpenShift Merge Robot
05080a12a9
Merge pull request #9593 from vrothberg/cp-tmp
podman cp: support copying on tmpfs mounts
2021-03-05 03:57:17 -05:00
Daniel J Walsh
793c52dd56
Add tests for selinux kvm/init labels
spc_t tests should be able to run rootless as well.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-04 17:01:04 -05:00
OpenShift Merge Robot
4e5cc6a3a6
Merge pull request #9607 from mheon/fix_9523
Respect NanoCpus in Compat Create
2021-03-04 15:18:53 -05:00
OpenShift Merge Robot
a26b15265e
Merge pull request #9598 from rhatdan/kvm
Check for supportsKVM based on basename of the runtime
2021-03-04 14:54:53 -05:00
OpenShift Merge Robot
e65bcc166c
Merge pull request #9604 from mheon/fix_9510
Compat API: create volume source dirs on the host
2021-03-04 13:46:56 -05:00
Matthew Heon
8453424e2c Respect NanoCpus in Compat Create
The NanoCpus field in HostConfig was not wired up. It conflicts
with CPU period and quota (it hard-codes period to a specific
value and then sets the user-specified value as Quota).

Fixes #9523

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-03-04 12:32:09 -05:00
OpenShift Merge Robot
7a92de4bac
Merge pull request #9550 from baude/issue9517
Support label type dict on compat build
2021-03-04 11:09:25 -05:00
OpenShift Merge Robot
7b76340864
Merge pull request #9568 from wjt/podman-system-service-timeout-docs
[ci:docs] podman-system-service.1.md: fix timeout example
2021-03-04 10:32:25 -05:00
OpenShift Merge Robot
e4cf1d40d7
Merge pull request #9617 from vrothberg/fix-9588
image removal: ignore unknown-layer errors
2021-03-04 10:16:23 -05:00
OpenShift Merge Robot
87a78c059d
Merge pull request #9601 from jwhonce/issues/9207
Use version package to track all versions
2021-03-04 09:46:24 -05:00
Valentin Rothberg
a090301bbb podman cp: support copying on tmpfs mounts
Traditionally, the path resolution for containers has been resolved on
the *host*; relative to the container's mount point or relative to
specified bind mounts or volumes.

While this works nicely for non-running containers, it poses a problem
for running ones.  In that case, certain kinds of mounts (e.g., tmpfs)
will not resolve correctly.  A tmpfs is held in memory and hence cannot
be resolved relatively to the container's mount point.  A copy operation
will succeed but the data will not show up inside the container.

To support these kinds of mounts, we need to join the *running*
container's mount namespace (and PID namespace) when copying.

Note that this change implies moving the copy and stat logic into
`libpod` since we need to keep the container locked to avoid race
conditions.  The immediate benefit is that all logic is now inside
`libpod`; the code isn't scattered anymore.

Further note that Docker does not support copying to tmpfs mounts.

Tests have been extended to cover *both* path resolutions for running
and created containers.  New tests have been added to exercise the
tmpfs-mount case.

For the record: Some tests could be improved by using `start -a` instead
of a start-exec sequence.  Unfortunately, `start -a` is flaky in the CI
which forced me to use the more expensive start-exec option.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-04 15:43:12 +01:00
OpenShift Merge Robot
17cacea3fa
Merge pull request #9614 from Luap99/fix-9602
Fix cni teardown errors
2021-03-04 09:18:21 -05:00
Valentin Rothberg
e43385eca2 image removal: ignore unknown-layer errors
[NO TESTS NEEDED] as I have absolutely no idea how to force a reliable
reproducer.

Fixes: #9588
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-03-04 14:10:34 +01:00
Paul Holzinger
aa0a57f095 Fix cni teardown errors
Make sure to pass the cni interface descriptions to cni teardowns.
Otherwise cni cannot find the correct cache files because the
interface name might not match the networks. This can only happen
when network disconnect was used.

Fixes #9602

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-03-04 11:43:59 +01:00
OpenShift Merge Robot
833670079c
Merge pull request #9605 from lsm5/Makefile-install-docker-docs-nobuild
Makefile: add install.docker-docs-nobuild for packaging use
2021-03-04 05:37:23 -05:00
Jhon Honce
f86d641308 Use version package to track all versions
* Server, bindings, and CLI all now pull version information from version
package.
* Current /libpod API version slaved to podman/libpod Version
* Bindings validate against libpod API Minimal version
* Remove pkg/bindings/bindings.go and updated tests

Fixes: #9207

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-03-03 17:03:19 -07:00
Daniel J Walsh
252aec1c9a
Check for supportsKVM based on basename of the runtime
Fixes: https://github.com/containers/podman/issues/9582

This PR also adds tests to make sure SELinux labels match the runtime,
or if init is specified works with the correct label.

Add tests for selinux kvm/init labels

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-03 16:49:51 -05:00
Matthew Heon
53d22c779c Compat API: create volume source dirs on the host
It took a lot to figure out exactly how this should work, but I
think I finally have it. My initial versions of this created the
directory with the same owner as the user the container was run
with, which was rather complicated - but after review against
Docker, I have determined that is incorrect, and it's always made
as root:root 0755 (Ubuntu's Docker, which I was using to try and
test, is a snap - and as such it was sandboxed, and not actually
placing directories it made in a place I could find?). This makes
things much easier, since I just need to parse out source
directories for binds and ensure they exist.

Fixes #9510

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-03-03 16:22:31 -05:00
Lokesh Mandvekar
61e626c859 Makefile: add install.docker-docs-nobuild for packaging use
This will allow installation of the manpages without the need to rebuild
them in the installation stage of distro packaging.

[NO TESTS NEEDED]

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2021-03-03 16:21:27 -05:00
OpenShift Merge Robot
87e20560ac
Merge pull request #9536 from jmguzik/enable-cgroupsv2-sec-opts
Enable cgroupsv2 rw mount via security-opt unmask
2021-03-03 12:28:54 -05:00
OpenShift Merge Robot
32b2e367b8
Merge pull request #9595 from Luap99/fix-9594
Fix possible panic with podman build --iidfile
2021-03-03 12:05:55 -05:00
OpenShift Merge Robot
8a1955f419
Merge pull request #9581 from baude/issue9529
Add network summary to compat ps
2021-03-03 11:13:22 -05:00
Jakub Guzik
81a3f8a432 Add /sys/fs/cgroup as readonly path in docs
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-03-03 15:27:45 +01:00
OpenShift Merge Robot
259bb5f723
Merge pull request #9583 from ashley-cui/sec
Add version field to secret compat list/inspect api
2021-03-03 09:17:21 -05:00
baude
8f2192922d Add network summary to compat ps
The compatibility endpoint for listing containers should have the
summarized network configuration with it.

Fixes: #9529

Signed-off-by: baude <bbaude@redhat.com>
2021-03-03 08:16:58 -06:00
OpenShift Merge Robot
5fd8a84949
Merge pull request #9575 from mheon/rewrite_rename
Rewrite Rename backend in a more atomic fashion
2021-03-03 09:16:19 -05:00
Paul Holzinger
4eed89acaa Fix possible panic with podman build --iidfile
Make sure we check for errors before trying to write the iidfile.

[NO TESTS NEEDED]

Ref #9594

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-03-03 14:46:53 +01:00
Daniel J Walsh
aed632cb8c
Merge pull request #9580 from rhatdan/timestamp
Fix support for podman build --timestamp
2021-03-03 05:08:13 -05:00
OpenShift Merge Robot
2a3460b26d
Merge pull request #9521 from adrianreber/2021-02-25-checkpointctl
Reorder checkpoint/restore code for CRI-O
2021-03-03 02:06:19 -08:00
Ashley Cui
9391bfc520 Add version field to secret compat list/inspect api
Docker api expects secrets endpoint to have a version field. So, the
version field is added into the compat endpoint only. The version field
is always 1, since Docker uses the version to keep track of updates to
the secret, and currently we cannot update a secret.

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-03-02 16:55:21 -05:00
OpenShift Merge Robot
0a40c5a059
Merge pull request #9477 from ashley-cui/journald
Tidy duplicate log tests
2021-03-02 13:39:59 -08:00
OpenShift Merge Robot
b9181cf1ef
Merge pull request #9512 from mheon/fix_9511
Fix parsing of Tmpfs field in compat create
2021-03-02 12:58:59 -08:00
OpenShift Merge Robot
f4304c6592
Merge pull request #9560 from TristanCacqueray/libpodPutArchive
[NO TESTS NEEDED] swagger: update the libpodPutArchive verb
2021-03-02 12:24:59 -08:00
OpenShift Merge Robot
0c12478a38
Merge pull request #9557 from liuming50/split-docker-install-docs
[NO TESTS NEEDED] Makefile: split install.docker-docs from install.docker
2021-03-02 11:31:04 -08:00
Ashley Cui
b19791c0b6 Tidy duplicate log tests
Some log tests were duplicated, and some didn't need to be repeated for
every driver. Also, added some comments

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-03-02 14:28:16 -05:00
Daniel J Walsh
5df6251402
Fix support for podman build --timestamp
Currently podman is ignoreing the build --timestamp flag.
This PR fixes this for local and remote clients.

Fixes: https://github.com/containers/podman/issues/9569

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-03-02 14:25:29 -05:00
Matthew Heon
43e899c2ec Rewrite Rename backend in a more atomic fashion
Move the core of renaming logic into the DB. This guarantees a
lot more atomicity than we have right now (our current solution,
removing the container from the DB and re-creating it, is *VERY*
not atomic and prone to leaving a corrupted state behind if
things go wrong. Moving things into the DB allows us to remove
most, but not all, of this - there's still a potential scenario
where the c/storage rename fails but the Podman rename succeeds,
and we end up with a mismatched state.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-03-02 13:30:28 -05:00
Adrian Reber
91b2f07d5b
Use functions and defines from checkpointctl
No functional changes.

[NO TESTS NEEDED] - only moving code around

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-03-02 17:00:06 +00:00
Adrian Reber
bf92e21113
Move checkpoint/restore code to pkg/checkpoint/crutils
To be able to reuse common checkpoint/restore functions this commit
moves code to pkg/checkpoint/crutils.

This commit has not functional changes. It only moves code around.

[NO TESTS NEEDED] - only moving code around

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-03-02 17:00:06 +00:00
Adrian Reber
bd819ef7dc
Vendor in checkpointctl
checkpointctl contains common code to work with checkpoint images in
Podman, CRI-O and Kubernetes.

Use functions and definitions from checkpointctl where possible.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-03-02 17:00:06 +00:00
baude
2c8c5393a4 Support label type dict on compat build
The compatibility endpoint for build labels should be of type dict (not
list).  For backwards compatibility, we support both.

Fixes: #9517

Signed-off-by: baude <bbaude@redhat.com>
2021-03-02 10:56:28 -06:00