Commit Graph

8987 Commits

Author SHA1 Message Date
Sascha Grunert d02cb2ddc0
Fix log level case regression
With previous versions of Podman (like v1.9.2) it was always possible to
specify the log level in any case, for example `INFO`. This behavior has
silently changed, where the `--log-level` flag only accepts lower case
levels. This commit re-enables the old behavior and adds an e2e test for
it.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-08-28 12:09:08 +02:00
OpenShift Merge Robot 061c93f701
Merge pull request #7430 from mheon/update_cstorage_master
Update c/storage to v1.23.2
2020-08-28 05:56:24 -04:00
OpenShift Merge Robot f763e9c2c0
Merge pull request #7455 from giuseppe/trim-init-command
abi: trim init command
2020-08-28 05:53:20 -04:00
OpenShift Merge Robot d6b13d8a09
Merge pull request #7480 from openSUSE/containers-common
Switch to containers/common for seccomp
2020-08-28 05:37:44 -04:00
OpenShift Merge Robot a38e77bbb5
Merge pull request #7482 from Luap99/libpod-podman
[CI:DOCS] Switch more references from libpod to podman
2020-08-28 05:31:42 -04:00
Giuseppe Scrivano f32eec6ba6
abi: trim init command
without it the systemd detection fails.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-28 10:11:27 +02:00
Paul Holzinger 116300f968 [CI:DOCS] Switch more references from libpod to podman
Switch the libpod references to podman in the CONTRIBUTING.md.
Update the cirrus-ci link so we can get a green build again :)

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-08-27 22:36:35 +02:00
Sascha Grunert 98ead36531
Switch to containers/common for seccomp
The seccomp/containers-golang library is not maintained any more and we
should stick to containers/common.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-08-27 21:14:59 +02:00
Matthew Heon 1a30bcde30 Update c/storage to v1.23.2
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-08-27 15:03:01 -04:00
Ed Santiago 72c5b35ea5
Merge pull request #7458 from Luap99/fix-remote-docs
[CI:DOCS] Update podman-remote docs
2020-08-27 12:57:51 -06:00
Ed Santiago b13af4537f
Merge pull request #7451 from mheon/fix_7195
Send HTTP Hijack headers after successful attach
2020-08-27 12:57:33 -06:00
Paul Holzinger 7dce7a64ca [CI:DOCS] Update podman-remote docs
Add support for multi level subcommands.
e.g. podman system connection.

Update the flags and add note for containers.conf.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-08-27 20:03:06 +02:00
Matthew Heon 2ea9dac5e1 Send HTTP Hijack headers after successful attach
Our previous flow was to perform a hijack before passing a
connection into Libpod, and then Libpod would attach to the
container's attach socket and begin forwarding traffic.

A problem emerges: we write the attach header as soon as the
attach complete. As soon as we write the header, the client
assumes that all is ready, and sends a Start request. This Start
may be processed *before* we successfully finish attaching,
causing us to lose output.

The solution is to handle hijacking inside Libpod. Unfortunately,
this requires a downright extensive refactor of the Attach and
HTTP Exec StartAndAttach code. I think the result is an
improvement in some places (a lot more errors will be handled
with a proper HTTP error code, before the hijack occurs) but
other parts, like the relocation of printing container logs, are
just *bad*. Still, we need this fixed now to get CI back into
good shape...

Fixes #7195

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-08-27 12:50:22 -04:00
Daniel J Walsh 7d3cadcc54
Merge pull request #7457 from ashley-cui/macdocs
[CI:DOCS] Making docs build on mac
2020-08-27 08:11:33 -04:00
Daniel J Walsh d6b03772ad
Merge pull request #7438 from openSUSE/comment
Remove test comment for now-succeeding tests
2020-08-27 06:02:04 -04:00
OpenShift Merge Robot f99954c7ca
Merge pull request #7409 from zhangguanzhang/apiv2-create-ctr-with-invalid-entrypoint
fix apiv2 will create containers with incorrect commands
2020-08-26 13:04:37 -04:00
Ashley Cui 7e004755bf [CI:DOCS] Making docs build on mac
sed syntax on mac is different

Signed-off-by: Ashley Cui <acui@redhat.com>
2020-08-26 09:58:23 -04:00
OpenShift Merge Robot 3a9d5248ac
Merge pull request #7364 from TomSweeneyRedHat/dev/tsweeney/exposeport
Note port publishing needs in pods for create/run
2020-08-26 09:16:06 -04:00
OpenShift Merge Robot 6a069446fb
Merge pull request #7335 from rhatdan/VENDOR
Update vendor of buildah to latest code
2020-08-25 13:31:48 -04:00
Sascha Grunert 3c4f945425
Remove test comment for now succeeding tests
The related issue seems fixed so the test execution should work as
intended.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-08-25 15:26:34 +02:00
Daniel J Walsh 52b14a2218
Update vendor of buildah to latest code
Fix podman build man pages to match buildah functionality.

Also document .dockerignore formatted files.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-25 08:13:28 -04:00
zhangguanzhang fa6ba68026 fix apiv2 will create containers with incorrect commands
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-08-24 23:07:30 +08:00
OpenShift Merge Robot 8fdc116954
Merge pull request #7372 from giuseppe/add-unified-configuration
podman: add option --cgroup-conf
2020-08-24 09:55:14 -04:00
OpenShift Merge Robot 2c567dcbec
Merge pull request #7408 from alvistack/master-linux-amd64
Update nix pin with `make nixpkgs`
2020-08-24 05:05:02 -04:00
OpenShift Merge Robot e535f61775
Merge pull request #7274 from rhatdan/caps
In podman 1.* regression on --cap-add
2020-08-23 17:10:28 -04:00
OpenShift Merge Robot 80d2c01350
Merge pull request #7411 from zhangguanzhang/system-completion-in-bash
Add missing autocomplete
2020-08-23 06:43:26 -04:00
zhangguanzhang 7ea1864043 Add missing autocomplete
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-08-23 00:22:14 +08:00
Wong Hoi Sing Edison 41105d81f0
Update nix pin with `make nixpkgs`
Signed-off-by: Wong Hoi Sing Edison <hswong3i@gmail.com>
2020-08-22 09:28:57 +08:00
Giuseppe Scrivano d856210ea8
podman: add option --cgroup-conf
it allows to manually tweak the configuration for cgroup v2.

we will expose some of the options in future as single
options (e.g. the new memory knobs), but for now add the more generic
--cgroup-conf mechanism for maximum control on the cgroup
configuration.

OCI specs change: https://github.com/opencontainers/runtime-spec/pull/1040

Requires: https://github.com/containers/crun/pull/459

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-21 19:06:05 +02:00
Giuseppe Scrivano 3967c46544
vendor: update opencontainers/runtime-spec
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-08-21 19:06:04 +02:00
OpenShift Merge Robot 4828455055
Merge pull request #7390 from baude/podnet
error when adding container to pod with network information
2020-08-21 18:52:55 +02:00
Daniel J Walsh 3848cac860
In podman 1.* regression on --cap-add
In podman 1.0 if  you executed a command like:

podman run --user dwalsh --cap-add net_bind_service alpine nc -l 80

It would work, and the user dwalsh would get the capability,  in
podman 2.0, only root and the binding set gets the capability.

This change restores us back to the way podman 1.0 worked.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-08-21 10:56:29 -04:00
Brent Baude 7b21bcef58 error when adding container to pod with network information
because a pod's network information is dictated by the infra container at creation, a container cannot be created with network attributes.  this has been difficult for users to understand.  we now return an error when a container is being created inside a pod and passes any of the following attributes:

* static IP (v4 and v6)
* static mac
* ports -p (i.e. -p 8080:80)
* exposed ports (i.e. 222-225)
* publish ports from image -P

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-08-21 09:21:15 -05:00
OpenShift Merge Robot a8619bbb83
Merge pull request #7395 from zhangguanzhang/libpod-api-returns-null
fix /libpod/pods/json returns null when there are no pods
2020-08-21 15:27:57 +02:00
zhangguanzhang fb4977b936 fix /libpod/pods/json returns null when there are no pods
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2020-08-21 17:48:14 +08:00
OpenShift Merge Robot 516196f096
Merge pull request #7376 from edsantiago/cirrus_specialcase_only_title
Cirrus: special-case CI colon-IMG and colon-DOCS only in subject
2020-08-20 20:55:31 +02:00
OpenShift Merge Robot dd18844bdb
Merge pull request #7388 from Luap99/new-pod
fix pod creation with "new:" syntax followup + allow hostname
2020-08-20 20:46:05 +02:00
Paul Holzinger d10bc9f045 fix pod creation with "new:" syntax followup + allow hostname
Fixes: 4c75fe3f70 ("fix pod creation with "new:" syntax")

Commit 4c75fe3f70 passes all net options to the pod but forgot
to unset the options for the container creation. This leads to
erros when using flags like `--ip` since we tried setting
the ip on the pod and container which obviously fails.

I didn't notice the bug because we don't throw an error when
specifing port bindings on a container which joins the pods
network namespace. (#7373)

Also allow the use of `--hostname` and pass that option to the
pod and unset it for the container. The container has to use
the pods hostname anyway. This would error otherwise.

Added tests to prevent regression.

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-08-20 16:28:45 +02:00
OpenShift Merge Robot 7ccd821397
Merge pull request #7379 from lsm5/bindings-tutorial
[CI:DOCS] docs: include Go bindings tutorial
2020-08-20 12:42:19 +02:00
OpenShift Merge Robot 7865db5479
Merge pull request #7383 from mheon/unmount_storage_ctrs
Unmount c/storage containers before removing them
2020-08-20 11:21:47 +02:00
Lokesh Mandvekar 36b1ed0a26 [CI:DOCS] Include Go bindings tutorial
Include the Go bindings blog post as a tutorial

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-08-19 21:22:53 -04:00
Matthew Heon 1244d9e92c Unmount c/storage containers before removing them
When `podman rmi --force` is run, it will remove any containers
that depend on the image. This includes Podman containers, but
also any other c/storage users who may be using it. With Podman
containers, we use the standard Podman removal function for
containers, which handles all edge cases nicely, shutting down
running containers, ensuring they're unmounted, etc.

Unfortunately, no such convient function exists (or can exist)
for all c/storage containers. Identifying the PID of a Buildah,
CRI-O, or Podman container is extremely different, and those are
just the implementations under the containers org. We can't
reasonably be able to know if a c/storage container is *in use*
and safe for removal if it's not a Podman container.

At the very least, though, we can attempt to unmount a storage
container before removing it. If it is in use, this will fail
(probably with a not-particularly-helpful error message), but if
it is not in use but not fully cleaned up, this should make our
removing it much more robust than it normally is.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-08-19 17:48:42 -04:00
OpenShift Merge Robot 42690ff89c
Merge pull request #7366 from jwhonce/jira/run-991
Implement --connection flag
2020-08-19 22:43:02 +02:00
OpenShift Merge Robot dcdb6474d6
Merge pull request #7346 from rhatdan/systemd
Don't limit the size on /run for systemd based containers
2020-08-19 21:43:00 +02:00
OpenShift Merge Robot 9babd21dfc
Merge pull request #7344 from cevich/increase_timeout
Cirrus: Increase integration-testing timeout
2020-08-19 20:37:41 +02:00
OpenShift Merge Robot 15073f444e
Merge pull request #7362 from edsantiago/bats
system tests: enable more remote tests; cleanup
2020-08-19 20:31:45 +02:00
OpenShift Merge Robot d6ae56113a
Merge pull request #7369 from containers/dependabot/go_modules/github.com/containers/image/v5-5.5.2
Bump github.com/containers/image/v5 from 5.5.1 to 5.5.2
2020-08-19 20:28:40 +02:00
Ed Santiago 71adbcc52e Cirrus: special-case CI colon-IMG and colon-DOCS only in subject
As of a few minutes ago (relative to this commit), Cirrus
defines the CIRRUS_CHANGE_TITLE envariable as "First line
of CIRRUS_CHANGE_MESSAGE"[1]. Replace all conditionals
accordingly.

 [1] f8d2530c60

Reasoning: up until this PR, the presence of CI:IMG
or CI:DOCS *in the body* of the commit message would trigger
those magic CI code flows. This violates POLA, and actually
led to a bad PR (#7317) being merged because CI never ran.

Fixes: #7374

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-19 11:31:48 -06:00
Daniel J Walsh eb9e8fc558 Add support for --connection
* override --url and/or --identity fields from containers.conf
* --connection flag has higher precedence than ActiveService from
containers.conf. Which is set via podman system connection default
* Add newline to error message printed on stderr
* Added --connection to bash completion and documentation
* Updated bindings to query server in case of no path or /

Closes #jira-991
Fixes #7276

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Signed-off-by: Jhon Honce <jhonce@redhat.com>

Squashed commits to work around CI issue
2020-08-19 08:37:44 -07:00
Ed Santiago d254fa4c35 system tests: enable more remote tests; cleanup
info, images, run, networking tests: remove some skip_if_remote()s
that were added in the varlink days. All of these tests now seem
to work with APIv2.

help test: check that first output line from 'podman --help'
is the program description (regression check for #7273).

load test: clean up stray images, rewrite test to make it conform
to existing convention. In the process, discover and file #7337

exec test (and networking): file #7360, and add FIXME comment
to skip()s suggesting evaluating those tests once that is fixed.

pod test: now that #6328 is fixed, use 'podman pod inspect --format'
instead of relying on jq

Various other tests: add an explanation of why test is disabled
so we can more easily distinguish "this will never be meaningful
under remote" vs "hey, doesn't work for now, but maybe someday".

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-08-19 08:12:14 -06:00