Commit Graph

1227 Commits

Author SHA1 Message Date
OpenShift Merge Robot
a83a94b095 Merge pull request #5448 from vrothberg/update-systemd
update systemd & dbus dependencies
2020-03-10 19:31:14 +01:00
Valentin Rothberg
450361fc64 update systemd & dbus dependencies
Update the outdated systemd and dbus dependencies which are now provided
as go modules.  This will further tighten our dependencies and releases
and pave the way for the upcoming auto-update feature.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-10 18:34:55 +01:00
Jhon Honce
31112e4b08 Refactor handler packages
To help with packaging, the handlers in pkg/api/handlers are now found
in pkg/api/handler/compat.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-10 08:03:41 -07:00
Matthew Heon
342d99fbc2 Merge pull request #5427 from containers/systemd-default
generate systemd: add `default.target` to INSTALL
2020-03-09 13:06:53 -04:00
Valentin Rothberg
220f9a71e4 generate systemd: add default.target to INSTALL
When enabling a systemd service we can specify which target will start
it by specifying it in the `[INSTALL]` section.  In case of root, this
is commonly set to `multi-user.target` which is used to start other
essential system services such as the network manager, D-BUS and more.

However, the `multi-user.target` is not enough on all systems,
especially when running rootless and enabling user services.  Multiple
users have reported issues that there isn't even an attempt to start the
service.

Setting the INSTALL target to `default.target` will fix the rootless
case.  However, `default.target` may vary among systems.  Fedora
Workstation, for instance, sets the `default.target` to the graphical
target (i.e., runlevel 5) while Fedora Server sets it to
`multi-user.target` which is on runlevel 2 and hence way earlier in the
startup sequence.

As INSTALL allows for specifying multiple INSTALL targets, we can set it
to `multi-user.target` to continue supporting existing workloads AND to
`default.target` which MAY redundantly attempt to start it at a later point;
effectively a NOP for the root case and essential for rootless.

Fixes: #5423
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-09 13:33:09 +01:00
Valentin Rothberg
7359075a78 use storage/pkg/ioutils
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-09 09:03:51 +01:00
OpenShift Merge Robot
f378e82e2d Merge pull request #5412 from rhatdan/tmpdir
Allow users to set TMPDIR environment
2020-03-08 17:03:59 +01:00
Daniel J Walsh
ac354ac94a Fix spelling mistakes in code found by codespell
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-07 10:30:44 -05:00
OpenShift Merge Robot
c8de26fb08 Merge pull request #5374 from baude/create
add default network for apiv2 create
2020-03-07 14:16:43 +01:00
Brent Baude
8b5e2a6297 add default network for apiv2 create
during container creation, if no network is provided, we need to add a default value so the container can be later started.

use apiv2 container creation for RunTopContainer instead of an exec to the system podman. RunTopContainer now also returns the container id and an error.

added a libpod commit endpoint.

also, changed the use of the connections and bindings slightly to make it more convenient to write tests.

Fixes: 5366
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-06 14:31:45 -06:00
OpenShift Merge Robot
c3177b781b Merge pull request #5410 from st1971/api-fixes
APIv2: compatible api fixes
2020-03-06 21:19:55 +01:00
Daniel J Walsh
cb51707f91 Allow users to set TMPDIR environment
Some users have small /var/tmp directories and need to be able to specify a different location
for temporary files, which includes more space.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-06 10:21:37 -05:00
Steve Taylor
06f5664e9d Removed extraneous comments and defaults plus amended variable declaration
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
2020-03-06 13:19:21 +00:00
Steve Taylor
920d09c174 Removed the unnecessary code
removed defaulting of  query.Size
amended types.LibpodToContainer, removed hard coded true from inspect call

Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
2020-03-06 13:17:56 +00:00
Steve Taylor
83e52cf787 Implemented size parameter on GetContainer
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
2020-03-05 23:02:45 +00:00
Steve Taylor
da15f2f881 Implement size parameter on ListContainers
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
2020-03-05 22:53:50 +00:00
Steve Taylor
1ef96364fe Map configured status to created to match docker API states
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
2020-03-05 22:47:11 +00:00
Steve Taylor
9088a8a387 Fix to remove null entry from end of images json
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
2020-03-05 22:37:31 +00:00
Steve Taylor
89b083f8b4 Register handlers without version to align with docker API
Signed-off-by: Steve Taylor <steven@taylormuff.co.uk>
2020-03-05 22:28:22 +00:00
Valentin Rothberg
593eb7625a golangci: enable goimports
Enable the goimports linter and fix reports.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-05 20:03:44 +01:00
Valentin Rothberg
a5c04c793e generate systemd: remove leading slashes
Remove leading slashes from the run-dir paths. It was meant to make it
explicit that we're dealing with an absolute path but user feedback has
shown that most are aware.  It also cleans up the path in the systemctl
status output.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-05 14:05:48 +01:00
OpenShift Merge Robot
9ffc525da7 Merge pull request #5382 from vrothberg/systemd-network
generate systemd: add network dependencies
2020-03-05 06:44:40 -05:00
OpenShift Merge Robot
797da2a57b Merge pull request #5381 from vrothberg/ENVFIX
env: set "container" to current binary
2020-03-04 13:26:48 -05:00
OpenShift Merge Robot
ce7ed2205a Merge pull request #5385 from baude/makemap
avoid adding to nil map
2020-03-04 11:08:30 -05:00
Valentin Rothberg
6d2d6898f8 env: don't set "container" env
Leave setting the "container" variable to consumers of pkg/env.
Podman is now hard-setting it to "podman" while "libpod" will
set it internally to "libpod" if it's unset.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-04 17:07:47 +01:00
OpenShift Merge Robot
90eef95cb1 Merge pull request #4772 from boaz0/closes_4628
Add the rmi flag to podman-run to delete container image
2020-03-04 10:58:10 -05:00
Brent Baude
822d5a486a avoid adding to nil map
we need to make the environment map to avoid throwing an error when trying to add an environment value from file.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-03 17:00:50 -06:00
Valentin Rothberg
05a0bf7c07 generate systemd: add network dependencies
Add network dependencies to generated systemd services to allow for
enabling them at system startup and have a working network if needed.

Fixes: #4130
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-03 17:39:53 +01:00
OpenShift Merge Robot
3bc5f431d4 Merge pull request #5206 from rhatdan/capabilities
Allow devs to set labels in container images for default capabilities.
2020-03-03 14:48:10 +01:00
Boaz Shuster
11e5c53d11 Add the rmi flag to podman-run to delete container image
The --rmi flag will delete the container image after its execution
unless that image is already been used by another container(s).

This is useful when one wants to execute a container once and remove
any resources attached to it.

Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2020-03-03 14:27:11 +02:00
Valentin Rothberg
ad8e0e5e49 consolidate env handling into pkg/env
Env-variable related code is scattered across several packages making it
hard to maintain and extend.  Consolidate the code into a new pkg/env
package.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-03-03 11:47:24 +01:00
OpenShift Merge Robot
1641ee6180 Merge pull request #5371 from edsantiago/apiv2_fixes
more swagger fixes
2020-03-02 23:52:28 +01:00
Daniel J Walsh
b163640c61 Allow devs to set labels in container images for default capabilities.
This patch allows users to specify the list of capabilities required
to run their container image.

Setting a image/container label "io.containers.capabilities=setuid,setgid"
tells podman that the contained image should work fine with just these two
capabilties, instead of running with the default capabilities, podman will
launch the container with just these capabilties.

If the user or image specified capabilities that are not in the default set,
the container will print an error message and will continue to run with the
default capabilities.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-02 16:37:32 -05:00
OpenShift Merge Robot
47c4ea3919 Merge pull request #5347 from baude/apiv2wait
rework apiv2 wait endpoint|binding
2020-03-02 20:23:26 +01:00
Ed Santiago
c3c334a323 more swagger fixes
Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-02 12:01:56 -07:00
OpenShift Merge Robot
f5c853ca99 Merge pull request #5343 from lsm5/fix-exists-url
container Exists: fix URL
2020-03-02 18:33:45 +01:00
OpenShift Merge Robot
86ed329ad1 Merge pull request #5320 from sujil02/podtest
Add test to validate prune pod apiv2 binding.
2020-03-02 16:34:40 +01:00
Sujil02
bbda410526 Update pod bindings and Add test to validate prune pod apiv2 binding.
Modify the pod inspect bindings to hold current pod status.
Includes test to validate on pod status and added test to check
no or few pods are pruned,if the pods are in exited state.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-02-28 11:51:02 -05:00
Chris Evich
e95c493fec Fix wrong condition in bindings test
Thanks for Brent Baude <bbaude@redhat.com> for the fix.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-02-28 11:44:16 -05:00
Brent Baude
0904873100 rework apiv2 wait endpoint|binding
added the ability to wait on a condition (stopped, running, paused...) for a container.  if a condition is not provided, wait will default to the stopped condition which uses the original wait code paths.  if the condition is stopped, the container exit code will be returned.

also, correct a mux issue we discovered.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-28 09:36:53 -06:00
OpenShift Merge Robot
baf27fa25e Merge pull request #5348 from baude/cninetfix
Cninetfix
2020-02-27 23:40:03 +01:00
Brent Baude
6c97e0d5c1 network create should use firewall plugin
when creating a network, podman should add the firewall plugin to the config but not specify a backend.  this will allow cni to determine whether it should use an iptables|firewalld backend.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-27 14:39:31 -06:00
Brent Baude
306b44380f binding tests for volumes
add binding tests for volumes: inspect(get), create, remove, prune, and list

implement filters ability for volumes

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-27 13:11:42 -06:00
Lokesh Mandvekar
90307af24b container Exists: fix URL
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-02-27 11:55:46 -05:00
Giuseppe Scrivano
418dee100b spec: allow container alias name in lookup
Previously --uts=container: expected the full container ID.

Closes: https://github.com/containers/libpod/issues/5289

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-02-26 15:04:31 +01:00
OpenShift Merge Robot
9631c30ce4 Merge pull request #5328 from lsm5/trivial-typo-correction
fix trivial typo
2020-02-25 22:57:53 +01:00
Lokesh Mandvekar
4e015cefc2 fix trivial typo
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-02-25 15:44:06 -05:00
OpenShift Merge Robot
609407d4e6 Merge pull request #5326 from jwhonce/issues/5311
Remove 1 sec delay
2020-02-25 21:32:28 +01:00
OpenShift Merge Robot
6c5591ed9d Merge pull request #3901 from cevich/support_f31
Cirrus: Support testing with F31
2020-02-25 21:32:20 +01:00
OpenShift Merge Robot
6a03a9a538 Merge pull request #5324 from giuseppe/fix-running-no-pause
rootless: raise error if the process is not found
2020-02-25 21:16:26 +01:00