Commit graph

3068 commits

Author SHA1 Message Date
Matthew Heon
29edeaa892 Fix buildah-bud tests by using main's diff file
Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-09-16 13:39:42 -04:00
Matthew Heon
0d43151c23 Remove Pod CPU tests
Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-09-16 11:00:05 -04:00
Giuseppe Scrivano
5532cd488b libpod: honor --cgroups=split also with pods
Honor --cgroups=split also when the container is running in a pod.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 11:00:05 -04:00
Aditya Rajan
c7c4cb8867 build.bats: fix copy tests after containers/buildah#3486
Fix copy tests after https://github.com/containers/buildah/pull/3486

[NO TESTS NEEDED]

Signed-off-by: Aditya Rajan <arajan@gmail.com>
2021-09-16 11:00:05 -04:00
Jelle van der Waa
507000a304 api: handle nil pointer dereference in rest endpoints
When `?all=garbage` is passed to an API endpoint schema validation fails
and err is nil. Wrapf uses err to create an error message causing a nil
pointer dereference.

Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
2021-09-16 11:00:05 -04:00
Giuseppe Scrivano
939db105c3 tests: enable --cgroups=disabled test for rootless
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 09:42:14 -04:00
Giuseppe Scrivano
e0881fd5eb tests: simplify --cgroups=disabled test
read the cgroup directly from the container.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 09:42:14 -04:00
Jhon Honce
74bc365eb6 Enhance bindings for IDE hints
* Follow https://pkg.go.dev/cmd/go#hdr-Generate_Go_files_by_processing_source
  for leading comment
* Add godoc strings for all exposed methods for IDE support
* Copy field godoc strings into generated code as function godoc string
* Remove unused/unnecessary fields from generator.go structures
* Cleanup code regarding template usage

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-09-16 09:42:14 -04:00
Paul Holzinger
b6789c3d5f fix restart always with rootlessport
When a container is automatically restarted due its restart policy and
the container uses rootless cni networking with ports forwarded we have
to start a new rootlessport process since it exits with conmon.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-16 09:42:14 -04:00
Giuseppe Scrivano
fd8d332a4e test: enable --cgroup-parent test
and fix it for running with runc.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 09:42:14 -04:00
Jason T. Greene
1af0f8934c Add deprecated fields for 1.22+ clients that still expect them
Signed-off-by: Jason Greene <jason.greene@redhat.com>
2021-09-16 09:42:14 -04:00
Daniel J Walsh
c6e4453f62 If container exits with 125 podman should exit with 125
fixes: https://github.com/containers/podman/issues/11540

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-09-16 09:42:14 -04:00
OpenShift Merge Robot
f785d8d194
Merge pull request #11517 from jwhonce/issues/10053
Refactor API server emphasis on logging
2021-09-12 02:07:36 -04:00
OpenShift Merge Robot
72662f790b
Merge pull request #11525 from rhatdan/healthcheck
Stop outputting 'healthy' on healthcheck
2021-09-11 18:09:36 -04:00
OpenShift Merge Robot
ec3037062d
Merge pull request #11513 from Luap99/unshare
podman unshare keep exit code
2021-09-11 17:26:35 -04:00
Jhon Honce
deaf969243 Refacter API server emphasis on logging
* To aid in debugging log API request and response bodies at trace
  level. Events can be correlated using the X-Reference-Id.
* Server now echos X-Reference-Id from client if set, otherwise
  generates an unique id.
* Move logic for X-Reference-Id into middleware
* Change uses of Header.Add() to Set() when setting Content-Type
* Log API operations in Apache format using gorilla middleware
* Port server code to use BaseContext and ConnContext

Fixes #10053

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-09-10 15:07:25 -07:00
OpenShift Merge Robot
5e9758fd5f
Merge pull request #11323 from umohnani8/init
Add init containers to generate and play kube
2021-09-10 13:44:47 -04:00
Daniel J Walsh
4fbc5b8fe7
Stop outputting 'healthy' on healthcheck
We should only print unhealthy if the check fails.  Currently this is
filling logs when users are running lots of healthchecks.

Improves: https://github.com/containers/podman/issues/11157

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-09-10 11:20:01 -04:00
Urvashi Mohnani
f5e4ffb5e4 Add init containers to generate and play kube
Kubernetes has a concept of init containers that run and exit before
the regular containers in a pod are started. We added init containers
to podman pods as well. This patch adds support for generating init
containers in the kube yaml when a pod we are converting had init
containers. When playing a kube yaml, it detects an init container
and creates such a container in podman accordingly.
Note, only init containers created with the init type set to "always"
will be generated as the "once" option deletes the init container after
it has run and exited. Play kube will always creates init containers
with the "always" init container type.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-09-10 09:37:46 -04:00
Paul Holzinger
d2e10a71d6
podman unshare keep exit code
In case the command inside the podman unshare env failed podman unshare
always exits with 125 and prints `Error: exit status 125`. This is a
bad user experience and makes it difficult to use in scripts which could
expect certain exit codes.
This commit makes sure podman unshare uses the same exit code as the
command and does not print the useless `exit status X` message.

Also to match podman run/exec it should return 126 for EPERM
and 127 for ENOENT.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-10 15:30:25 +02:00
Giuseppe Scrivano
53dc99fa60
stats: allow to read stats for paused containers
paused containers still a cgroup we can use to grab the stats.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-10 09:03:08 +02:00
OpenShift Merge Robot
63f6656f8f
Merge pull request #11426 from fj-tsubasa/system-test-scenario
Add a system test to modify and import an exported container
2021-09-09 16:11:22 -04:00
Tsubasa Watanabe
4ccb4f81f7 Add a system test to modify and import an exported container.
This test has completed one of TODO items in test/system/TODO.md.
The item is "Implied pull, build, export, modify, import, tag, run, kill"

Signed-off-by: Tsubasa Watanabe <w.tsubasa@fujitsu.com>
2021-09-10 02:47:57 +09:00
Paul Holzinger
7cf22279d9
Fix conmon attach socket buffer size
The conmon buffer size is 8192, however the attach socket needs two extra
bytes. The first byte of each message will be the STREAM type. The last
byte is a null byte. So when we want to read 8192 message bytes we need
to read 8193 bytes since the first one is special.
check 1ef246896b/src/ctr_stdio.c (L101-L107)

This problem can be seen in podman-remote run/exec when it prints output
with 8192 or more bytes. The output will miss the 8192 byte.

Fixes #11496

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-09 17:57:42 +02:00
OpenShift Merge Robot
784e1ae137
Merge pull request #11502 from vrothberg/vendor-mpb
vendor mpb@v7.1.4
2021-09-09 11:55:19 -04:00
OpenShift Merge Robot
d477fe5cae
Merge pull request #11447 from chenzhiwei/respect-config
fix play kube can't use infra_image in config file
2021-09-09 10:12:22 -04:00
Valentin Rothberg
e5468d404c test/e2e/search_test.go - relax tests
Some search tests were looking for an explicit amount of images to
match.  Since images are moving targets on these registries, make
sure to use lower bounds instead of exact matches.

Fixes CI which started to break when Red Hat images changed.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-09 16:02:40 +02:00
OpenShift Merge Robot
7ee5b29b07
Merge pull request #11499 from flouthoc/inspect-tmpl-flush-writer
inspect: printTmpl must Flush writer
2021-09-09 09:08:17 -04:00
OpenShift Merge Robot
32eaf347e1
Merge pull request #11485 from Luap99/network-upgrade-test
podman upgrade tests for networking
2021-09-09 07:45:15 -04:00
Aditya Rajan
6888b061d0 inspect: printTmpl must Flush writer
Flush should be called after the last call to Write to ensure that any data buffered in the Writer is written to output.
Any incomplete escape sequence at the end is considered complete for formatting purposes.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-09-09 16:37:24 +05:30
Paul Holzinger
4d9dcab0cf
podman upgrade tests for networking
Test basic networking functionality in the upgrade tests.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-09 10:26:29 +02:00
Daniel J Walsh
2f967b81cb
Add logDriver to podman info
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-09-08 17:53:04 -04:00
Ed Santiago
1ff797e362 system tests: new random_free_port helper
Picks a pseudorandom open port within a range. Refactor existing
instances of such code.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-09-08 11:25:42 -06:00
Chen Zhiwei
a1cab358cc fix play kube can't use infra_image in config file
Signed-off-by: Chen Zhiwei <zhiweik@gmail.com>
2021-09-08 19:55:45 +08:00
OpenShift Merge Robot
558ba1b99e
Merge pull request #11468 from Luap99/play-kube-slirp
fix play kube --network options
2021-09-08 13:55:21 +02:00
Raoul Bhatia
aa412ccc45 test/testvol/main.go: Fix missing arguments to Errorf()
go test -v -p 1 -tags apparmor,ostree,seccomp,selinux,systemd github.com/containers/podman/v2/test/testvol
results in the following error:

> test/testvol/main.go:227:10: Errorf format %s reads arg #1, but call has 0 args
> test/testvol/main.go:233:10: Errorf format %s reads arg #1, but call has 0 args

This patch passes req.Name as an argument to the Errorf() call

Signed-off-by: Raoul Bhatia <raoul.bhatia@radarcs.com>
2021-09-08 11:18:12 +02:00
Paul Holzinger
f18ccbcc0f
fix play kube --network options
Commit 092902b455 introduced advanced network options for podman play
kube. However this never worked because it unconditionally set the
network mode to bridge after it parsed the network option.

Added a test to ensure the correct mode is set.

Truly fixes #10807

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-08 10:09:28 +02:00
OpenShift Merge Robot
ae0a9c6c8a
Merge pull request #11471 from mheon/checkpointed
Add Checkpointed bool to Inspect
2021-09-08 09:56:23 +02:00
Nalin Dahyabhai
748c2700b4 pkg/bindings/images.nTar(): set ownership of build context to 0:0
When attempting to run remote builds, users with UID/GID values that
were high enough that they wouldn't be mapped into their default user
namespace configurations would see their builds fail when the server
attempted to extract the build contexts that they supplied, and failed
to set ownership of the build context content to the UID/GID that were
originally assigned to them.

When archiving the build context at the client, set ownership of
everything to 0:0, which we know is always mapped.  Both ADD and COPY
require that we set the ownership of newly-added content to 0:0 (unless
the --chown flag is used), so throwing away the original ownership
information doesn't hurt, anyway.  As usual, tarballs that we extract
as part of ADD aren't going to be affected.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-09-07 15:29:33 -04:00
Matthew Heon
bfcd83ecd6 Add Checkpointed bool to Inspect
When inspecting a container, we now report whether the container
was stopped by a `podman checkpoint` operation via a new bool in
the State portion of inspected, `Checkpointed`.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-09-07 14:16:01 -04:00
OpenShift Merge Robot
536f23c0b7
Merge pull request #11431 from jmguzik/secrets-ls-filters
Add filtering functionality to http api secrets list
2021-09-07 19:24:20 +02:00
OpenShift Merge Robot
30d0cc3cca
Merge pull request #11427 from flouthoc/kube-pod-logs
kube: Add support for `podman pod logs`.
2021-09-07 18:39:45 +02:00
OpenShift Merge Robot
8a55363b80
Merge pull request #11459 from vrothberg/fix-11438
generate systemd: handle --restart
2021-09-07 15:51:41 +02:00
Valentin Rothberg
d1573b95e3 generate systemd: handle --restart
Handle custom restart policies of containers when generating the unit
files; those should be set on the unit level and removed from ExecStart
flags.

Fixes: #11438
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-07 13:58:11 +02:00
Valentin Rothberg
1eaa449590 logs -f: file: fix dead lock
Fix a dead lock in the file log driver where one goroutine would wait on
the tail to hit EOF but reading is blocked for the function to return.

Fixes: 11461
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-07 12:46:56 +02:00
Aditya Rajan
11fc0e5540 kube: Add support for podman pod logs
Following PR adds support for `kubectl` like `pod logs` to podman.
Usage `podman pod logs <podIDorName` gives a stream of logs for all
the containers within the pod with **containername** as a field.

Just like **`kubectl`** also supports `podman pod logs -c ctrIDorName podIDorName`
to limit the log stream to any of the specificied container which belongs to pod.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-09-05 16:24:49 +05:30
Jakub Guzik
d346e6e734 Add filtering functionality to http api secrets list
Filtering is missing in both compat API and libpod API, while docker
has filtering functinality. This commit enables filtering option using
name and id in both libpod and http API.

Signed-off-by: Jakub Guzik <jakubmguzik@gmail.com>
2021-09-03 10:29:31 +02:00
Ed Santiago
02a0d4b7fb auto-update systemd test: skip on RHEL
The "auto-update using systemd" test is failing on RHEL rootless.

Reason: it uses journalctl, which does not work on RHEL rootless.

Solution: add skip_if_journald_unavailable.

ALSO: add debugging info to test failure.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-09-02 12:28:51 -06:00
OpenShift Merge Robot
469900406a
Merge pull request #11406 from flouthoc/manifest-rm-only-manifest
manifest: `rm` should not remove referenced images.
2021-09-02 10:27:16 -04:00
Aditya Rajan
cba114dd36 manifest: rm should not remove referenced images.
Following PR makes sure that `podman manifest rm <list>` only removes
the named manifest list and not referenced images.

Bumping and squashing c/common to v0.43.3-0.20210902095222-a7acc160fb25
in same commit in order to make sure build commit test passes.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-09-02 17:30:02 +05:30