Commit Graph
3299 Commits
Author SHA1 Message Date
OpenShift Merge Robot d68e429859 Merge pull request #11476 from vrothberg/fix-11392
container inspect: improve error handling
2021-09-08 16:57:23 +02: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
Valentin Rothberg 6aa666a27c container inspect: improve error handling
Improve the error handling of `container inspect` to properly handle
when the container has been removed _between_ the lookup and the
inspect.  That will yield the correct "no such object" error message in
`inspect`.

[NO TESTS NEEDED] since I do not know have a reliable and cheap
reproducer.  It's fixing a CI flake, so there's already an indicator.

Fixes: #11392
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-08 13:26:29 +02:00
OpenShift Merge Robot cd43cf8d58 Merge pull request #11453 from jonpspri/qemu-apple-silicon-bios-fd
QEMU Apple Silicon: Find BIOS FD wherever
2021-09-08 10:25:22 +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
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
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 c9646b5126 Merge pull request #11437 from MichaelAnckaert/fix-11418
[NO TESTS NEEDED] Fix #11418 - Default TMPDIR to /tmp on OS X
2021-09-07 18:48:26 +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 b07e735661 Merge pull request #11434 from coypoop/patch1
Spell "build linux darwin" as "build !windows".
2021-09-07 17:27:45 +02:00
OpenShift Merge Robot 88976fcede Merge pull request #11466 from jelly/doc_api_restart
[CI:DOCS] Document default timeout for libpod API Container Restart
2021-09-07 17:03: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
Jonathan Springer 8b4f99ac20 QEMU Apple Silicon: Find BIOS FD wherever
QEmu normally install BIOS images under `/usr/local` prefix, but
Homebrew installs them under `/opt/homebrew`.  This change searches both
locations and then puts back to an unpathed name if it doesn't find the
BIOS.  (I imitated other architectures' implemenations in that failback
behavior.)

[NO TESTS NEEDED]

Signed-off-by: Jonathan Springer <jonpspri@gmail.com>
2021-09-07 09:01:26 -04:00
Jelle van der Waa 1150d1b0b8 Document default timeout for libpod API Container Restart
Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
2021-09-07 14:46:00 +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
OpenShift Merge Robot 668deb2ff1 Merge pull request #11442 from scottschreckengaust/main
Adding `-cpu host` for qemu for MacOS
2021-09-07 13:12:40 +02:00
Aditya Rajan bd64039278 cgroup-info: check if user.slice is valid before accessing value
Prevent hitting `panic: runtime error: index out of range [1] with length 1`
while performing `podman info` when unexpected values for user.slice is found.

[NO TESTS NEEDED]

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-09-07 00:59:21 +05:30
Scott Schreckengaust 57133bb334 Fix warning of unsupported feature on MacOS
Adding the `-cpu host` option to the `addArchOptions` function for
darwin removes the warning message, "host doesn't support requested
feature: CPUID.80000001H:ECX.svm [bit 2]" by qemu-system-x86_64 when
using the `podman machine start` command on MacOS

Closes #11421

[NO TESTS NEEDED]

Signed-off-by: Scott Schreckengaust <scottschreckengaust@users.noreply.github.com>
2021-09-06 09:55:24 -07:00
Jonathan Springer c01f7725a5 TCG Accel fallback for Apple Silicon. Iss #10577
Cause qemu to fall back to using TCG acceleration when HVP acceleration
is not available on Darwin Aarch64.  Qemu prints a warning which it is
desirable to leave to embarrass the upstream Qemu into approving the HVF
patches.

[NO TESTS NEEDED]

Signed-off-by: Jonathan Springer <jspringer@us.ibm.com>
Signed-off-by: Jonathan Springer <jonpspri@gmail.com>
2021-09-05 12:31:36 -04: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
OpenShift Merge Robot bbd03df3e1 Merge pull request #11439 from coypoop/libvirt-unused
Remove unused stubs intended to start a machine with libvirt
2021-09-04 15:01:29 +02:00
Michael Anckaert e151f4c9f7 Fix #11418 - Default TMPDIR to /tmp on OS X
Signed-off-by: Michael Anckaert <michael.anckaert@sinax.be>
2021-09-04 08:40:57 +02:00
Maya Rashish 274a3bc80b Remove unused stubs intended to start a machine with libvirt
[NO TESTS NEEDED]

Signed-off-by: Maya Rashish <maya@NetBSD.org>
2021-09-03 22:43:38 +03:00
Maya Rashish 8d9e19b035 Spell "build linux darwin" as "build !windows".
Equivalent for supported platforms, and makes it easier to support
additional unix-like OSes.

[NO TESTS NEEDED]

Signed-off-by: Maya Rashish <maya@NetBSD.org>
2021-09-03 13:38:14 +03:00
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
Guillaume Rose 90998176d9 machine: always check error of net.Dial, even after last try
When net.Dial always fail in the above loop, the code following the loop
is executed. This error check prevents this.

[NO TESTS NEEDED]

Signed-off-by: Guillaume Rose <gurose@redhat.com>
2021-09-03 09:10:35 +02: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
Paul Holzinger a077335ce5 make podman run --systemd case insensitive
Since boolean flags accept `True` and `False` the systemd flag should do
this as well.

Fixes #11387

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-02 11:01:10 +02:00
OpenShift Merge Robot fff12da70e Merge pull request #11391 from Luap99/rootlessport-socket
rootlessport: allow socket paths with more than 108 chars
2021-09-01 12:12:26 -04:00
Paul Holzinger abdedc31a2 rootlessport: allow socket paths with more than 108 chars
Creating the rootlessport socket can fail with `bind: invalid argument`
when the socket path is longer than 108 chars. This is the case for
users with a long runtime directory.
Since the kernel does not allow to use socket paths with more then 108
chars use a workaround to open the socket path.

[NO TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-01 16:14:40 +02:00
OpenShift Merge Robot f5cfb0da29 Merge pull request #11388 from Luap99/stop-cleanup
podman stop always cleanup
2021-09-01 10:04:38 -04:00
Paul Holzinger a55f595fe1 podman stop always cleanup
When a container is configured for auto removal podman stop should still
do cleanup, there is no guarantee the the cleanup process spawned by
conmon will be successful. Also a user expects after podman stop that
the network/mounts are cleaned up. Therefore podman stop should not return
early and instead do the cleanup and ignore errors if the container was
already removed.

[NO TESTS NEEDED] I don't know how to test this.

Fixes #11384

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-01 12:56:38 +02:00
Valentin Rothberg f9a689f3ed generate systemd: clarify limitations of --new
`generate systemd --new` is looking at the "create command" of the
container/pod which is simply the os.Args at creation time.

It does not work on containers or pods created via the REST API since
the create command is not set.  `--new` does work on such containers and
pods since there is no reliable way to reverse-map their configs to
command-line arguments of podman.

Fixes: #11370
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-01 08:50:03 +02:00
OpenShift Merge Robot 83de22e892 Merge pull request #11357 from vrothberg/fix-11171
auto-update: fix authfile label
2021-08-31 04:16:58 -04:00
Matthew Heon c976667231 Merge pull request #11342 from baude/machinecleanups
clean up socket and pid files from podman machine
2021-08-30 15:14:19 -04:00
Brent Baude a2a166345e clean up socket and pid files from podman machine
to avoid segvs, we should clean up as much of the socket and regular
files from podman machine as possible on stop.  also, on start, we
should add logic to remove these files before starting in case the start
process is stopped prematurely (due to an error for example).

[NO TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-08-30 12:29:06 -05:00
Valentin Rothberg de3920c0e9 auto-update: fix authfile label
Make sure that the container's authfile label is used when pulling down
a new image.

[NO TESTS NEEDED] since it would require some larger rewrite of the
auto-update system tests that I currently have no time for.  I added a
reminder to have some breadcrumbs when there is more time.

Fixes: #11171
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-08-30 13:49:35 +02:00
OpenShift Merge Robot a2acd04447 Merge pull request #11334 from jwhonce/issues/10831
Add support for mount options to API
2021-08-27 16:22:55 -04:00
Jhon Honce a5adc3d80f Add support for mount options to API
When creating containers the specialized mount options where not
populated via the API.

Fixes: #10831
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-08-27 11:11:01 -07:00
OpenShift Merge Robot b21f8ea206 Merge pull request #11333 from rhatdan/http-proxy
Globally replace http:// with https://
2021-08-27 13:26:56 -04:00
Daniel J Walsh 8469417040 Globally replace http:// with https://
[NO TESTS NEEDED] Hopefully existing tests will find issues.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-08-27 06:14:46 -04:00
cdoern d28e85741f InfraContainer Rework
InfraContainer should go through the same creation process as regular containers. This change was from the cmd level
down, involving new container CLI opts and specgen creating functions. What now happens is that both container and pod
cli options are populated in cmd and used to create a podSpecgen and a containerSpecgen. The process then goes as follows

FillOutSpecGen (infra) -> MapSpec (podOpts -> infraOpts) -> PodCreate -> MakePod -> createPodOptions -> NewPod -> CompleteSpec (infra) -> MakeContainer -> NewContainer -> newContainer -> AddInfra (to pod state)

Signed-off-by: cdoern <cdoern@redhat.com>
2021-08-26 16:05:16 -04:00
OpenShift Merge Robot 94c37d7d47 Merge pull request #11298 from baude/kubeupdown
teardown play kube
2021-08-26 13:58:44 -04:00
OpenShift Merge Robot 18da5b0bf6 Merge pull request #11208 from ashley-cui/streams
[NO TESTS NEEDED] Allow setting of machine stream and image path from containers.conf
2021-08-26 10:13:08 -04:00
OpenShift Merge Robot 54e0afffe7 Merge pull request #11218 from cdoern/untilBug
logFile until flag issue, negative duration replaced with positive
2021-08-26 10:12:09 -04:00
OpenShift Merge Robot 49cfed756f Merge pull request #11103 from jwhonce/wip/bindings
Fix file descriptor leaks in bindings and add test
2021-08-25 14:42:12 -04:00
OpenShift Merge Robot fefa0b32c7 Merge pull request #11314 from Luap99/expose-ports
podman inspect show exposed ports
2021-08-25 09:29:03 -04:00
Jhon Honce 1dc6d14735 Fix file descriptor leaks and add test
* Add response.Body.Close() where needed to release HTTP
  connections to API server.
* Add tests to ensure no general leaks occur. 100% coverage would be
  required to ensure no leaks on any call.
* Update code comments to be godoc correct

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-08-24 16:36:10 -07:00
Brent Baude 1e176923b1 teardown play kube
add the ability for play kube to tear down based on the yaml used to
play it.  it is indicated by --down in the play kube command.  volumes
are NOT deleted during the teardown.  pods and their containers are
stopped and removed.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-08-24 14:26:14 -05:00