10367 Commits

Author SHA1 Message Date
978c0767fa Merge pull request #8715 from baude/bindings3images
Podman image bindings for 3.0
2020-12-16 14:04:11 +00:00
f66ecc882d Fix: unpause not supported for CGv1 rootless
Thanks Ed Santiago <santiago@redhat.com> for the fix.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-12-16 08:55:16 -05:00
f1f7b8f6c8 Merge pull request #8730 from rhatdan/log
Add LogSize to container inspect
2020-12-16 11:23:23 +00:00
8333a9ee90 Merge pull request #8720 from edsantiago/bats
system tests: the catch-up game
2020-12-16 00:43:03 +00:00
427731ab9c Disable incompatible rootless + CGroupsV1 tests
These tests simply will not work under these conditions.

Note: Recently updated F32 (prior-fedora) and Ubuntu 20.04
(prior-ubuntu) VMs always use CGroupsV1 with runc.  F33 and
Ubuntu 20.10 were updated to always use CGroupsV2 with crun.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-12-15 18:49:10 -05:00
0bb865e6c2 Disable rootless pod stats tests w/ CgroupV1
When running as rootless, on a CgroupV1 host these tests all report:
`Error: pod stats is not supported in rootless mode without cgroups v2`

Note: Recently updated F32 (prior-fedora) and Ubuntu 20.04
(prior-ubuntu) VMs always use CGroupsV1 with runc.  F33 and
Ubuntu 20.10 were updated to always use CGroupsV2 with crun.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-12-15 18:49:09 -05:00
e6fbc15f26 Disable CGv1 pod stats on net=host post
This should be addressed by PR
https://github.com/containers/podman/pull/8685

Note: Recently updated F32 (prior-fedora) and Ubuntu 20.04
(prior-ubuntu) VMs always use CGroupsV1 with runc.  F33 and
Ubuntu 20.10 were updated to always use CGroupsV2 with crun.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-12-15 18:49:09 -05:00
8997a2d106 Disable pod stats tests in containerized Fedora w/ CGroupsV1
Nearly/all of the 'podman stats' tests fail on Fedora when
executing testing inside a container, and CGroupsV1 is used on the
host.  The typical failure message is of the form `Error: unable to
load cgroup at /machine.slice/.../: cgroup deleted`.

Note: Recently updated F32 (prior-fedora) and Ubuntu 20.04
(prior-ubuntu) VMs always use CGroupsV1 with runc.  F33 and
Ubuntu 20.10 were updated to always use CGroupsV2 with crun.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-12-15 18:49:09 -05:00
e6ab566574 Disable blkio.weight test on Ubuntu
These tests fail with `Error: opening file `io.bfq.weight` for writing:
Permission denied: OCI permission denied`.  Upon examination of the
VMs, it was found the kernel and OS lacks support for the `BFQ`
scheduler (which supplies the `weight` option).  The only available
schedulers are `none` and `mq-deadline`.

Note: Recently updated F32 (prior-fedora) and Ubuntu 20.04
(prior-ubuntu) VMs always use CGroupsV1 with runc.  F33 and
Ubuntu 20.10 were updated to always use CGroupsV2 with crun.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-12-15 18:49:09 -05:00
e3ba7092fb Cirrus: Add support for Ubuntu 20.x
Previously automation always dropped the minor version number for
distributions.  This was intended for presentation and conditional
simplicity. Bash does not support non-integer comparison natively.

With the release of version 20.10, supporting testing with it and
the LTS release (20.04) requires scripts to consider minor version
numbers for Ubuntu VMs.  This is necessary because many times in
the past, some behaviors needed to be conditional on the release
version number.

With this commit, the images and embedded scripts/tooling uses an
altered format of `$UBUNTU_NAME', `$PRIOR_UBUNTU_NAME`, and (crucially)
`$OS_RELEASE_VER` and `$OS_REL_VER`.  Any `.` characters appearing
in the official version (from `/etc/os-release`) are dropped, and
the result is concatenated.

For example the current Ubuntu LTS version is `20.04`.  Prior to
this commit, `$OS_RELEASE_VER` would have been `20`.  With this
change, `$OS_RELEASE_VER` will now show `2004`.  Similarly `20.10`
is shown as `2010`.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-12-15 18:49:09 -05:00
66e979a892 Merge pull request #8723 from matejvasek/cleanup-tmp-file
Clean up temporary file.
2020-12-15 22:23:09 +00:00
e42d920ebf Add LogSize to container inspect
Other log options are available so we need to add ability to look
up LogSize.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-12-15 17:22:06 -05:00
8d4e19634c Podman image bindings for 3.0
Begin the migration of the image bindings for podman 3.0.  this includes
the use of options for each binding.  build was intentionally not
converted as I believe it needs more discussion before migration.
specifically, the build options themselves.

also noteworthly is that the remove image and remove images bindings
were merged into one.  the remove images (or batch remove) has one
downside in that the errors return no longer adhere to http return
codes.  this should be discussed and reimplemented in subsequent code.

Signed-off-by: baude <bbaude@redhat.com>
2020-12-15 16:04:59 -06:00
e689503fd6 Merge pull request #8726 from giuseppe/conmon-rootless-errs-to-info
libpod, conmon: change log level for rootless
2020-12-15 20:26:39 +00:00
9379ee9790 Merge pull request #8725 from rhatdan/TMPDIR
Allow users to specify TMPDIR in containers.conf
2020-12-15 19:35:39 +00:00
8bfba70185 contrib: drop mirror.chpc.utah.edu:443
remove unused mirror from list of required host/ports: the host is
unreachable due to DNS misconfiguration, and it doesn't look like we
need it for anything anyway.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-12-15 20:07:36 +01:00
08f76bf7a5 libpod, conmon: change log level for rootless
Change the log level when running as rootless when moving conmon to a
different cgroup.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-12-15 18:55:51 +01:00
af36d444a5 Clean up temporary file.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2020-12-15 16:07:43 +01:00
d5e05a4b92 Allow users to specify TMPDIR in containers.conf
Currently we hard code TMPDIR environment variable to /var/tmp
if it is not set in the Environment. This causes TMPDIR environment
variable to be ignored if set in containers.conf.

This change now uses the host environment TMPDIR, followed by
containers.conf and then hard codes TMPDIR, if it was not set.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-12-15 06:35:43 -05:00
1345d0358b system tests: the catch-up game
- run test: minor cleanup to .containerenv test. Basically,
  make it do only two podman-runs (they're expensive) and
  tighten up the results checks

- ps test: add ps -a --storage. Requires small tweak to
  run_podman helper, so we can have "timeout" be an expected
  result

- sdnotify test: workaround for #8718 (seeing MAINPID=xxx as
  last output line instead of READY=1). As found by the
  newly-added debugging echos, what we are seeing is:

      MAINPID=103530
      READY=1
      MAINPID=103530

  It's not supposed to be that way; it's supposed to be just
  the first two. But when faced with reality, we must bend
  to accommodate it, so let's accept READY=1 anywhere in
  the output stream, not just as the last line.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-12-14 15:06:43 -07:00
999d40d2c7 Merge pull request #8692 from rhatdan/network
[CI:DOCS] Cleanup CNI Networks on reboot
2020-12-14 10:42:50 -05:00
2854cdcd58 Merge pull request #8714 from edsantiago/more_journald_rootless_skips
RHEL gating tests: more journald exceptions
2020-12-14 10:40:34 -05:00
0fd31e2994 Merge pull request #8696 from Luap99/podman-events-until
podman events allow future time for --until
2020-12-14 09:33:42 -05:00
803c078d3b Merge pull request #8693 from giuseppe/drop-valid-id-in-userns-check
podman: drop checking valid rootless UID
2020-12-14 09:31:20 -05:00
e5741b984e Merge pull request #8689 from bblenard/issue-8672-volume-prune
Add volume prune --filter support
2020-12-14 09:22:30 -05:00
4d7e05f9ba RHEL gating tests: more journald exceptions
Followup to #8284, due to my not having noticed #8096.

RHEL gating tests are failing again due to rhbz#1895105, the
one where we can't run journalctl rootless on RHEL. #8284 fixed
this for some RHEL builds of older podman, but I missed #8096
which added yet another logs test.

This brings us to three journalctl exceptions, which means
it gets complicated because I have to refactor it all.

**THIS IS NOT SUSTAINABLE**. We need some way to have a similar
setup in CI, with a permission-less rootless login, so we don't
add yet another logs test some day and discover, months later,
that it doesn't work on RHEL and then have to go into crisis
mode.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-12-14 06:40:46 -07:00
bdbf47f606 Merge pull request #8699 from Luap99/network-flag-completion
shell completion for the network flag
2020-12-14 08:32:52 -05:00
a0204ada09 Add volume prune --filter support
This change adds support for the `--filter` / `?filters` arguments on
the `podman volume prune` subcommand.

  * Adds ParseFilterArgumentsIntoFilters helper for consistent
    Filter string slice handling
  * Adds `--filter` support to podman volume prune cli
  * Adds `?filters...` support to podman volume prune api
  * Updates apiv2 / e2e tests

Closes #8672

Signed-off-by: Baron Lenardson <lenardson.baron@gmail.com>
2020-12-12 20:07:04 -06:00
f7bd0a495a shell completion for the network flag
Complete all the options e.g. `container:`,`ns:`,`host`, etc...

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-12-12 19:10:25 +01:00
a226e6ed31 Merge pull request #8553 from baude/composeci
add compose regression to ci
2020-12-12 06:50:25 -05:00
36bec385f3 Merge pull request #7718 from QiWang19/sign-multi-arch
Sign multi-arch images
2020-12-12 03:46:31 -05:00
1d50245a20 Merge pull request #8676 from jwhonce/issues/7806
Refine public key usage when remote
2020-12-11 23:10:11 -05:00
fbcd44567c Merge pull request #8688 from rhatdan/start
Handle --rm when starting a container
2020-12-11 21:54:55 -05:00
74fcd9fef3 podman events allow future time for --until
The podman events aren't read until the given timestamp if the
timestamp is in the future. It just reads all events until now
and exits afterwards.
This does not make sense and does not match docker. The correct
behavior is to read all events until the given time is reached.

This fixes a bug where the wrong event log file path was used
when running first time with a new storage location.
Fixes #8694

This also fixes the events api endpoint which only exited when
an error occurred. Otherwise it just hung after reading all events.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-12-11 23:15:09 +01:00
6730556e2f Sign multi-arch images
podman image sign handles muti-arch images.
--all option to create signature for each manifest from the image manifest list.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-12-11 14:15:56 -05:00
cb91bf96e0 add compose test descriptions
adding compose test descriptions and validations.

Signed-off-by: baude <bbaude@redhat.com>
2020-12-11 10:07:13 -06:00
b0a287ce46 Merge pull request #8686 from Luap99/logs-stderr
podman logs honor stderr correctly
2020-12-11 10:38:17 -05:00
f3e69d7300 test-compose: rewrite to new subdir form
...in which we use all-local tests

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-12-11 09:27:42 -06:00
82d7b9f2e2 add compose regression to ci
to prevent any regressions, we should be running regression tests using
compose.

Signed-off-by: baude <bbaude@redhat.com>
2020-12-11 09:26:29 -06:00
47af0afbd1 WIP: test docker-compose
git-fetch a set of docker-compose examples

Add a mechanism for 'curl'ing to verify that service is up.

For each docker-compose directory:
  1) test that it comes up
  2) use 'curl' to confirm that the service is up
  3) bring it back down

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-12-11 09:23:50 -06:00
99ac30a882 Merge pull request #8690 from zhangguanzhang/apiv2-wrong-ImgName
Fix Wrong img name used when creating a container from an image which had multi names
2020-12-11 10:20:16 -05:00
335c59e7dc Merge pull request #8691 from Luap99/network-compat
Fix some network compat api problems
2020-12-11 10:04:28 -05:00
f711f5a68d podman: drop checking valid rootless UID
do not check whether the specified ID is valid in the user namespace.

crun handles this case[1], so the check in Podman prevents to get to
the OCI runtime at all.

$ podman run --user 10:0 --uidmap 0:0:1 --rm -ti fedora:33 sh -c 'id; cat /proc/self/uid_map'
uid=10(10) gid=0(root) groups=0(root),65534(nobody)
        10          0          1

[1] https://github.com/containers/crun/pull/556

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-12-11 15:43:33 +01:00
2e0a9c453b Cleanup CNI Networks on reboot
CNI sometimes leaves Network information in /var/lib/cni/networks
when the system crashes or containers do not shut down properly.

This PR will cleanup these left over files, so that container engines
will get a clean enviroment when the system reboots.

Related to: https://github.com/containers/podman/issues/3759

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-12-11 09:18:38 -05:00
2a35387e9e Fix some network compat api problems
Network create could panic when used with a json body like this:
`{"Name":"net","IPAM":{"Config":[]}}`

The network scope for list and inspect should not be empty. It can
be swarm, global or local. We only support local networks so
hardcode this field to local.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-12-11 14:16:05 +01:00
fb25f737e5 Fix Wrong image tag is used when creating a container from an image with multiple tags
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-12-11 20:02:41 +08:00
098e0a7885 Handle --rm when starting a container
podman start should follow the same behaviour as podman run when removing a
container.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-12-11 06:07:14 -05:00
dd954781e6 Merge pull request #8633 from baude/bindings3
Bindings refactor
2020-12-11 05:36:08 -05:00
7dd1da3787 Refine public key usage when remote
* Move all public key handling into one AuthMethod. Prioritize ssh-agent
  keys over identity files.
* Cache server connection when tunneling, saves one RoundTrip on ssh
  handshake

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-12-10 15:32:37 -07:00
ba545c49a2 podman logs honor stderr correctly
Make the ContainerLogsOptions support two io.Writers,
one for stdout and the other for stderr. The logline already
includes the information to which Writer it has to be written.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-12-10 22:24:43 +01:00