Commit graph

2089 commits

Author SHA1 Message Date
Aditya Rajan
f4f96962c0
tag: Support tagging manifest list instead of resolving to images
Following commit makes sure when buildah tag is invoked on a manifest
list, it tags the same manifest list instead of resolving to an image and
tagging it.

Port of: https://github.com/containers/buildah/pull/3483

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-10-21 17:44:31 +05:30
OpenShift Merge Robot
eba281c3e0
Merge pull request #11851 from cdoern/podRm
Pod Rm Infra Handling Improvements
2021-10-20 13:20:12 +00:00
OpenShift Merge Robot
82fd2999b2
Merge pull request #11937 from flouthoc/overlay-rootfs-chown
libpod: change mountpoint ownership when creating overlays on top of external rootfs
2021-10-19 17:14:40 +00:00
Aditya Rajan
9500e11a8f
libpod: change mountpoint ownership c.Root when using overlay on top of external rootfs
Allow chainging ownership of mountpoint created on top external overlay
rootfs to support use-cases when custom --uidmap and --gidmap are
specified.

Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-10-19 16:12:07 +05:30
Daniel J Walsh
34dcbc9491
Change podman connection list to use default field
Stop using "*" to indicate default.  Add default field to make
it more obvios and the json field more machine usable.

Fixes: https://github.com/containers/podman/issues/12019

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-18 16:52:52 -04:00
cdoern
4f7a431daf Pod Rm Infra Improvements
Made changes so that if the pod contains all exited containers and only infra is running, remove the pod.

resolves #11713

Signed-off-by: cdoern <cdoern@redhat.com>
2021-10-18 11:39:12 -04:00
Aditya Rajan
d0f7b99c6d
rootfs-overlay: fix overlaybase path for cleanups
Following commit ensures not dandling mounts are left behind when we are
creating an overlay on top of external rootfs.

Co-authored-by: Valentin Rothberg <rothberg@redhat.com>
Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-10-18 19:01:55 +05:30
OpenShift Merge Robot
171f7b8975
Merge pull request #11955 from adrianreber/2021-10-13-f35-checkpoint-test-fix
Checkpoint/Restore test fixes
2021-10-15 16:57:37 +02:00
OpenShift Merge Robot
673cc5054c
Merge pull request #11982 from umohnani8/targetPort
Set targetPort to the port value in the kube yaml
2021-10-15 16:56:43 +02:00
OpenShift Merge Robot
a5c13bb8f7
Merge pull request #11979 from cevich/more_criu_fix
Test-hang fix: Wait for ready + timeout on connect.
2021-10-15 15:26:46 +02:00
Urvashi Mohnani
8db62d04fd Set targetPort to the port value in the kube yaml
When the targetPort is not defined, it is supposed to
be set to the port value according to the k8s docs.
Add tests for targetPort.
Update tests to be able to check the Service yaml that
is generated.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-10-14 17:03:26 -04:00
Urvashi Mohnani
16e7cc8bf1 Do not add TCP to protocol in generated kube yaml
As the default protocol in k8s is TCP, don't add it
to the generate yaml when using protocol.
Add UDP to the protocol of the generated yaml when udp
is being used.
Add tests for this as well.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-10-14 17:03:14 -04:00
Chris Evich
c1497cf44f
Test-hang fix: Wait for ready + timeout on connect.
It was observed during initial F35 testing, this test can cause Ginkgo
to "hang" by attempting to connect before the redis is up/listening.
Fix this by confirming the ready-state before attempting to connect.
Also, force IPv4 and timeout on any connection fault - to allow other
tests to run.

Thanks to Adrian Reber for help on this and related fixes.

Signed-off-by: Chris Evich <cevich@redhat.com>
2021-10-14 15:47:45 -04:00
Adrian Reber
8439a6d5ee
Checkpoint/Restore test fixes
Moving to Fedora 35 showed test failures (time outs) in the test

"podman checkpoint and restore container with different port mappings"

The test starts a container and maps the internal port 6379 to the local
port 1234 ('-p 1234:6379') and then tries to connect to localhost:1234

On Fedora 35 this failed and blocked the test because the container was
not yet ready. The test was trying to connect to localhost:1234 but
nothing was running there. So the error was not checkpointing related.

Before trying to connect to the container the test is now waiting for
the container to be ready.

Another problem with this test and running ginkgo in parallel was that
it was possible that the port was already in use. Now for each run a
random port is selected to decrease the chance of collisions.

Signed-off-by: Adrian Reber <areber@redhat.com>
2021-10-14 18:53:32 +00:00
Daniel J Walsh
7112a4159b
Fix codespell errors
Along with a couple of nits found by Ed.

[NO NEW TESTS NEEDED]

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-14 08:44:09 -04:00
Urvashi Mohnani
5d18fb9239 Don't add image entrypoint to the generate kube yaml
If no entrypoint or command is set in the podman create
command, and the image command or entrypoint is being
used as the default, then do not add the image command or
entrypoint to the generated kube yaml.
Kubernetes knows to default to the image command and/or
entrypoint settings when not defined in the kube yaml.
Add and modify tests for this case.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-10-13 15:18:04 -04:00
OpenShift Merge Robot
9f1452cbb5
Merge pull request #11944 from cdoern/kubeEmit
Kube Gen run as user/group issues
2021-10-13 19:42:14 +02:00
OpenShift Merge Robot
a235f43ac0
Merge pull request #11949 from Luap99/net-range
CNI: fix network create --ip-range
2021-10-13 18:42:15 +02:00
OpenShift Merge Robot
1c156f2267
Merge pull request #11948 from rhatdan/codespell
codespell code
2021-10-13 14:46:00 +02:00
Valentin Rothberg
14bfee31f7 podman search: display only name and description by default
Change the default format of `podman search` to only display the name
and the description of each image.  The index is redundant to the name
and consumes a lot of space, and other descriptors (i.e., stars,
official, automated) are specific to Docker Hub and also consume a lot
space.  Users can still use `--format` for displaying the descriptors
they want to.

Add a `--compatible` flag to offer an easy way to get them back.

Also update the man page to account for the behavior and get some fresh
data in the examples.

Motivated by a recent conversation in libimage:
https://github.com/containers/common/pull/802#issuecomment-937108734

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-10-13 10:13:24 +02:00
Daniel J Walsh
8600bce53a
codespell code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-12 16:44:25 -04:00
Paul Holzinger
cead185373
CNI: fix network create --ip-range
The --ip-range option did not work correctly. The endIP was accidentally
assigned to the start IP. New tests are added to make sure it works.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-10-12 22:36:24 +02:00
cdoern
4631f5b283 Kube Gen run as user/group issues
Removed the inclusion of RunAsUser or RunAsGroup unless a container is run with the --user flag. When building from an image
the user will be pulled from there anyway

resolves #11914

Signed-off-by: cdoern <cdoern@redhat.com>
2021-10-12 16:22:01 -04:00
OpenShift Merge Robot
72e87c0ca8
Merge pull request #11924 from jwhonce/issues/11894
Refactor podman search to be more code friendly
2021-10-12 22:17:09 +02:00
OpenShift Merge Robot
03095bd090
Merge pull request #11927 from jwhonce/issues/11921
Fix CI flake on time of shutdown for API service
2021-10-12 21:08:10 +02:00
Jhon Honce
0459484bdf Fix CI flake on time of shutdown for API service
* Increase timeout for tests to 10s
* To aid in debugging add PID to shutdown package logging
* Added new message for forced service shutdown
* Always wait for HTTP server to shutdown, duration of 0 not friendly
  to clients

Note: The log event

"IdleTracker: StateClosed transition by connection marked un-managed"

denotes a TCP connection has been initiated but no HTTP request was sent.
And is expected during these tests.

Fixes #11921

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-10-12 09:53:19 -07:00
Jhon Honce
b28a8bc198 Refactor podman search to be more code friendly
* JSON and API description fields are no longer truncated. Formatting
  moved to client, better support of MVP.
* --no-trunc now defaults to true
* Updated tests for changes

Closes #11894

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-10-12 09:30:40 -07:00
Aditya Rajan
ab8fb3876d
builder: Add support for builder prune
Docker has support for docker builder prune and
docker builder build

This patch will add a hidden command to support scripts using this
syntax. We don't want to encourage this deviation.

Add podman build prune to implement docker builder prune
functionality.

Co-authored-by: Daniel J Walsh <dwalsh@redhat.com>
Signed-off-by: Aditya Rajan <arajan@redhat.com>
2021-10-12 15:31:54 +05:30
OpenShift Merge Robot
2fcec59445
Merge pull request #11920 from jwhonce/issues/11891
Use SplitN(2) when copying env variables
2021-10-11 20:29:05 +02:00
OpenShift Merge Robot
b1a2657b4b
Merge pull request #11819 from trynaeat/dial-stdio
Adding dial-stdio CLI cmd
2021-10-11 18:43:10 +02:00
Jhon Honce
6b2939884c Use SplitN(2) when copying env variables
Environment variables whose value contained an equal sign where
truncated

Fixes #11891

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-10-11 09:14:27 -07:00
OpenShift Merge Robot
60c711f789
Merge pull request #11869 from jwhonce/wip/pprof
Enable /debug/pprof API service endpoints
2021-10-10 12:54:29 +02:00
OpenShift Merge Robot
c47f714fe8
Merge pull request #11880 from rhatdan/stoptimeout
Warn if podman stop timeout expires that sigkill was sent
2021-10-10 12:52:30 +02:00
Jhon Honce
8d3aec9d08 Enable /debug/pprof API service endpoints
* Refactor sidecar HTTP service for /debug/pprof endpoints to use a TCP
  address given via new podman system service --pprof-address flag

* Allow same URL parsing in "system service" as bindings/connection.go

* Refactor NewServerWithSettings() to use entities.ServiceOptions
  in place of deleted server.Options

* Updated godoc for impacted functions and types

* Fixed API service Shutdown() to do an orderly shutdown when
  terminated and running with --time=0

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-10-08 13:57:20 -07:00
Daniel J Walsh
48d26a893e
Warn if podman stop timeout expires that sigkill was sent
Note: the Warning message will not come to podman-remote.
It would be difficult to plumb, and not really worth the effort.

Fixes: https://github.com/containers/podman/issues/11854

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-08 07:06:37 -04:00
Chen Zhiwei
6fc73ea4ea [CI:DOCS] introduce --replace flag for play kube
With this flag, users can easily sync up the yaml content with the existing pods.

Fixes #11481

Signed-off-by: Chen Zhiwei <zhiweik@gmail.com>
2021-10-08 10:14:35 +08:00
Jake Parks
6f9e9ee9ec Fixes #11668
Adding dial-stdio CLI cmd

Signed-off-by: Jake Parks <jamesparks10@gmail.com>

Made dial-stdio URI configurable

Slight refactors

Signed-off-by: Jake Parks <jamesparks10@gmail.com>

Added simple test for existence of `podman system dial-stdio` command

Fix 'system dial-stdio' integration tests

Changed link in comment to permalink
2021-10-06 19:18:26 +00:00
Daniel J Walsh
21c9dc3c40
Add --time out for podman * rm -f commands
Add --time flag to podman container rm
Add --time flag to podman pod rm
Add --time flag to podman volume rm
Add --time flag to podman network rm

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-04 07:07:56 -04:00
OpenShift Merge Robot
375fbb9805
Merge pull request #11816 from cdoern/podEventsBug
Pod Events Logging Fix
2021-10-02 07:42:05 -04:00
cdoern
163d81cc0d Pod Events Logging Fix
on create, libpod was only creating a new event if the pod had an infra container.
now, pod creation triggers a new pod event with or without infra

Signed-off-by: cdoern <cdoern@redhat.com>
2021-10-01 14:50:58 -04:00
cdoern
6da97c8631 Pod Volumes From Support
added support for a volumes from container. this flag just required movement of the volumes-from flag declaration
out of the !IsInfra block, and minor modificaions to container_create.go

Signed-off-by: cdoern <cdoern@redhat.com>
2021-10-01 14:09:11 -04:00
OpenShift Merge Robot
1b88b678cf
Merge pull request #11707 from rhatdan/play
Add podman play kube --no-hosts options
2021-10-01 13:27:17 -04:00
Daniel J Walsh
641f0ccc4e
Add podman play kube --no-hosts options
This option will setup the containers to not modify their /etc/hosts
file and just use the one from the image.

Fixes: https://github.com/containers/podman/issues/9500

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-10-01 10:53:50 -04:00
OpenShift Merge Robot
81aabc8054
Merge pull request #11686 from cdoern/podDeviceOptions
Pod Device-Read-BPS support
2021-10-01 10:53:14 -04:00
OpenShift Merge Robot
16b9b51ae1
Merge pull request #11806 from giuseppe/play-kube-fix-cpu-limits
kube: fix conversion from milliCPU to period/quota
2021-09-30 13:34:52 -04:00
Brent Baude
1ff6a5082a Support selinux options with bind mounts play/gen
When using play kube and generate kube, we need to support if bind
mounts have selinux options.  As kubernetes does not support selinux in
this way, we tuck the selinux values into a pod annotation for
generation of the kube yaml.  Then on play, we check annotations to see
if a value for the mount exists and apply it.

Fixes BZ #1984081

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-09-30 10:49:14 -05:00
Giuseppe Scrivano
9c6c981928
kube: fix conversion from milliCPU to period/quota
Closes: https://github.com/containers/podman/issues/11803

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-30 16:08:43 +02:00
cdoern
2d86051893 Pod Device-Read-BPS support
added the option for the user to specify a rate, in bytes, at which they would like to be able
to read from the device being added to the pod. This is the first in a line of pod device options.

WARNING: changed pod name json tag to pod_name to avoid confusion when marshaling with the containerspec's name

Signed-off-by: cdoern <cdoern@redhat.com>
2021-09-28 21:20:01 -04:00
Matthew Heon
678b554b1f Ensure pod ID bucket is properly updated on rename
As we were not updating the pod ID bucket, removing a pod with
containers still in it (including the infra container, which will
always suffer from this) will not properly update the name
registry to remove the name of any renamed containers. This
patch ensures that does not happen - all containers will be fully
removed, even if renamed.

Fixes #11750

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-09-28 14:12:18 -04:00
OpenShift Merge Robot
2d22d17066
Merge pull request #11751 from Luap99/net-alias
always add short container id as net alias
2021-09-28 10:03:17 -04:00