Commit graph

705 commits

Author SHA1 Message Date
theunrealgeek
62b7a770e8 Fix missing doc for field in PlayKubePod
Signed-off-by: Aditya Kamath <theunrealgeek@gmail.com>
2020-06-04 18:39:37 -07:00
OpenShift Merge Robot
c133e55afc
Merge pull request #6485 from QiWang19/remote-ignore
fix remote test --ignore & turn on more tests
2020-06-04 14:52:25 +02:00
OpenShift Merge Robot
6682ea8f0d
Merge pull request #6481 from QiWang19/rm-test-stop
turn on remote stop_test
2020-06-04 14:49:35 +02:00
OpenShift Merge Robot
9d138724ab
Merge pull request #6486 from baude/v2infoaddsocket
add socket information to podman info
2020-06-04 14:43:52 +02:00
Brent Baude
d023909c0b add socket information to podman info
this is step 1 to self-discovery of remote ssh connections.  we add a remotesocket struct to info to detect what the socket path might be.

Co-authored-by: Jhon Honce <jhonce@redhat.com>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-06-03 15:20:37 -05:00
OpenShift Merge Robot
1f8c509faf
Merge pull request #6478 from rhatdan/abisupport
Remove use of ABISupport buildtag
2020-06-03 22:12:33 +02:00
theunrealgeek
a338cd4e8a Update comment related to seccomp profiles in play kube
Signed-off-by: Aditya Kamath <theunrealgeek@gmail.com>
2020-06-03 12:57:08 -07:00
Matthew Heon
61ea85bddb When stopping containers locally, ensure cleanup runs
The cleanup process was already running and ensuring that mounts
and networking configuration was cleaned up on container stop,
but this was async from the actual `podman stop` command which
breaks some expectations - the container is still mounted at the
end of `podman stop` and will be cleaned up soon, but not
immediately. Fortunately, it's a trivial change to resolve this.

Fixes #5747

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-03 15:16:24 -04:00
Daniel J Walsh
9263ed2ab1
Remove use of ABISupport buildtag
We need to default to building podman. If you specify no build
tags you will not build podman, not podman-remote.

Just using remote flag to indicate podman-remote and !remote for
podman.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-06-03 15:11:34 -04:00
Qi Wang
f313a88441 fix remote test --ignore & turn on more tests
fix remote test --ignore & turn on more tests

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-06-03 15:04:58 -04:00
OpenShift Merge Robot
cbfb4980ce
Merge pull request #6469 from jwhonce/wip/auth
V2 Add support for ssh authentication methods
2020-06-03 19:43:56 +02:00
OpenShift Merge Robot
df0141dc20
Merge pull request #6473 from mheon/fix_inspect_segfault
Fix a segfault in `podman inspect -l` w/ no containers
2020-06-03 19:27:54 +02:00
Qi Wang
e77db144ab turn on remote stop_test
turn on stop_test  --cidfile

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-06-03 12:55:58 -04:00
Jhon Honce
cbca625328 V2 Add support for ssh authentication methods
* podman --remote ssh://<user>:<password>@<host>:<port><path>
* podman --remote ssh://<user>:<password>@<host>:<port><path> \
  --identity <path> --passphrase <phrase>
* ssh-add <key>
  podman --remote ssh://<user>@<host><path>
* Fix `podman help` to run even if podman missing components
* Prompt for passphrase on stdin IFF key is protected and passphrase
  not given via any other configuration

* cobra flags do not support optional value flags therefore refactored
  --remote to be a boolean and --url will now contain the URI to Podman
  service

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-06-03 09:54:39 -07:00
theunrealgeek
103c9225a9 Fix existing tests
Signed-off-by: Aditya Kamath <theunrealgeek@gmail.com>
2020-06-02 20:33:16 -07:00
theunrealgeek
478f296fb3 Modify PlayKubeReport to preserve pod->container mapping
Signed-off-by: Aditya Kamath <theunrealgeek@gmail.com>
2020-06-02 20:33:16 -07:00
theunrealgeek
ce7a9f0314 supporting k8s Deployment objects
Signed-off-by: Aditya Kamath <theunrealgeek@gmail.com>
2020-06-02 20:33:16 -07:00
Qi Wang
5473ba95d7 Turn on remote rm_test --cidfile
Turn on remote rm_test --cidfile

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-06-02 19:12:31 -04:00
Matthew Heon
4b37d4d5af Fix a segfault in podman inspect -l w/ no containers
We also need to rework container/image inspect to be separate,
but that can happen in another PR.

Fixes #6472

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-02 17:22:00 -04:00
Matthew Heon
e0d9404634 Enable detached exec for remote
The biggest obstacle here was cleanup - we needed a way to remove
detached exec sessions after they exited, but there's no way to
tell if an exec session will be attached or detached when it's
created, and that's when we must add the exit command that would
do the removal. The solution was adding a delay to the exit
command (5 minutes), which gives sufficient time for attached
exec sessions to retrieve the exit code of the session after it
exits, but still guarantees that they will be removed, even for
detached sessions. This requires Conmon 2.0.17, which has the new
`--exit-delay` flag.

As part of the exit command rework, we can drop the hack we were
using to clean up exec sessions (remove them as part of inspect).
This is a lot cleaner, and I'm a lot happier about it.

Otherwise, this is just plumbing - we need a bindings call for
detached exec, and that needed to be added to the tunnel mode
backend for entities.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-02 15:30:42 -04:00
Matthew Heon
45a7e7266e Add bindings for exec and enable attached remote
This adds bindings for starting exec sessions, and then uses them
to wire up detached exec. Code is heavily based on Attach code
for containers, slightly modified to handle exec sessions.

Bindings are presently attached-only, detached is pending on a
Conmon update landing in CI. I'll probably get to that next.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-06-01 17:24:00 -04:00
Brent Baude
990514ea92 Add support for format {{.Label}}
the pod ps man page says .Label is valid go template format. i dont think the function was actually ever implemented.

Fixes #6448

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-06-01 11:54:15 -05:00
Valentin Rothberg
dc80267b59 compat handlers: add X-Registry-Auth header support
* Support the `X-Registry-Auth` http-request header.

 * The content of the header is a base64 encoded JSON payload which can
   either be a single auth config or a map of auth configs (user+pw or
   token) with the corresponding registries being the keys.  Vanilla
   Docker, projectatomic Docker and the bindings are transparantly
   supported.

 * Add a hidden `--registries-conf` flag.  Buildah exposes the same
   flag, mostly for testing purposes.

 * Do all credential parsing in the client (i.e., `cmd/podman`) pass
   the username and password in the backend instead of unparsed
   credentials.

 * Add a `pkg/auth` which handles most of the heavy lifting.

 * Go through the authentication-handling code of most commands, bindings
   and endpoints.  Migrate them to the new code and fix issues as seen.
   A final evaluation and more tests is still required *after* this
   change.

 * The manifest-push endpoint is missing certain parameters and should
   use the ABI function instead.  Adding auth-support isn't really
   possible without these parts working.

 * The container commands and endpoints (i.e., create and run) have not
   been changed yet.  The APIs don't yet account for the authfile.

 * Add authentication tests to `pkg/bindings`.

Fixes: #6384
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-29 15:39:37 +02:00
Jhon Honce
5626c2163b V2 verify JSON output is consistent and doesn't drift
$ cd test/apiv2
$ python -m unittest -v test_rest_v1_0_0.TestApi

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-05-28 16:20:29 -07:00
Brent Baude
8438fa4fec Add streaming ability to endpoint
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-27 12:16:39 -05:00
OpenShift Merge Robot
89b4683cc4
Merge pull request #6372 from boaz0/gh_6283
Add --format to pod inspect
2020-05-27 09:59:25 -04:00
Valentin Rothberg
3cef598fc2 container stats: fix --no-stream race
Fix a race in `podman container stats` by waiting for the client to
consume the data in the channel.  This requires a `sync.WaitGroup` (or
semaphore) in the client and to also close the channel the backend.

Fixes: #6405
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-05-27 13:51:48 +02:00
Boaz Shuster
1f8a78747a Add --format to pod inspect
Signed-off-by: Boaz Shuster <boaz.shuster.github@gmail.com>
2020-05-27 09:48:38 +03:00
OpenShift Merge Robot
1077d2d0b7
Merge pull request #6321 from Luap99/podman-generate-systemd-unit-prefix
Allow to change the generated systemd unit name prefix
2020-05-25 06:46:17 -04:00
Daniel J Walsh
b9425467ed
Follow up PR to fix issues found in #6341
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-22 14:26:48 -04:00
Daniel J Walsh
35567e706b
Attempt to turn on additional build tests
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-22 12:55:23 -04:00
Luap99
e704f1362a Added new flags to 'podman generate systemd' to change the unit name prefix
--container-prefix <string> - default 'container'
Systemd unit name prefix for containers

--pod-prefix <string> - default 'pod'
Systemd unit name prefix for pods

--separator <string> - default '-'
Systemd unit name seperator between name/id and prefix

Signed-off-by: Paul Holzinger <paul.holzinger@web.de>
2020-05-22 18:38:39 +02:00
Jhon Honce
f51e0d0597 V2 enable remote logs and testing
* wire up bindings and handler for obtaining logs remotely
* enable debug logging from podman in e2e test using DEBUG and
  DEBUG_SERVICE env variables
* Fix error in streaming log frames
* enable remote logs test

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-05-22 07:51:29 -07:00
Sujil02
a61f9fd547 Removes remote system reset functionality. skip e2e test for remote.
As system reset too dangerous for remote use, deleting the functionality
and the test case.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-05-22 07:49:55 -04:00
OpenShift Merge Robot
72f87e6808
Merge pull request #6327 from baude/v2build
v2 podman-remote build
2020-05-22 12:00:58 +02:00
OpenShift Merge Robot
be43536c0a
Merge pull request #6330 from rhatdan/start
Fix podman-remote start tests
2020-05-22 01:44:03 +02:00
Daniel J Walsh
7ff96dbc83
Fix podman-remote start tests
Also enable some tests for remote by removing -l flag.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-21 16:46:26 -04:00
Brent Baude
845a795a7a v2 podman-remote build
this is a very basic implementation of build.  some of the more advanced options need to be included still as well.  i think the endpoints for compat and libpod will have to split given buildahs more advanced set of options.  that should probably be done by someone more experienced with build internals.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-21 14:22:11 -05:00
Daniel J Walsh
b0b153ddcd
Fix podman-remote stop --all to handle not running containers
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-21 15:17:28 -04:00
OpenShift Merge Robot
6409ff6781
Merge pull request #6319 from rhatdan/exit
Get proper exit code when running or starting a container.
2020-05-21 17:46:59 +02:00
OpenShift Merge Robot
363f8820bc
Merge pull request #6312 from rhatdan/image
Fix remote handling of podman images calls
2020-05-21 17:13:36 +02:00
Daniel J Walsh
f20694cc96
Get proper exit code when running or starting a container.
When we finish running a container, we need to call wait in order
to get the exit code from the container.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-21 10:49:13 -04:00
OpenShift Merge Robot
6668b131eb
Merge pull request #6304 from baude/v2remotehctests
Fix remote integration for healthchecks
2020-05-21 16:05:47 +02:00
OpenShift Merge Robot
a852afab2f
Merge pull request #6270 from mheon/detached_exec
Implement detached exec
2020-05-21 16:02:52 +02:00
OpenShift Merge Robot
500ad31d1b
Merge pull request #6307 from baude/v2remoteinit
enable remote integration tests for init
2020-05-21 15:57:23 +02:00
Daniel J Walsh
9add1abd12
Handle filters correctly for podman prune
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-21 09:28:42 -04:00
Daniel J Walsh
a4c8198afd
Fix remote handling of podman images calls
Enable three more tests
Fix handling of image filters

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-05-21 09:28:42 -04:00
OpenShift Merge Robot
8db7b9ea21
Merge pull request #6284 from baude/v2remotetestfixes
Test fixes for remote integration
2020-05-21 02:06:56 +02:00
OpenShift Merge Robot
588df90397
Merge pull request #6161 from kunalkushwaha/network-inspect
`--format` and `--filter` options for `network ls` and `network inspect` command
2020-05-20 23:32:52 +02:00
Brent Baude
37ecff9157 enable remote integration tests for init
Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-05-20 15:35:24 -05:00