Commit graph

705 commits

Author SHA1 Message Date
Brent Baude
ae5e7e7e78 v2podman port
add port command to podman.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-21 08:33:15 -05:00
Giuseppe Scrivano
6e3ad47b58
v2, podman: plug --userns=auto
--userns=auto tests pass now.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-04-21 13:46:57 +02:00
OpenShift Merge Robot
8884f6a4f3
Merge pull request #5875 from rhatdan/network
Cleanup network option parsing
2020-04-21 05:09:54 -04:00
Valentin Rothberg
09dc701097 podman rmi: refactor logic
While this commit was initially meant to fix #5847, it has turned into a
bigger refactoring which I did not manage to break into smaller pieces:

 * Fix #5847 by refactoring the image-removal logic.

 * Make the api handler for image-removal use the ABI code. This way,
   both (i.e., ABI and Tunnel) end up using the same code.  Achieving
   this code share required to move some code around to prevent circular
   dependencies.

 * Everything in pkg/api (excluding pkg/api/types) must now only be
   accessed from code using `ABISupport`.

 * Avoid imports from entities on handlers to prevent circular
   dependencies.

 * Move `podman system service` logic into `cmd` to prevent circular
   dependencies - it depends on pkg/api.

 * Also remove the build header from infra/abi files.  It will otherwise
   confuse swagger and other tools; errors we cannot fix as go doesn't
   expose a build-tag env variable.

Fixes: #5847
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-04-21 08:12:25 +02:00
OpenShift Merge Robot
b771467224
Merge pull request #5862 from rhatdan/v2
Fix up handling of image data as well as setting Linux Capabilties correctly
2020-04-20 17:19:32 -04:00
Daniel J Walsh
b35a0d0cd2
Fix podman inspect to accept -l and -s fields
Podman inspect has a breaking change in that it dropped
--latest and --size options.

This PR adds these back.  Lots of tests rely on
podman inspect -l.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-20 15:52:46 -04:00
Jhon Honce
9cd6bba5d5 V2 podman image tree
* Basic port of V1 podman image tree ID

TODO: Refactor to return tree from service and format in presentation
layer
TODO: Support tunneling mode

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-20 10:10:24 -07:00
OpenShift Merge Robot
e5e625b2a6
Merge pull request #5872 from jwhonce/wip/options
V2 Fix support for tcp://[::]<port> connections
2020-04-20 10:42:00 -04:00
Daniel J Walsh
426eccee63
Cleanup network option parsing
We were not handling the parsing of --ip.  This pr adds validation
checks and now will support the flag.

Move validation to the actual parsing of the network flags.

We should only parse the dns flags if the user changed them. We don't
want to pass default options if set in containers.conf to the server.
Potential for duplicating defaults.

Add support for --dns-opt flag passing

Begin handling of --network flag, although we don't have a way right now
to translate a string into a specgen.Namespace.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-04-19 05:19:30 -04:00
Jhon Honce
4e0326241b V2 Fix support for tcp://[::]<port> connections
* Fix support for socket activation, on remote and service

$ systemd-socket-activate -l 8083 --fdname=podman bin/podman system service --log-level=debug --time=30
$ bin/podman-remote --remote=tcp://[::]:8083 image ls

Or, use the podman.{socket,service} unit files

$ bin/podman-remote --remote=unix:///run/podman/podman.sock image ls

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-17 16:39:59 -07:00
Sujil02
37f3b191d5 Add pod prune for api v2.
Add the ability to prune pods for api v2,
Includes the addition of force flag, for client side prompt.
Update test suite to support this use case.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-04-17 17:30:58 -04:00
OpenShift Merge Robot
ba289dcd79
Merge pull request #5868 from baude/v2t2
Fixes for system tests
2020-04-17 14:43:21 -04:00
OpenShift Merge Robot
a5884c07df
Merge pull request #5819 from vrothberg/v2-build
podmanV2: implement build
2020-04-17 14:30:49 -04:00
Brent Baude
44a8cf8676 Fixes for system tests
Various fixes to protect against regressions in system tests

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-17 13:22:06 -05:00
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
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
OpenShift Merge Robot
c7d17613ec
Merge pull request #5827 from baude/v2bloat
v2 bloat pruning phase 2
2020-04-15 15:00:13 -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
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
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
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
85c352d8bc
Merge pull request #5709 from vrothberg/v2-search
podmanV2: implement search
2020-04-14 14:51:39 +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
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
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
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
Brent Baude
8ce23775a6 v2podman ps alter formats
in order to get the go templating to work for custom input, we now use structure methods instead of template map funcs.  this requires some manipulation of fields so that the funcs can have the proper names.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-08 09:11:26 -05:00
Jhon Honce
e0847f5457 V2 podman system service
* Added support for system service
* Enabled linting on the varlinkapi source, needed to support V2
  service command
* Added support for PODMAN_SOCKET

Skip linting deprecated code

Rather than introduce bugs by correcting deprecated code, linting the
code is being skipped. Code that is being ported into V2 is being
checked.

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-07 19:22:10 -07:00
OpenShift Merge Robot
11c8b01e1d
Merge pull request #5739 from jwhonce/wip/diff
V2 Podman diff(changes) support
2020-04-07 21:49:24 +02:00
Jhon Honce
8ae28a55ac V2 podman diff(changes) support
* Ported CLI command
* Added API endpoint
* Added bindings
* Updated swagger (TODO: n endpoints, one handler)

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-04-07 09:39:46 -07:00
Brent Baude
013ecca895 podmanv2 info
add ability to run info for v2

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-04-07 07:15:09 -05:00