Commit graph

3350 commits

Author SHA1 Message Date
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
baude
952fc4a6f9 Use new aarch64 fcos repos
Now that aarch64 fcos is an official thing, we no longer need to use the side repo (for lack of a better word).  We can now use the same image lookup technique as x86_64.  I removed the special lookup, moved the x86_64 lookup to generic arch, and removed the arch specific files that we no longer needed.

[NO TESTS NEEDED]

Signed-off-by: baude <baude@redhat.com>
2021-09-14 09:52:31 -05:00
OpenShift Merge Robot
27ebae9e90
Merge pull request #11551 from Luap99/rootlessport-restart
fix restart always with rootlessport
2021-09-14 10:49:13 -04:00
Jhon Honce
d7256be807 Enhance bindings for IDE hints
* Follow https://pkg.go.dev/cmd/go#hdr-Generate_Go_files_by_processing_source
  for leading comment
* Add godoc strings for all exposed methods for IDE support
* Copy field godoc strings into generated code as function godoc string
* Remove unused/unnecessary fields from generator.go structures
* Cleanup code regarding template usage

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-09-14 07:47:24 -07:00
cdoern
84005330aa Pod Volumes Support
added support for the --volume flag in pods using the new infra container design.
users can specify all volume options they can with regular containers

resolves #10379

Signed-off-by: cdoern <cdoern@redhat.com>
2021-09-14 08:32:07 -04:00
Hyeon Kim
072b061b4e
Search gvproxy with config.FindHelperBinary()
Closes #11531

[NO TESTS NEEDED]

Signed-off-by: Hyeon Kim <simnalamburt@gmail.com>
2021-09-14 17:14:55 +09:00
flouthoc
a55e2a00fc rootfs: Add support for rootfs-overlay and bump to buildah v1.22.1-0.202108
Allows users to specify a readonly rootfs with :O, in exchange podman will create a writable overlay.

bump builah to v1.22.1-0.20210823173221-da2b428c56ce

[NO TESTS NEEDED]

Signed-off-by: flouthoc <flouthoc.git@gmail.com>
2021-09-14 13:31:39 +05:30
OpenShift Merge Robot
b603c7a4b9
Merge pull request #11529 from n1hility/fix-oldfields
Add deprecated event fields for 1.22+ clients that still expect them
2021-09-13 17:17:28 -04:00
OpenShift Merge Robot
f07a2bfbec
Merge pull request #11440 from ashley-cui/ssh
Use default username for podman machine ssh
2021-09-13 14:34:29 -04:00
Paul Holzinger
32424d9a9b
remove rootlessport socket to prevent EADDRINUSE
When we restart a container via podman restart or restart policy the
rootlessport process fails with `address already in use` because the
socketfile still exists.
This is a regression and was introduced in commit abdedc31a2.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2021-09-13 16:45:55 +02:00
Anton Tykhyy
c23f81fab6
Fix #11444: remote breaks with stdout redirection
`setConsoleMode` should do nothing if the handle is not a terminal. The proposed change is [exactly what `golang.org/x/term/IsTerminal()` does on Windows](https://cs.opensource.google/go/x/term/+/6886f2df:term_windows.go).

[NO TESTS NEEDED]

Signed-off-by: Anton Tykhyy <atykhyy@gmail.com>
2021-09-13 17:42:48 +03:00
OpenShift Merge Robot
f785d8d194
Merge pull request #11517 from jwhonce/issues/10053
Refactor API server emphasis on logging
2021-09-12 02:07:36 -04:00
OpenShift Merge Robot
72662f790b
Merge pull request #11525 from rhatdan/healthcheck
Stop outputting 'healthy' on healthcheck
2021-09-11 18:09:36 -04:00
Jason T. Greene
3c77a98e45 Add deprecated fields for 1.22+ clients that still expect them
Signed-off-by: Jason Greene <jason.greene@redhat.com>
2021-09-10 20:08:45 -05:00
Jhon Honce
deaf969243 Refacter API server emphasis on logging
* To aid in debugging log API request and response bodies at trace
  level. Events can be correlated using the X-Reference-Id.
* Server now echos X-Reference-Id from client if set, otherwise
  generates an unique id.
* Move logic for X-Reference-Id into middleware
* Change uses of Header.Add() to Set() when setting Content-Type
* Log API operations in Apache format using gorilla middleware
* Port server code to use BaseContext and ConnContext

Fixes #10053

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2021-09-10 15:07:25 -07:00
OpenShift Merge Robot
5e9758fd5f
Merge pull request #11323 from umohnani8/init
Add init containers to generate and play kube
2021-09-10 13:44:47 -04:00
Daniel J Walsh
4fbc5b8fe7
Stop outputting 'healthy' on healthcheck
We should only print unhealthy if the check fails.  Currently this is
filling logs when users are running lots of healthchecks.

Improves: https://github.com/containers/podman/issues/11157

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2021-09-10 11:20:01 -04:00
OpenShift Merge Robot
e6046224ea
Merge pull request #11498 from vrothberg/fix-11489
[CI:DOCS] podman machine: enforce a single search registry
2021-09-10 11:02:51 -04:00
OpenShift Merge Robot
0b6c56b80d
Merge pull request #11506 from giuseppe/fix-stats-restart-container
stats: detect container restart and allow paused containers
2021-09-10 10:53:47 -04:00
Urvashi Mohnani
f5e4ffb5e4 Add init containers to generate and play kube
Kubernetes has a concept of init containers that run and exit before
the regular containers in a pod are started. We added init containers
to podman pods as well. This patch adds support for generating init
containers in the kube yaml when a pod we are converting had init
containers. When playing a kube yaml, it detects an init container
and creates such a container in podman accordingly.
Note, only init containers created with the init type set to "always"
will be generated as the "once" option deletes the init container after
it has run and exited. Play kube will always creates init containers
with the "always" init container type.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2021-09-10 09:37:46 -04:00
Jelle van der Waa
f87f27ddc8 Add /containers/stats response to API docs
Include the response schema for a succesful request in the
/containers/stats API documentation

Additionally remove http 409 from /libpod/containers/stats docs, the
documentation was copied from the deprecated stats endpoint, when a
container is unavailabe the endpoint returns an empty list and no 409.

Signed-off-by: Jelle van der Waa <jvanderwaa@redhat.com>
2021-09-10 15:15:35 +02:00
Valentin Rothberg
5bf2201447 machine: set filemodes in octal
By popular request, turn decimals to octal.  Most eyes are trained to
parse file permissions in octal.

[NO TESTS NEEDED] since machine isn't tested yet.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-10 12:50:28 +02:00
Valentin Rothberg
6f36a47ac2 podman machine: enforce a single search registry
Enforce "docker.io" to be the only search registry.  Short-name
resolution for remote clients is not fully supported since there is no
means to prompt.  Enforcing a single registry  works around the problem
since prompting only fires with more than one search registry.

Fixes: #11489
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-09-10 12:43:07 +02:00
Giuseppe Scrivano
2b85382ca1
api: correctly set the container stats
override the outer scope variable instead of creating a local one.
Otherwise the wrong variable would be used for the next iterations.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2021-09-10 09:03:09 +02:00
OpenShift Merge Robot
d477fe5cae
Merge pull request #11447 from chenzhiwei/respect-config
fix play kube can't use infra_image in config file
2021-09-09 10:12:22 -04:00
OpenShift Merge Robot
e73574aa7c
Merge pull request #11430 from saschagrunert/normalize-key
Normalize auth key before calling `SetAuthentication`
2021-09-09 06:42:15 -04:00
Sascha Grunert
bbdaf837b1
Normalize auth key before calling SetAuthentication
Recent changes in c/image caused the `SetAuthentication` API to be more
restrictive in terms of validating the `key` (`server`) input. To ensure
that manually modified or entries in `~/.docker/config.json` still work,
we now strip the leading `http[s]://` prefix.

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

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2021-09-09 09:17:22 +02:00
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