Commit Graph

11067 Commits

Author SHA1 Message Date
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
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]
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
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
Ming Liu
ac992e4b02 Makefile: install systemd services conditionally
Only install systemd services provided that systemd is in BUILDTAGS.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
2021-03-02 16:24:15 +01:00
OpenShift Merge Robot
426178a499 Merge pull request #9561 from Luap99/update-ocicni
Bump github.com/cri-o/ocicni to latest master
2021-03-02 07:23:23 -08:00
Will Thompson
63a3b8a093 podman-system-service.1.md: fix timeout example
The rest of this document claims that the argument is called '--time',
not '--timeout', and that the value is expressed in seconds. As
currently written, the example (which ostensibly runs the API service
for 5 seconds) uses the '--timeout' spelling (which actually does work,
as an undocumented alias) and passes a value of '5000', which is more
than an hour. Fix both.

[NO TESTS NEEDED] as this is a simple documentation change.

Signed-off-by: Will Thompson <wjt@endlessos.org>
2021-03-02 14:31:43 +00:00
Tristan Cacqueray
774aea45ee swagger: update the libpodPutArchive operation verb
This change fixes the libpodPutArchive verb to PUT
(POST results in 405).

Signed-off-by: Tristan Cacqueray <tdecacqu@redhat.com>
2021-03-02 13:09:50 +00:00
OpenShift Merge Robot
c7267329bf Merge pull request #9563 from mlegenovic/master
Compat api containers/json Ports field is null
2021-03-02 05:08:22 -08:00