Commit graph

10739 commits

Author SHA1 Message Date
baude
9be6f30a42
post-process swagger yaml for publish
Signed-off-by: baude <bbaude@redhat.com>
Signed-off-by: Chris Evich <cevich@redhat.com>
2020-01-17 15:41:33 -05:00
OpenShift Merge Robot
ab7e1a4c40
Merge pull request #4892 from cevich/fix_upload_image
Minor: Bugfix in upload image
2020-01-17 18:25:24 +01:00
Ed Santiago
c2f50499c9 Tests for API v2
Initial framework for testing the version 2 (HTTP) API.
Includes a collection of tests for some of the existing
endpoints. Not all tests are currently passing.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-01-17 09:59:22 -07:00
OpenShift Merge Robot
f5e614b63f
Merge pull request #4721 from openSUSE/tag-docs
Update `tag` documentation regarding 'alias' usage
2020-01-17 17:08:23 +01:00
Chris Evich
c183dddea6
Minor: Bugfix in upload image
The release upload process always involves two filenames, however the
second filename might (someday) be optional.  The code allowed for this,
however input validation did not.  This change fixes the validation.

Signed-off-by: Chris Evich <cevich@redhat.com>
2020-01-17 10:43:48 -05:00
OpenShift Merge Robot
acbb6c064d
Merge pull request #4873 from lsm5/debian-install-update
update install instructions for Debian, Raspbian and Ubuntu
2020-01-17 15:27:40 +01:00
Sascha Grunert
38ba9e6922
Update tag documentation regarding 'alias' usage
The word `alias` is not very common when speaking about image names and
tags. So we just refer to image name as the overall identifier of an
image.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-01-17 08:51:36 +01:00
Lokesh Mandvekar
26b31fd29c update install instructions for Debian, Raspbian and Ubuntu
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2020-01-17 08:35:45 +05:30
OpenShift Merge Robot
74b89da27c
Merge pull request #4837 from mheon/rework_attach
Add an API for Attach over HTTP API
2020-01-16 21:10:53 +01:00
OpenShift Merge Robot
79fbe7252e
Merge pull request #4879 from vrothberg/install-golangci-updates
hack/install_golangci.sh: check env vars
2020-01-16 20:55:28 +01:00
Giuseppe Scrivano
1951ff168a
oci_conmon: do not create a cgroup under systemd
Detect whether we are running under systemd (if the INVOCATION_ID is
set).  If Podman is running under a systemd service, we do not need to
create a cgroup for conmon.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-01-16 20:29:28 +01:00
OpenShift Merge Robot
427e87449d
Merge pull request #4887 from vrothberg/fix-4886
e2e/run_signal_test.go: make it more robust
2020-01-16 20:23:37 +01:00
Matthew Heon
ac47e80b07 Add an API for Attach over HTTP API
The new APIv2 branch provides an HTTP-based remote API to Podman.
The requirements of this are, unfortunately, incompatible with
the existing Attach API. For non-terminal attach, we need append
a header to what was copied from the container, to multiplex
STDOUT and STDERR; to do this with the old API, we'd need to copy
into an intermediate buffer first, to handle the headers.

To avoid this, provide a new API to handle all aspects of
terminal and non-terminal attach, including closing the hijacked
HTTP connection. This might be a bit too specific, but for now,
it seems to be the simplest approach.

At the same time, add a Resize endpoint. This needs to be a
separate endpoint, so our existing channel approach does not work
here.

I wanted to rework the rest of attach at the same time (some
parts of it, particularly how we start the Attach session and how
we do resizing, are (in my opinion) handled much better here.
That may still be on the table, but I wanted to avoid breaking
existing APIs in this already massive change.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-01-16 13:49:21 -05:00
Giuseppe Scrivano
70236f56f9
systemdgen: specify --cgroups=disabled-conmon for --new
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-01-16 18:59:09 +01:00
Giuseppe Scrivano
ba0a6f34e3
podman: add new option --cgroups=no-conmon
it allows to disable cgroups creation only for the conmon process.

A new cgroup is created for the container payload.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-01-16 18:56:51 +01:00
OpenShift Merge Robot
30245affe9
Merge pull request #4884 from vrothberg/systemd-ignore
systemdgen: add --ignore flag to generic services
2020-01-16 18:31:08 +01:00
OpenShift Merge Robot
1d7176b135
Merge pull request #4869 from rhatdan/network
Remove c.String(net)
2020-01-16 17:07:56 +01:00
Valentin Rothberg
9d3667c2f0 systemdgen: add --ignore flag to generic services
The --ignore flag lets Podman ignore errors when a specified container
does not exist (anymore).  That's a nice addition to generic services
generated via the --new flag.  Those services create new containers and
can hence allows user to manually remove a container; may it only be by
accident.

The important part of using the --ignore flag is that Podman will exit 0
which plays nicer with most restart policies; a non-zero exit may yield
systemd to restart the entire service which is arguably wrong if the
user manually deletes the container.

If desired, users can still alter the generated files.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-16 16:36:21 +01:00
Valentin Rothberg
49703299b1 e2e/run_signal_test.go: make it more robust
Make the signal test more robust by just checking that the container's
exit code is non-zero.  There are two possible exit codes (i.e., 130 and
137) depending on how the container is being killed, which is likely
responsible for CI flakes.

Fixes: #4886
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-16 16:19:06 +01:00
Valentin Rothberg
d4ca3197b6 hack/install_golangci.sh: check env vars
Also make it executable and `set -eo pipefail`.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-16 15:26:25 +01:00
Daniel J Walsh
45e9a6b12e
Remove c.String(net)
We have a lot of cludgy code trying to make --net and --network equivalent.
This will allow --net to still exists but will eliminate the help and confusion.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-01-16 09:23:32 -05:00
OpenShift Merge Robot
db00ee97e9
Merge pull request #4881 from vrothberg/terminate-service
v2: don't block sigterm and add the service to `make binaries`
2020-01-16 15:15:58 +01:00
Valentin Rothberg
c3d90179dc make binaries: include service
Include the service into make binaries such that we're it's being build
in the CI.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-16 14:05:39 +01:00
Valentin Rothberg
279bf40ab1 service: don't block sigterm
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-16 13:08:59 +01:00
OpenShift Merge Robot
61fbce710b
Merge pull request #4882 from vrothberg/fix-gating
Cirrus: remove workaround for cleaning /go/bin
2020-01-16 12:53:08 +01:00
Valentin Rothberg
45a7e0146b Cirrus: remove workaround for cleaning /go/bin
Remove the temporary workaround for cleaning /go/bin in the gating task.
The workaround was added to make sure that we're always installing the
latest tools in `make install.tools`.  The gating image does not ship
with these pre-installed tools anymore which is now causing errors in
the gating task as the `rm` is missing the `--force` flag.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-16 12:08:58 +01:00
OpenShift Merge Robot
e1e405b70d
Merge pull request #4807 from ssbarnea/fix/pre-commit
Enable pre-commit linting
2020-01-15 23:51:22 +01:00
OpenShift Merge Robot
741e29caf3
Merge pull request #4860 from vrothberg/v2-top
v2 api: top improvements
2020-01-15 23:33:10 +01:00
OpenShift Merge Robot
0870e88ff4
Merge pull request #4824 from edsantiago/bats
more BATS tests
2020-01-15 23:33:02 +01:00
OpenShift Merge Robot
978b891c8d
Merge pull request #4874 from baude/swagcleanup
[CI:DOCS]swagger cleanup and left-hand nav
2020-01-15 21:45:11 +01:00
baude
a6ea17455c [CI:DOCS]swagger cleanup and left-hand nav
add a static tags file so we can dictate the left-hand navigation. in
doing so we now override the tag in the swagger:operation. we now have
images and images (compat) as a way to differentiate.

Signed-off-by: baude <bbaude@redhat.com>
2020-01-15 14:22:25 -06:00
OpenShift Merge Robot
34429f3b53
Merge pull request #4870 from vrothberg/gating-dockerfile
Gating dockerfile
2020-01-15 19:01:25 +01:00
OpenShift Merge Robot
974373f2b3
Merge pull request #4868 from jwhonce/wip/sshd
[CI:DOCS] Add APIv2 CLI example POC
2020-01-15 18:14:11 +01:00
Jhon Honce
89678ab0ed Add APIv2 CLI example POC
* Add ReadMe, CLI and unit files to support socket activation, both for
  system and rootless

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-01-15 09:13:45 -07:00
Valentin Rothberg
69bd57f518 api: stats: fix typo
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 17:08:22 +01:00
Valentin Rothberg
a65068aff8 api: utils: add an IsLibpodRequest handler
Add a hanlder to figure out if the specified http request came through
a libpod endpoint.  A first user is the top endpoint which has a
different default value for `ps_args` depending if the request came
through the docker or libpod endpoint.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 17:08:22 +01:00
Valentin Rothberg
9d54815c26 refactor top code
Move the top logic from pkg/adapter into the (*libpod.Container).Top().
This way, we drop the dependency from pkg/api on pkg/adapters and have
a clearer separation of concerns.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 17:08:22 +01:00
Valentin Rothberg
88372c2c21 top: use a separate pipe for the error stream
Let's not mix apples and oranges and give stderr a dedicated pipe. This
way, we don't return conmon log messages if run in debug mode.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 17:08:22 +01:00
Valentin Rothberg
63d8ba64e4 v2 api: top improvements
* Use `pkg/adapter` to increase code reuse and reduce code redundancy.
* Extend swagger docs to mention AIX descriptors.
* Document the libpod endpoint which shares the same handler.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 17:08:16 +01:00
OpenShift Merge Robot
e025b43060
Merge pull request #4872 from vrothberg/v2-stats
v2 api: stats improvements
2020-01-15 16:18:36 +01:00
Valentin Rothberg
d8d42512c1 v2: stats: drop redundant sleep when streaming
Also remove the redundant stats handler in libpod.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 13:42:21 +01:00
Valentin Rothberg
b9be9e6170 v2: stats: libpod: use generic handler
The docker and libpod endpoints provide the same functionality, so
we can use the same handler.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 13:41:05 +01:00
Valentin Rothberg
fb5e597302 v2: stats: rigorous error checks
Also expect the container to be running.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 13:14:56 +01:00
Valentin Rothberg
0f6955c30e v2: stats: fix errors
Also add some comments.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 12:49:47 +01:00
OpenShift Merge Robot
d914cc231a
Merge pull request #4859 from giuseppe/not-change-permission-for-rundir-tmpdir
oci_conmon: not make accessible dirs if not needed
2020-01-15 12:45:15 +01:00
Valentin Rothberg
3c7b7761ce v2: stats: do not ignore errors
We must check all errors and handle them properly. Otherwise, we can run
into nil dereferences ultimately killing the service.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 11:41:38 +01:00
Valentin Rothberg
a1ff93bdfe v2: stats: remove windows-specific fields
`NumProcs` and `StorageStats` are windows specific and are not
popoulated on Linux.  Hence, we can safely remove them.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 11:11:30 +01:00
Valentin Rothberg
b830d3eb07 make .install.golangci-lint: force specific version
Instead of only performing a presence check of the binary, also do a
version check and force installing the specified one if needed.  This
will prevent users and the CI from using a wrong version in the future.

Move the logic into a dedicated shell script as I find built-in bash in
Makefiles hard to maintain.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 08:55:46 +01:00
Valentin Rothberg
b6155c1657 Makefile: remove gometalinter
Remove all references on gometalinter including the target to install
it.  We are not using it anymore since we have fully migrated to
golangci-lint.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 08:29:33 +01:00
Valentin Rothberg
1c95e66b20 contrib/gate/Dockerfile: bump to F31
Use fedora:31 as a base image and rebuild to fetch the latest tools.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-01-15 08:28:56 +01:00