2735 Commits

Author SHA1 Message Date
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
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
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
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
e4cf1d40d7 Merge pull request #9617 from vrothberg/fix-9588
image removal: ignore unknown-layer errors
2021-03-04 10:16:23 -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
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
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
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
8a1955f419 Merge pull request #9581 from baude/issue9529
Add network summary to compat ps
2021-03-03 11:13:22 -05: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
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
f4304c6592 Merge pull request #9560 from TristanCacqueray/libpodPutArchive
[NO TESTS NEEDED] swagger: update the libpodPutArchive verb
2021-03-02 12:24:59 -08: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
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
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
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
Milivoje Legenovic
8b7caa6d04 Compat api containers/json Ports field is null
Fixes #9553

Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2021-03-02 02:50:41 +01:00
OpenShift Merge Robot
b5827d80d3 Merge pull request #9531 from Luap99/fix-9526
compat api network ls accept both format options
2021-03-01 16:28:51 +01:00
OpenShift Merge Robot
b154c519ac Merge pull request #9509 from mlegenovic/master
Correct compat images/create?fromImage response
2021-03-01 08:27:47 +01:00
Jakub Guzik
d9cb135b64 Enable cgroupsv2 rw mount via security-opt unmask
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-02-28 15:59:43 +01:00
Paul Holzinger
f54ed7269a compat api network ls accept both format options
Docker allows both the old `map[string]map[string]bool`
and the newer `map[string][]string` for the filter param
so we should too.

Fixes #9526

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2021-02-26 19:42:34 +01:00
OpenShift Merge Robot
05410e81ef Merge pull request #9505 from TristanCacqueray/master
[CI:DOCS] swagger: removes the schema type for PodSpecGenerator $ref
2021-02-26 11:21:26 +01:00
Milivoje Legenovic
fcce1da1bb Correct compat images/create?fromImage response
Signed-off-by: Milivoje Legenovic <m.legenovic@gmail.com>
2021-02-26 03:08:10 +01:00
baude
24d9bda7ff prune remotecommand dependency
prune a dependency that was only being used for a simple struct.  Should
correct checksum issue on tarballs

[NO TESTS NEEDED]

Fixes: #9355

Signed-off-by: baude <bbaude@redhat.com>
2021-02-25 10:02:41 -06:00
Tristan Cacqueray
1aa96ed2e2 swagger: removes the schema type for PodSpecGenerator $ref
When using a $ref, the type is ignored and it can confuse the openapi codegen
and make it fails with this error:

  attribute paths.'/libpod/pods/create'(post).[create].type is unexpected

This change removes the schema type attribute.

Signed-off-by: Tristan Cacqueray <tdecacqu@redhat.com>
2021-02-24 18:34:57 +00:00
OpenShift Merge Robot
ca0af71bef Merge pull request #9485 from vrothberg/fix-9479
container removal: handle already removed containers
2021-02-23 14:53:26 -05:00
Valentin Rothberg
e5ac28f3b9 container removal: handle already removed containers
Since commit d54478d8ea, a container's lock is released before
attempting to stop it via the OCI runtime.  This opened the window
for various kinds of race conditions.  One of them led to #9479 where
the removal+cleanup sequences of a `run --rm` session overlapped with
`rm -af`.  Make both execution paths more robust by handling the case of
an already removed container.

Fixes: #9479
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-23 13:02:35 +01:00
Eduardo Vega
874f2327e6 Add U volume flag to chown source volumes
Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
2021-02-22 22:55:19 -06:00
OpenShift Merge Robot
96fc9d983e Merge pull request #9480 from jmguzik/replace-nil-with-braces-network-resource
[NO TESTS NEEDED] Replace Labels and Options nulls with {} in NetworkResource
2021-02-22 20:41:39 -05:00
Jakub Guzik
fcf669fd98 Replace Labels and Options nulls with {} in NetworkResource
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-02-23 00:31:17 +01:00
OpenShift Merge Robot
c69decc305 Merge pull request #9464 from giuseppe/fix-cgroupv1-stats
cgroup: change cgroup deletion logic on v1
2021-02-22 15:48:44 -05:00
OpenShift Merge Robot
613addd56f Merge pull request #9456 from matejvasek/make_internal
Make binding util internal
2021-02-22 15:40:41 -05:00
OpenShift Merge Robot
a6e7d19c46 Merge pull request #9445 from jmguzik/no-header-info-for-systemd-generation
No header info for systemd generation
2021-02-22 13:44:43 -05:00
OpenShift Merge Robot
cb3af5b05b Merge pull request #9117 from tmds/swagger_missing_schema_properties
[NO TESTS NEEDED] swagger: add missing schema properties
2021-02-22 11:03:14 -05:00
Giuseppe Scrivano
e87c5b6c16 cgroup: change cgroup deletion logic on v1
do not raise an error if the cgroup exists at least on one
controller.

Previously it expected the cgroup to exists under all the
controllers.

[NO TESTS NEEDED]

Closes: https://github.com/containers/podman/issues/9252

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-02-22 16:10:15 +01:00
Jakub Guzik
d2f3098c6f --no-header flag implementation for generate systemd
Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-02-22 14:48:33 +01:00
Matej Vasek
af7a68fa8a [NO TESTS NEEDED] Make binding util internal
The functions are supposed to be called only from generated code

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-02-22 14:35:03 +01:00
OpenShift Merge Robot
10d52c05e2 Merge pull request #9275 from rhatdan/build
Add missing params for podman-remote build
2021-02-22 06:29:32 -05:00
Tom Deseyn
a2e1b3eabc swagger: add missing schema properties
NO_TESTS_NEEDED

Signed-off-by: Tom Deseyn <tom.deseyn@gmail.com>
2021-02-22 09:27:41 +01:00
Valentin Rothberg
5dded6fae7 bump go module to v3
We missed bumping the go module, so let's do it now :)

* Automated go code with github.com/sirkon/go-imports-rename
* Manually via `vgrep podman/v2` the rest

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-02-22 09:03:51 +01:00
OpenShift Merge Robot
4a6582bd86 Merge pull request #9436 from jonas-schievink/patch-1
[NO TESTS NEEDED] Log working dir when chdir fails
2021-02-21 10:51:47 -05:00
OpenShift Merge Robot
4aaaa6c1df Merge pull request #9339 from matejvasek/update_wait_swagger
[CI:DOCS] Update swagger doc for libpod container wait
2021-02-19 12:53:24 -05:00
Jonas Schievink
43a581904f Log working dir when chdir fails
Signed-off-by: Jonas Schievink <jonasschievink@gmail.com>
2021-02-19 17:04:38 +01:00
OpenShift Merge Robot
c12576501c Merge pull request #9434 from jmguzik/rootless-linux-bug
[NO TESTS NEEDED] leak fix in rootless_linux.c fcn can_use_shortcut
2021-02-19 10:45:24 -05:00
OpenShift Merge Robot
6a9257a292 Merge pull request #9428 from vrothberg/cp-content-fix
cp: treat "." and "/." correctly
2021-02-19 06:09:22 -05:00