Commit graph

2622 commits

Author SHA1 Message Date
Valentin Rothberg
60624f948b podmanV2: implement build
Implement `podman build` for the local client.  The remote client will
require some rather large work in the backend and a new build endpoint
for the libpod rest API.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-17 10:26:50 +02:00
Jhon Honce
554c663b5a Fix bug where two configurations had been created
* registry.PodmanConfig() new returns a pointer to the source of truth

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-16 16:49:59 -07:00
Brent Baude
241326a9a8 Podman V2 birth
remote podman v1 and replace with podman v2.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-16 15:53:58 -05:00
Jhon Honce
1d93d21254 V2 Enable rootless
* Enable running podman V2 rootless
* Fixed cobra.PersistentPreRunE usage in all the commands
* Leveraged cobra.PersistentPreRunE/cobra.PersistentPostRunE to manage:
  * rootless
  * trace (--trace)
  * profiling (--cpu-profile)
  * initializing the registry copies of Image/Container engines
* Help and Usage templates autoset for all sub-commands

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-16 11:08:08 -07:00
OpenShift Merge Robot
5def211400
Merge pull request #5842 from baude/v2bloat2
podman v2 remove bloat v2
2020-04-16 10:52:58 -07:00
Brent Baude
ba430bfe5e podman v2 remove bloat v2
rid ourseleves of libpod references in v2 client

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-16 12:04:46 -05:00
Brent Baude
e154249b46 allow filters to work when listing containers
enable filters when listing containers on the libpod endpoint.

Fixes: #5841

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-16 09:21:44 -05:00
OpenShift Merge Robot
09e821a8ea
Merge pull request #5690 from rhatdan/selinux
Add support for selecting kvm and systemd labels
2020-04-16 05:29:19 -07:00
OpenShift Merge Robot
c7d17613ec
Merge pull request #5827 from baude/v2bloat
v2 bloat pruning phase 2
2020-04-15 15:00:13 -07:00
OpenShift Merge Robot
0f7162d791
Merge pull request #5817 from rhatdan/selinux1
Fix up SELinux labeling
2020-04-15 14:28:53 -07:00
Brent Baude
30d2964ff8 v2 bloat pruning phase 2
this is second phase of removing unneeded bloat in the remote client. this is important to be able to reduce the client size as well as possible native compilation for windows/mac.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-15 16:09:27 -05:00
OpenShift Merge Robot
3500a8bc39
Merge pull request #5830 from baude/v2runtime
podmanv2 fix runtime assignment
2020-04-15 13:54:09 -07:00
Daniel J Walsh
c4ca3c71ff
Add support for selecting kvm and systemd labels
In order to better support kata containers and systemd containers
container-selinux has added new types. Podman should execute the
container with an SELinux process label to match the container type.

Traditional Container process : container_t
KVM Container Process: containre_kvm_t
PID 1 Init process: container_init_t

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-15 16:52:16 -04:00
OpenShift Merge Robot
6e9622aa98
Merge pull request #5775 from sujil02/v2-container-prune
Ability to prune container in api V2
2020-04-15 13:42:36 -07:00
Daniel J Walsh
ac94a96a74
Fix up SELinux labeling
SELinux label options processing fixes, should allow system tests to pass.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-15 16:30:03 -04:00
OpenShift Merge Robot
195cb11276
Merge pull request #5671 from edsantiago/swagger-check
swagger-check: new CI tool to cross-check swagger
2020-04-15 13:17:31 -07:00
OpenShift Merge Robot
693a8039c8
Merge pull request #5776 from vrothberg/au
auto update: skip non-image policies
2020-04-15 13:15:10 -07:00
Brent Baude
bbc0c4a973 podmanv2 fix runtime assignment
when provided by the command line, the runtime assignment needs to send the right attribute

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-15 14:49:51 -05:00
OpenShift Merge Robot
9b78bf9293
Merge pull request #5770 from baude/v2events
podmanv2 events
2020-04-15 18:37:18 +02:00
Sujil02
ec4060aef6 Ability to prune container in api V2
Adds ability to prune containers for v2.
Adds client side prompt with force flag and filters options to prune.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-04-15 11:17:33 -04:00
OpenShift Merge Robot
37ed662f32
Merge pull request #5814 from baude/v2specgenprunelibpod
v2specgen prune libpod
2020-04-15 16:38:52 +02:00
Brent Baude
165aef7766 podmanv2 events
add the ability to monitor events

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-15 09:38:04 -05:00
Brent Baude
7147187942 v2specgen prune libpod
use libpod only in the specgen/generate package so that the remote clients do not inherit libpod bloat.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-14 20:02:20 -05:00
Brent Baude
60dde457f6 More system test fixes on regressions
Fix more regressions between v1 and v2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-14 19:47:49 -05:00
Jhon Honce
d517276426 Add support for the global flags and config files
Note: This PR doesn't provide full rootless support that will be
      addressed in a future PR

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-14 14:48:37 -07:00
Ed Santiago
ba26c763c5 swagger-check: new CI tool to cross-check swagger
New script cross-references r.Handle() and r.HandleFunc()
calls against the preceding '// swagger:operation' comments,
and exits failure (with descriptive error messages) if any
comments do not match the code.

This script should not be necessary: the swagger comments
should be autogenerated from the source code.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-04-14 11:27:44 -06:00
OpenShift Merge Robot
a6caae0b5a
Merge pull request #5808 from baude/v2psformat2
v2podman ps revert structure changes
2020-04-14 18:01:18 +02:00
OpenShift Merge Robot
246ee93201
Merge pull request #5801 from baude/v2mount
podmanv2 mount and umount
2020-04-14 17:14:12 +02:00
Brent Baude
830f3a4462 v2podman ps revert structure changes
reverting name changes to the listcontainer structure because it negatively impacted the direct consumption of the restful API.  instead we now use a local structure in the CLI to modify the output as needed.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-14 09:40:43 -05:00
Brent Baude
d625aef0c5 podmanv2 mount and umount
add the ability to mount and unmount containers for the local client only

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-14 08:32:14 -05:00
OpenShift Merge Robot
26c15358d2
Merge pull request #5807 from openSUSE/pids-ctr-path
Fix invalid container path comparison for pid cgroup
2020-04-14 15:23:03 +02:00
OpenShift Merge Robot
d8853429eb
Merge pull request #5755 from mheon/fix_attach
Improve APIv2 support for Attach
2020-04-14 14:53:59 +02:00
OpenShift Merge Robot
85c352d8bc
Merge pull request #5709 from vrothberg/v2-search
podmanV2: implement search
2020-04-14 14:51:39 +02:00
Valentin Rothberg
1a02c9b40c auto update: skip non-image policies
Fix a bug in the auto-update logic causing all images to be checked and
not only the ones of containers with the specific auto-update policy.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-14 11:47:04 +02:00
Sascha Grunert
a8192cd760
Fix invalid container path comparison for pid cgroup
This fixes the behavior to return nil for the PIDs cgroup if the
container path is empty.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-04-14 11:02:42 +02:00
Brent Baude
d8d1aa49d2 v2podman add container init
add the ability to init a container both local and remote

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-13 19:51:20 -05:00
OpenShift Merge Robot
0b067b67e6
Merge pull request #5800 from baude/v2edtests
Fixes for load and other system tests
2020-04-13 21:57:39 +02:00
OpenShift Merge Robot
d7695dd957
Merge pull request #5777 from jwhonce/issues/5599
Refactor service idle support
2020-04-13 20:28:42 +02:00
Brent Baude
90ead05903 Fixes for load and other system tests
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-13 13:08:04 -05:00
Matthew Heon
71f14bd792 Improve APIv2 support for Attach
A few major fixes here:
- Support for attaching to Configured containers, to match Docker
  behavior.
- Support for stream parameter has been improved (we now properly
  handle cases where it is not set).
- Initial support for logs parameter has been added.
- Setting attach streams when the container has a terminal is now
  supported.
- Errors are properly reported once the hijack has begun.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-04-13 14:08:01 -04:00
OpenShift Merge Robot
465b4bc563
Merge pull request #5778 from baude/v2removetemplates
podmanv2 history and image remove templates
2020-04-13 17:47:31 +02:00
Jhon Honce
f8892e7c6b Refactor service idle support
* Move connection tracking into APIServer using ConnState()
* Remove Connection counters from CLI code
* Update events handler to support client not closing connection
* Improve logging messages

Fixes #5599

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-13 08:11:36 -07:00
OpenShift Merge Robot
f0d7ac9e81
Merge pull request #5797 from giuseppe/use-snprintf
rootless: use snprintf
2020-04-13 16:18:43 +02:00
Brent Baude
6f650a5129 podmanv2 history and image remove templates
remove the use of template functions images and history to allow for straight-forward user experience.  instead of templates we use structs and struct methods.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-13 09:15:24 -05:00
Giuseppe Scrivano
c33371fadb
rootless: use snprintf
use directly snprintf instead of strlen+strcpy.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-13 13:35:38 +02:00
Brent Baude
7d0e0a7129 v2podman container cleanup
add the ability to clean up after a container has attempted to run.  this is also important for podman run --rm --rmi.

also included are fixes and tweaks to various code bits to correct regressions on output.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-09 16:59:33 -05:00
OpenShift Merge Robot
1662310e51
Merge pull request #5754 from baude/v2psformat
v2podman ps alter formats
2020-04-09 15:56:26 +02:00
OpenShift Merge Robot
555b30e9eb
Merge pull request #5634 from jwhonce/wip/service
V2 podman system service
2020-04-09 14:55:45 +02:00
Valentin Rothberg
ff52b7524a podmanV2: implement search
Also implement a new libpod endpoint to add more parameters and to
prevent us from converting between slices and maps and make use of
the filter parsing in the image backend.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-09 13:05:19 +02:00
Valentin Rothberg
7a3bfbf076 podmanV2: implement logs
Implement the `podman {container} logs` for the v2 client. The remote
client does not yet support it.  There's some more work needed for the
rest api; some options are missing (e.g., printing names) while others
are broken (e.g., the until http parameter).

The remote parts will be tackled in a future change.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-09 11:55:10 +02:00