11936 Commits

Author SHA1 Message Date
b6167cedb2 System tests: add :Z to volume mounts
selinux-policy-34.9-1.fc34 breaks a behavior we've relied on
since (at least) January 2020:

   - Revert "Add permission open to files_read_inherited_tmp_files()
     interface"

That's probably the correct thing to do, but it breaks our
existing tests. Solution: add ':Z' where needed.

Tested on Ed's laptop, which has the offending selinux-policy
as of 2021-05-31. Tests pass root and rootless. (I mention
this because tests will obviously pass in CI, which has a
much older selinux-policy).

Also: add a 'podman rmi' for cleanup in one test, to avoid
noise in test logs.

Fixes: #10522

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-06-01 15:26:18 -06:00
cbffdddce6 Merge pull request #10488 from baude/machinehostnetwork
Enable port forwarding on host
2021-06-01 19:41:46 +02:00
7a52440a6d Merge pull request #10508 from matejvasek/fix-from-img
Better error handing for images/create compat api
2021-06-01 19:10:47 +02:00
19cd46cdc2 Merge pull request #10510 from matejvasek/improve-creat-from-img
Use request context instead of background context
2021-06-01 19:08:49 +02:00
65ae1e4506 Merge pull request #10516 from vrothberg/fix-10512
[CI:DOCS] rm containers-mounts.conf.5.md
2021-06-01 19:06:47 +02:00
53642ca5e9 Merge pull request #10518 from zhangguanzhang/api-networks-list
[NO TESTS NEEDED] Fixes API list networks returns "null" instead of empty array when used with no networks
2021-06-01 17:31:47 +02:00
7ef3981abe Enable port forwarding on host
Using the gvproxy application on the host, we can now port forward from
the machine vm on the host.  It requires that 'gvproxy' be installed in
an executable location.  gvproxy can be found in the
containers/gvisor-tap-vsock github repo.

[NO TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-06-01 10:13:18 -05:00
1daaf34d7b [NO TESTS NEEDED] API list networks should return [] when used with no networks
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
2021-06-01 20:58:48 +08:00
249da1b93d [CI:DOCS] rm containers-mounts.conf.5.md
The code for mounts.conf including the man page lives in
containers/common, so remove it from Podman to prevent
divergence among the two repositories.

Fixes: #10512
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-06-01 13:57:07 +02:00
ef8ba99ff6 Use request context instead of background context
This fixes a goroutine leak. Previously if request was cancelled the
image pulling goroutine kept running regardless.

[NO TESTS NEEDED]

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-06-01 11:54:31 +02:00
7dd463bad1 Merge pull request #10504 from containers/dependabot/go_modules/github.com/onsi/ginkgo-1.16.3
Bump github.com/onsi/ginkgo from 1.16.2 to 1.16.3
2021-06-01 11:11:30 +02:00
8f5f0cf448 Merge pull request #10450 from containers/dependabot/go_modules/github.com/uber/jaeger-client-go-2.29.1incompatible
Bump github.com/uber/jaeger-client-go from 2.28.0+incompatible to 2.29.1+incompatible
2021-05-31 16:20:34 +02:00
3330f98762 Better error handing for images/create compat api
If server cannot resolve short name due to enforcing policy send
non-2xx status code.

[NO TESTS NEEDED]

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-05-31 15:30:56 +02:00
d657a070d3 Bump github.com/uber/jaeger-client-go
Bumps [github.com/uber/jaeger-client-go](https://github.com/uber/jaeger-client-go) from 2.28.0+incompatible to 2.29.1+incompatible.
- [Release notes](https://github.com/uber/jaeger-client-go/releases)
- [Changelog](https://github.com/jaegertracing/jaeger-client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/uber/jaeger-client-go/compare/v2.28.0...v2.29.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 12:55:49 +00:00
60b372b49b Merge pull request #10506 from vrothberg/fix-10493
generate systemd: make mounts portable
2021-05-31 14:53:35 +02:00
761466dcab Bump github.com/onsi/ginkgo from 1.16.2 to 1.16.3
Bumps [github.com/onsi/ginkgo](https://github.com/onsi/ginkgo) from 1.16.2 to 1.16.3.
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/ginkgo/compare/v1.16.2...v1.16.3)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-31 14:46:09 +02:00
c1c18039dc Merge pull request #10502 from rugk/patch-1
[CI:DOCS] fix: add missing space
2021-05-31 13:52:33 +02:00
5307218419 generate systemd: make mounts portable
Commit 748826fc88fc fixed a bug where slow mounting of the runroot was
causing issues when the units are started at boot.  The fix was to add
the container's runroot to the required mounts; the graph root has been
added as well.

Hard-coding the run- and graphroot to the required mounts, however,
breaks the portability of units generated with --now.  Those units are
intended to be running on any machine as, theoreticaly, any user.

Make the mounts portable by using the `%t` macro for the run root.
Since the graphroot's location varies across root and ordinary users,
drop it from the list of required mounts.  The graphroot was not causing
issues.

Fixes: #10493
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-31 11:31:27 +02:00
699272ed29 add missing space
Fixes a small typo in the man page. 🙂

Signed-off-by: rugk <rugk+git@posteo.de>
2021-05-31 08:36:42 +02:00
59236762ec Merge pull request #10481 from flouthoc/fix-sigsegv-rootless
rootless: fix SIGSEGV, Make `LISTEN_FDNAMES` optional
2021-05-30 02:20:31 +02:00
ffca97a01e Merge pull request #10499 from edsantiago/libera
[CI:DOCS] point IRC to libera.chat
2021-05-30 00:41:32 +02:00
51a8e01f82 [CI:DOCS] point IRC to libera.chat
Project IRC comms are moving to Libera. Update docs.

Confirmation cookie: libera-ieVeeGahbiaf1einguw1xav6bahquie

Signed-off-by: Ed Santiago <santiago@redhat.com>
2021-05-29 11:39:40 -06:00
2addc0f90d rootless: fix SIGSEGV ,make LISTEN_FDNAMES optional [Closes #10435].
[NO TESTS NEEDED]

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-05-29 15:16:26 +05:30
083746112f Merge pull request #10477 from Procyhon/manpage_syntax
[CI:DOCS] Manpage syntax proposal
2021-05-29 03:48:30 +02:00
3d6c19c8be Merge pull request #10487 from rhatdan/docs
[CI:DOCS] Update a way out of date transfer document
2021-05-28 12:18:41 +02:00
aa1e15961e Merge pull request #10385 from jwhonce/wip/engine_mode
[Techinal Debt][NO TESTS NEEDED] Cleanup ABI vs. Tunnel CLI commands
2021-05-28 12:14:42 +02:00
5bd1b7dfd5 Update a way out of date transfer document
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-28 05:59:16 -04:00
6deb1bc2ae Manpage syntax proposal
I looked at the man pages and found that while they are consistent in their basic concept, many things concerning formatting are not.
For example, it is not consistent that options are behind an H4 header.
The biggest criticism, however, is how commands and options are handled when referencing them in a text.
There is no clear structure between the man pages regarding this. Sometimes backticks are used and sometimes they are written in italic.
Also, the formatting regarding the appearance of the commands is not consistent either.
I would like to propose a uniform formatting and, if accepted, apply it to all man pages.
Uniformity is very important to me and it should be clear to the user when reading several man pages what exactly their content and references are about.

Signed-off-by: Alexander Richter <67486332+Procyhon@users.noreply.github.com>
2021-05-27 22:42:50 +02:00
3d8f37120d Merge pull request #10383 from rhatdan/kube
Handle image user and exposed ports in podman play kube
2021-05-27 21:18:05 +02:00
3223cb56dd Merge pull request #10490 from rhatdan/VENDOR
Vendor in containers/storage v1.32.1
2021-05-27 20:43:06 +02:00
33944cefe7 [Techinal Debt] Cleanup ABI vs. Tunnel CLI commands
[NO TESTS NEEDED]

This commit cleans up two issues:
* Most commands support all EngineModes so default to that. Let
  outlayers declare their intent.
* Use cobra.Annotations to set supported EngineMode. This simplies
  instantiating commands as there is now one method to communicate a
  commands requirements rather than two.
* Combined aliased commands into one file
* Fixed aliased commands where Args field did not match
* Updated examples in README.md for writing commands
* Remove redundant flag DisableFlagsInUseLine in cobra.Command
  initialization.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-05-27 11:40:43 -07:00
4f4a440afd Merge pull request #10489 from vrothberg/fix-data-race
create libimage-events channel in main routine
2021-05-27 19:42:04 +02:00
9cc6093602 Merge pull request #10434 from cevich/sync_multi-arch
Sync. workflow across skopeo, buildah, and podman
2021-05-27 13:00:59 -04:00
c59ae7c87c Merge pull request #10485 from baude/machinesshkeys
Add options to podman machine ssh
2021-05-27 12:57:44 -04:00
c9609d820b Vendor in containers/storage v1.32.1
Theoretically this should fix the aweful flake we have
been suffering with.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-27 12:34:26 -04:00
9822c3309c create libimage-events channel in main routine
Move the creation of the channel outside of the sub-routine to fix a
data race between writing the channel (implicitly by calling
EventChannel()) and using that channel in libimage.

[NO TESTS NEEDED]

Fixes: #10459
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-27 16:52:56 +02:00
8e5388e41d Add options to podman machine ssh
Add options to the podman machine ssh command that ignore
hostkeychecking and hosts file

-o 'UserKnownHostsFile /dev/null' -o 'StrictHostKeyChecking no

[NO TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-05-27 09:10:39 -05:00
cd1f99d063 Merge pull request #10483 from containers/dependabot/go_modules/github.com/onsi/gomega-1.13.0
Bump github.com/onsi/gomega from 1.12.0 to 1.13.0
2021-05-27 15:06:07 +02:00
61167834f2 Bump github.com/onsi/gomega from 1.12.0 to 1.13.0
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.12.0...v1.13.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-27 07:02:40 +00:00
542d730987 Merge pull request #10476 from mheon/ensure_exists_on_remove
Ensure that container still exists when removing
2021-05-27 08:55:03 +02:00
d9eb126925 Merge pull request #10447 from mheon/rootlesscni_default
Add the option of Rootless CNI networking by default
2021-05-26 23:13:40 +02:00
de293c9802 Handle image user and exposed ports in podman play kube
Currently if a user runs an image with a user specified or
exposed ports with podman play kube, the fields are ignored.

Fixed: https://github.com/containers/podman/issues/9609

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-05-26 16:39:04 -04:00
5b4ffc7ba7 Merge pull request #10431 from vrothberg/journald-logs
journald logger: fix race condition
2021-05-26 22:38:37 +02:00
fad6e1d3ef Ensure that container still exists when removing
After #8906, there is a potential race condition in container
removal of running containers with `--rm`. Running containers
must first be stopped, which was changed to unlock the container
to allow commands like `podman ps` to continue to run while
stopping; however, this also means that the cleanup process can
potentially run before we re-lock, and remove the container from
under us, resulting in error messages from `podman rm`. The end
result is unchanged, the container is still cleanly removed, but
the `podman rm` command will seem to have failed.

Work around this by pinging the database after we stop the
container to make sure it still exists. If it doesn't, our job is
done and we can exit cleanly.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-05-26 15:33:28 -04:00
533d88b656 Add the option of Rootless CNI networking by default
When the containers.conf field "NetNS" is set to "Bridge" and the
"RootlessNetworking" field is set to "cni", Podman will now
handle rootless in the same way it does root - all containers
will be joined to a default CNI network, instead of exclusively
using slirp4netns.

If no CNI default network config is present for the user, one
will be auto-generated (this also works for root, but it won't be
nearly as common there since the package should already ship a
config).

I eventually hope to remove the "NetNS=Bridge" bit from
containers.conf, but let's get something in for Brent to work
with.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2021-05-26 15:03:30 -04:00
ac94be37e9 Merge pull request #10465 from containers/dependabot/go_modules/github.com/containers/common-0.39.0
Bump github.com/containers/common from 0.38.4 to 0.39.0
2021-05-26 17:06:22 +02:00
d6b4e7a195 Merge pull request #10466 from vrothberg/fix-10459
libimage-events channel: fix data race
2021-05-26 16:32:19 +02:00
10569c988f journald logger: fix race condition
Fix a race in journald driver.  Following the logs implies streaming
until the container is dead.  Streaming happened in one goroutine,
waiting for the container to exit/die and signaling that event happened
in another goroutine.

The nature of having two goroutines running simultaneously is pretty
much the core of the race condition.  When the streaming goroutines
received the signal that the container has exitted, the routine may not
have read and written all of the container's logs.

Fix this race by reading both, the logs and the events, of the container
and stop streaming when the died/exited event has been read.  The died
event is guaranteed to be after all logs in the journal which guarantees
not only consistencty but also a deterministic behavior.

Note that the journald log driver now requires the journald event
backend to be set.

Fixes: #10323
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-26 14:51:58 +02:00
e81457dc8e Merge pull request #10430 from sjug/noop_gpu_flag
Add podman run --gpus flag for compatibility
2021-05-26 00:51:14 -07:00
d1c9e034ff libimage-events channel: fix data race
Fix a data race between creating and using the libimage-events channel.

[NO TESTS NEEDED] since it really depends on the scheduler and we
couldn't hit the race so far.

Fixes: #10459
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-26 09:28:44 +02:00