Commit graph

3377 commits

Author SHA1 Message Date
OpenShift Merge Robot e8fc990aad
Merge pull request #11654 from Luap99/health-docker
podman inspect add State.Health field for docker compat
2021-09-23 11:34:42 -04:00
OpenShift Merge Robot b08acdbc6b
Merge pull request #11714 from vrothberg/save-remove-signatures
podman save: enforce signature removal
2021-09-23 09:38:25 -04:00
Paul Holzinger 1199733754
podman inspect add State.Health field for docker compat
podman inspect shows the healthcheck status in `.State.Healthcheck`,
docker uses `.State.Health`. To make sure docker scripts work we
should add the `Health` key. Because we do not want to display both keys
by default we only use the new `Health` key. This is a breaking change
for podman users but matches what docker does. To provide some form of
compatibility users can still use `--format {{.State.Healthcheck}}`. IT
is just not shown by default.

Fixes #11645

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-23 14:44:34 +02:00
OpenShift Merge Robot 3d34d3a186
Merge pull request #11647 from EduardoVega/11491-U-suffix-mount-option
Add support for :U flag with --mount option
2021-09-23 08:32:24 -04:00
Valentin Rothberg 01bf8a6687 podman save: enforce signature removal
Enforce the removal of signatures in `podman save` to restore behavior
prior to the migration to libimage.  We may consider improving on that
in the future.  For details, please refer to the excellent summary by
@mtrmac [1].

[NO TESTS NEEDED] - manually verified but exisiting tests need some
further investigation (see [1]).

[1] https://github.com/containers/podman/pull/11669#issuecomment-925250264

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-23 13:50:49 +02:00
OpenShift Merge Robot b0d1c0fe22
Merge pull request #11704 from rhatdan/kube
podman generate kube should not include images command
2021-09-23 04:27:26 -04:00
OpenShift Merge Robot 1dba601b56
Merge pull request #11691 from afbjorklund/machine-list
Add more information about the VM to podman machine list
2021-09-22 18:47:48 -04:00
OpenShift Merge Robot f342784ce5
Merge pull request #11701 from ashley-cui/stream
Fix machine image
2021-09-22 18:44:47 -04:00
Eduardo Vega ed3c4a89d6 Add support for :U flag with --mount option
The :U flag can be used to change the ownership of source volumes based on
the UID, GID of the container. This is only supported by the --volume option,
this will allow to use --mount option as well.

Signed-off-by: Eduardo Vega <edvegavalerio@gmail.com>
2021-09-22 15:42:16 -06:00
Daniel J Walsh 1c4e6d8624
standardize logrus messages to upper case
Remove ERROR: Error stutter from logrus messages also.

[ NO TESTS NEEDED] This is just code cleanup.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-09-22 15:29:34 -04:00
Daniel J Walsh 45ee5c5db2
podman generate kube should not include images command
If the command came from the underlying image, then we should
not include it in the generate yaml file.

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

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-09-22 15:10:37 -04:00
Ashley Cui f5f95d722f Fix machine image
Make sure setting machine image to `testing` pulls down the testing
stream, and not the next stream

Signed-off-by: Ashley Cui <acui@redhat.com>
2021-09-22 14:38:24 -04:00
Anders F Björklund 0baee2cc33 Also show the (initial) disk size
[NO TESTS NEEDED]

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2021-09-22 17:14:16 +02:00
Anders F Björklund 911298252a Show cpus and memory in machine list
[NO TESTS NEEDED]

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2021-09-22 17:14:07 +02:00
Valentin Rothberg 49c5688a30 podman save: add --uncompressed
Add an option to `podman save` to allow uncompressed layers when
copying OCI images.  Do the neccessary plumbing for the remote client,
add tests and vendor in the latest commit from c/common to fetch
the neccessary changes in libimage.

Closes: #11613
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-22 12:38:07 +02:00
Matthew Heon 4ecbc7caae Add a backoff and retries to retrieving exited event
There's a potential race around extremely short-running
containers and events with journald. Events may not be written
for some time (small, but appreciable) after they are received,
and as such we can fail to retrieve it if there is a sufficiently
short time between us writing the event and trying to read it.

Work around this by just retrying, with a 0.25 second delay
between retries, up to 4 times.

[NO TESTS NEEDED] because I have no idea how to reproduce this
race in CI.

Fixes #11633

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2021-09-21 15:32:07 -04:00
OpenShift Merge Robot d8d494994a
Merge pull request #11662 from baude/kubenodev
Remove references to kube being development
2021-09-21 11:34:40 -04:00
Daniel J Walsh 185294cb8c
Generate kube should'd add podman default environment vars
Currently we add the default PATH, TERM and container from Podman
to every kubernetes.yaml file. These values should not be recorded
in the yaml files.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-09-21 09:03:31 -04:00
cdoern 8fac34b8ff Pod Device Support
added support for pod devices. The device gets added to the infra container and
recreated in all containers that join the pod.

This required a new container config item to keep track of the original device passed in by the user before
the path was parsed into the container device.

Signed-off-by: cdoern <cdoern@redhat.com>
2021-09-20 23:22:43 -04:00
OpenShift Merge Robot fff178fe51
Merge pull request #11601 from cdoern/mapOptions
Created MapOptions for PodCreate
2021-09-20 14:02:42 -04:00
Brent Baude 61217f3ba9 Remove references to kube being development
At this point and even though we are always improving the play and
generate kube functions, I would say it no longers needs to be denoted
as under development.

[NO TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2021-09-20 12:47:15 -05:00
OpenShift Merge Robot 4cdffd0714
Merge pull request #11656 from Luap99/compat-id
compat API: /images/json prefix image id with sha256
2021-09-20 12:34:44 -04:00
OpenShift Merge Robot cc6a85bcde
Merge pull request #11652 from vrothberg/vendor-common
vendor c/common@main
2021-09-20 10:35:44 -04:00
Valentin Rothberg 5098124570 vendor c/common@main
Finalizes the linked BZ to fix passing down custom authfiles during auto
updates.  Also fixes the if-newer pull policy.

[NO TESTS NEEDED] for now validated manually.  There's a TODO to add a
new system test that I did not find time for before PTO.

BZ: bugzilla.redhat.com/show_bug.cgi?id=2000943
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-20 15:07:41 +02:00
Valentin Rothberg 92ee2f372b remote untag: support digests
Fix a bug when remotely untagging an image via tag@digest.
The digest has been lost in the remote client and hence led
to a wrong behaviour on the server.

Fixes: #11557
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-20 15:06:37 +02:00
cdoern cb077c968d Created MapOptions for PodCreate
MapOptions take the pod and container create options, assigning matching values from infra
back to the pod for the Libpod API. This function, unlike the previous one, does not require any
manual additions when new options are added since it uses the structs JSON tags, this is a more modular approach.

Signed-off-by: cdoern <cdoern@redhat.com>
2021-09-20 08:33:15 -04:00
Paul Holzinger 5242030ac2
compat API: /images/json prefix image id with sha256
Docker adds the `sha256:` prefix to the image ID, so our compat endpoint
has to do this as well.

Fixes #11623

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-20 13:47:29 +02:00
OpenShift Merge Robot 84c61b7d36
Merge pull request #11606 from giuseppe/always-move-pause-process-to-scope
runtime: move pause process to scope
2021-09-17 04:35:58 -04:00
Giuseppe Scrivano 72534a74b3
system: move MovePauseProcessToScope to utils
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 20:17:39 +02:00
Giuseppe Scrivano 9c1e27fdd5
system: always move pause process when running on systemd
when running on a systemd with systemd, always try to move the pause
process to its own scope.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 20:17:39 +02:00
Giuseppe Scrivano fa9728c550
system: avoid reading pause pid file
we already know the path to the pause PID file, no need to calculate
it again.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-16 20:17:38 +02:00
Paul Holzinger 5c7935057c
Do not allow network modes to be used as network names
`podman network create` should not allow users to create networks with a
name which is already used for a network mode in `podman run --network`.

Fixes #11448

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-16 11:01:52 +02:00
Matej Vasek 9c091e42db fix inverted condition
[NO TESTS NEEDED]

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-09-16 00:37:17 +02:00
OpenShift Merge Robot 5f41ffdd19
Merge pull request #11322 from Luap99/network-libpod
Wire network interface into libpod
2021-09-15 16:11:14 -04:00
OpenShift Merge Robot 505c9718cc
Merge pull request #11595 from matejvasek/fix-auth-ep
Fix /auth compat endpoint
2021-09-15 15:46:58 -04:00
OpenShift Merge Robot f38503a1a3
Merge pull request #11592 from Luap99/runlabel-name
container runlabel remove image tag from name
2021-09-15 15:03:58 -04:00
Matej Vasek 7c5d64b478 Fix /auth compat endpoint
Signed-off-by: Matej Vasek <mvasek@redhat.com>
2021-09-15 20:01:02 +02:00
Paul Holzinger b906b9d858
Drop OCICNI dependency
We do not use the ocicni code anymore so let's get rid of it. Only the
port struct is used but we can copy this into libpod network types so
we can debloat the binary.

The next step is to remove the OCICNI port mapping form the container
config and use the better PortMapping struct everywhere.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-15 20:00:28 +02:00
Paul Holzinger 85e8fbf7f3
Wire network interface into libpod
Make use of the new network interface in libpod.

This commit contains several breaking changes:
- podman network create only outputs the new network name and not file
  path.
- podman network ls shows the network driver instead of the cni version
  and plugins.
- podman network inspect outputs the new network struct and not the cni
  conflist.
- The bindings and libpod api endpoints have been changed to use the new
  network structure.

The container network status is stored in a new field in the state. The
status should be received with the new `c.getNetworkStatus`. This will
migrate the old status to the new format. Therefore old containers should
contine to work correctly in all cases even when network connect/
disconnect is used.

New features:
- podman network reload keeps the ip and mac for more than one network.
- podman container restore keeps the ip and mac for more than one
  network.
- The network create compat endpoint can now use more than one ipam
  config.

The man pages and the swagger doc are updated to reflect the latest
changes.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-15 20:00:20 +02:00
Paul Holzinger 0b1c45bc54
container runlabel remove image tag from name
When no name is given for podman container runlabel it will default to
the image base name. However this can contain a tag. Since podman does
not accept container names with a colon the run command will fail if it
contains something like `podman run --name NAME ...`.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2004263

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-15 16:35:55 +02:00
OpenShift Merge Robot 4b6ffda31c
Merge pull request #11409 from cdoern/podVolumes
Pod Volumes Support
2021-09-15 09:10:12 -04:00
OpenShift Merge Robot 10873c6f49
Merge pull request #11578 from jelly/handle_nil_pointer_deref
api: handle nil pointer dereference in api endpoints
2021-09-15 06:23:00 -04:00
OpenShift Merge Robot aff64dda65
Merge pull request #11574 from nalind/buildah-platforms
build: take advantage of --platform lists
2021-09-15 06:21:58 -04:00
Jelle van der Waa 9b04e17893 api: handle nil pointer dereference in rest endpoints
When `?all=garbage` is passed to an API endpoint schema validation fails
and err is nil. Wrapf uses err to create an error message causing a nil
pointer dereference.

Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
2021-09-15 09:14:34 +02:00
Nalin Dahyabhai 5dbf3ee7ae build: take advantage of --platform lists
The builder can take a list of platforms in the Platforms field of its
BuildOptions argument, and we should definitely take advantage of that.

The `bud-multiple-platform-values` test from buildah exercises support
for this, so
[NO TESTS NEEDED]

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2021-09-14 17:09:06 -04:00
OpenShift Merge Robot 323fe36313
Merge pull request #11575 from jelly/doc_all_option
[CI:DOCS] Document `all` query parameter for /libpod/images/prune
2021-09-14 16:34:10 -04:00
Jelle van der Waa 64de4f612e Document all query parameter for /libpod/images/prune
Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
2021-09-14 21:54:06 +02:00
OpenShift Merge Robot 6a34045c67
Merge pull request #11170 from flouthoc/support-rootfs-overlay
rootfs: Add support for rootfs-overlay.
2021-09-14 13:14:11 -04:00
OpenShift Merge Robot 65b1ff25a3
Merge pull request #11569 from baude/macaarch64pullfcos
Use new aarch64 fcos repos
2021-09-14 13:08:13 -04:00
OpenShift Merge Robot bb8b2ed7de
Merge pull request #11559 from jwhonce/wip/generator
Enhance bindings for IDE hints
2021-09-14 13:04:11 -04:00