Commit graph

166 commits

Author SHA1 Message Date
Valentin Rothberg
f269be3a31 add {generate,play} kube
Add the `podman generate kube` and `podman play kube` command.  The code
has largely been copied from Podman v1 but restructured to not leak the
K8s core API into the (remote) client.

Both commands are added in the same commit to allow for enabling the
tests at the same time.

Move some exports from `cmd/podman/common` to the appropriate places in
the backend to avoid circular dependencies.

Move definitions of label annotations to `libpod/define` and set the
security-opt labels in the frontend to make kube tests pass.

Implement rest endpoints, bindings and the tunnel interface.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-06 17:08:22 +02:00
OpenShift Merge Robot
7885b5cd52
Merge pull request #6063 from QiWang19/manifest-annotate
manifest annotate
2020-05-06 03:41:09 +02:00
Qi Wang
1090d4d5d9 manifest annotate
Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-05-05 15:01:32 -04:00
OpenShift Merge Robot
864aec8bb0
Merge pull request #6081 from baude/v2system
v2 system subcommand
2020-05-05 20:49:17 +02:00
baude
25312bb5b4 v2 system subcommand
add system df, info, load, renumber, and migrate

Refactor for specialized libpod engines

add the ability to prune images, volumes, containers, and pods

Signed-off-by: baude <bbaude@redhat.com>
2020-05-05 12:24:33 -05:00
OpenShift Merge Robot
9db97dbab8
Merge pull request #6080 from baude/v2stats
v2 podman stats
2020-05-05 17:29:56 +02:00
OpenShift Merge Robot
e6235ef8f1
Merge pull request #6076 from vrothberg/rmi-v2.2
image removal: refactor part 2
2020-05-05 17:25:04 +02:00
baude
b5a235df90 v2 podman stats
Signed-off-by: baude <bbaude@redhat.com>
2020-05-05 08:46:51 -05:00
Matthew Heon
7ac3d906b5 Rework port parsing to support --expose and -P
As part of this, make a major change to the type we use to
represent port mappings in SpecGen (from using existing OCICNI
structs to using our own custom one). This struct has the
advantage of supporting ranges, massively reducing traffic over
the wire for Podman commands using them (for example, the
`podman run -p 5000-6000` command will now send only one struct
instead of 1000). This struct also allows us to easily validate
which ports are in use, and which are not, which is necessary for
--expose.

Once we have parsed the ports from the new struct, we can produce
an accurate map including all currently requested ports, and use
that to determine what ports need to be exposed (some requested
exposed ports may already be included in a mapping from --publish
and will be ignored) and what open ports on the host we can map
them to.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-05-04 20:57:27 -04:00
Valentin Rothberg
7f97896c59 image removal: refactor part 2
Continue the refactoring of image removal.  I didn't manage to break all
the following changes into smaller and easier to digest commits due to
time constraints:

 * Return an error slice instead of a single error. Use multierror only
   in the client/frontend.  Reflect that in the types.

 * Use the batch image removal in the client while preserving the more
   rest-idiomatic single-image removal endpoint.

 * Add a new handler for the single-image removal endpoint to make it
   share the same code as the batch endpoint.

 * Expose bindings for the single and batch endpoints, so we can
   properly test them.

 * Add several convenience functions for error handling to
   pkg/errorhandling.

 * Set the correct error type in libpod to set the exit code to 2 when
   one or more containers are using an image.

 * Massage the bindings tests a bit and tackle compilation errors.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-04 16:01:45 +02:00
OpenShift Merge Robot
bffd3f5134
Merge pull request #6060 from sujil02/systemprune-v2
And system prune feature for v2.
2020-05-01 21:08:50 +02:00
OpenShift Merge Robot
95b9b72c0c
Merge pull request #6062 from jwhonce/wip/docs
[CI:DOC] Bring README.md up to date
2020-05-01 20:59:05 +02:00
Jhon Honce
b22a39b6b1 [CI:DOCS] Bring README.md up to date
* Add notes on helper functions
* Update example

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-05-01 11:22:39 -07:00
Sujil02
b94862171b And system prune feature for v2.
Adds podman system prune for v2.
Refactoring for code reuse from pods containers images and volume prune.
Adds and enables testcases to support the added feature.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-05-01 13:57:16 -04:00
OpenShift Merge Robot
226e0da6fe
Merge pull request #6057 from baude/v2networking
v2networking enable commands
2020-05-01 18:27:16 +02:00
OpenShift Merge Robot
1230499e45
Merge pull request #6016 from giuseppe/fix-create
v2, podman: fix create and entrypoint tests
2020-05-01 15:32:00 +02:00
baude
e88a418528 v2networking enable commands
Enable the networking commands for v2.

Signed-off-by: baude <bbaude@redhat.com>
2020-04-30 14:53:54 -05:00
Giuseppe Scrivano
9d373408b5
podman, start: propagate back the raw input
this is necessary as we expect "podman start $ID_NAME" to print the
same arguments the user passed in instead of the full ID.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-30 12:23:19 +02:00
Qi Wang
75eeb40f41 testv2: enable attach test
testv2: enable attach test

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-04-29 23:47:15 -04:00
Jhon Honce
a9cc13448e V2 Restore images list tests
* Fix history --quiet formatting
* Fix image inspect --format=json
* Fix image list --sort

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-29 08:24:56 -07:00
Valentin Rothberg
2d10471b8d pull/search options: tls verify -> skip
Change the logic in the options from tls-verify to skipping
verification.  It require a constant brain yoga to translate
from doing verification (CLI logic) to skipping it (c/image logic).
As the code is using c/image, let's make it consistent.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-29 16:28:12 +02:00
Valentin Rothberg
d6d1e3860c push: fix --tls-verify
Fix --tls-verify parsing and make the associated options reflect the
correct logic.  Other commands are affected as well but will be fixed
later.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-29 14:33:00 +02:00
OpenShift Merge Robot
3e912f711b
Merge pull request #6022 from vrothberg/enable-inspect-tests
enable inspect tests
2020-04-29 11:21:47 +02:00
Valentin Rothberg
8700c2fd03 enable inspect tests
A surprisingly big change.  A core problem was that `podman inspect`
allows for passing containers AND images with the default `--type=all`.
This only worked partially as the data was processed in isolation which
caused various issues (e.g., two separate outputs instead of one) but it
also caused issues regarding error handling.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-29 07:25:31 +02:00
Valentin Rothberg
b2414b580e generate systemd
Implement `podman generate systemd` for Podman v2 and enable associated
tests.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-29 07:22:18 +02:00
OpenShift Merge Robot
bf4efc1953
Merge pull request #6026 from baude/v2forcesystemtests
system tests must pass
2020-04-28 23:29:20 +02:00
OpenShift Merge Robot
30b27819d0
Merge pull request #5991 from sujil02/pod-rm-test
Fix typos in messages pod rm
2020-04-28 22:40:09 +02:00
Brent Baude
517bc28360 system tests must pass
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-28 15:17:00 -05:00
Sujil02
b3cfb20aa2 Fix typos in rm messages
Fix typos in pod rm messages

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-04-28 15:57:40 -04:00
OpenShift Merge Robot
4ed125f7b5
Merge pull request #5907 from sujil02/systemprune-v2
Adding system prune for podman v2
2020-04-28 18:11:39 +02:00
OpenShift Merge Robot
f6f7172494
Merge pull request #6000 from mheon/volume_backend_flags
Add support for volumes-from, image volumes, init
2020-04-27 21:53:37 +02:00
OpenShift Merge Robot
8642e256f2
Merge pull request #5978 from rhatdan/ports
Make podman container list == podman ps
2020-04-27 21:27:49 +02:00
OpenShift Merge Robot
733c38028d
Merge pull request #5999 from giuseppe/fix-pod-infra-container
v2, podman: fix pod tests
2020-04-27 20:37:03 +02:00
OpenShift Merge Robot
ccf009d22e
Merge pull request #6001 from baude/v2intload
enable load integration tests
2020-04-27 20:34:39 +02:00
OpenShift Merge Robot
e90112a58c
Merge pull request #5984 from baude/v2intrestart
enable integration tests for restart
2020-04-27 20:27:36 +02:00
Matthew Heon
02671a103f Add support for volumes-from, image volumes, init
This should complete Podmanv2's support for volume-related flags.
Most code was sourced from the old pkg/spec implementation with
modifications to account for the split between frontend flags
(volume, mount, tmpfs) and the backend flags implemented here.

Also enables tests for podman run with volumes

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-04-27 13:13:21 -04:00
Brent Baude
6db081fc5e enable load integration tests
fix bug where multiple images can be loaded and have to be able to handle the return of multiple names

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-27 10:20:53 -05:00
Giuseppe Scrivano
a7318f7364
pkg, ps: add namespaces methods
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-27 17:08:52 +02:00
OpenShift Merge Robot
ca1c674d2e
Merge pull request #5966 from vrothberg/v2-pod-stats
implement pod stats
2020-04-27 16:15:09 +02:00
Brent Baude
a7b3310db5 enable integration tests for restart
enable integrations tests for container restart.  fixed bug where --running was not being honored.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-27 09:08:27 -05:00
Daniel J Walsh
a83d1a2772
Make podman container list == podman ps
Also make
podman create -p PUBLISHPorts
work.

This PR fixes ps_test.go

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-27 09:51:26 -04:00
OpenShift Merge Robot
529824ec1e
Merge pull request #5997 from giuseppe/fix-pod-create
v2, podman: fix a bunch of "podman pod *" tests
2020-04-27 15:37:58 +02:00
OpenShift Merge Robot
ef46687dc5
Merge pull request #5976 from QiWang19/manifest-add-os
Add --os to manifest add
2020-04-27 15:33:00 +02:00
Giuseppe Scrivano
869a1a211a
pkg, pods: report pod rm errors
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-27 14:02:53 +02:00
Giuseppe Scrivano
1aaef86eb4
pkg, pods: pod rm honors --ignore
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-27 13:47:52 +02:00
Giuseppe Scrivano
4028215b6a
pkg, pods: not lose pod start/restart errors
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-27 13:41:08 +02:00
Giuseppe Scrivano
e589c2219f
pkg, pods: honor --ignore for pod stop
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-27 13:19:05 +02:00
Valentin Rothberg
7ee0f7e14c implement pod stats
Implement pod stats for the local and remote client. Both code paths end
up in infra/abi to allow for code share.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-27 12:00:35 +02:00
Brent Baude
942a3ef588 Enable pod ps integration tests
Enable integration tests for pod ps.

In addition, fixed bug where output was still using slice go template routines and would fail when no infra container was present.  Added integration test to prevent future regressions.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-25 13:13:32 -05:00
Sujil02
5436e31441 Adding system prune for podman v2
Register system prune route, handler to support system prune,
Adds testcase to validate the system prune flow.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-04-24 15:44:07 -04:00