Commit graph

23873 commits

Author SHA1 Message Date
OpenShift Merge Robot
464a1cd485
Merge pull request #5540 from jwhonce/issues/5531
Reduce CPU usage when --timeout=0
2020-03-18 21:55:09 +01:00
OpenShift Merge Robot
d66d542820
Merge pull request #5544 from baude/apiv2serveswagger
serve swagger when present
2020-03-18 21:26:52 +01:00
OpenShift Merge Robot
c9c95a7e0b
Merge pull request #5543 from edsantiago/swagger_fixes
swagger: more consistency fixes
2020-03-18 21:24:21 +01:00
Brent Baude
52c8350530 serve swagger when present
register the swagger endpoint and add some error handling for when the swagger file does not exist

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-18 14:34:14 -05:00
Ed Santiago
f557cf91d2 swagger: more consistency fixes
Some new 'manifests' entries have the wrong {name} parameter

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-18 13:33:07 -06:00
Daniel J Walsh
67d0d1e509
Vendor in containers/buildah v1.14.3
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-18 14:26:40 -04:00
OpenShift Merge Robot
45e7cbfef6
Merge pull request #5480 from vrothberg/auto-updates
auto update containers in systemd units
2020-03-18 18:27:33 +01:00
Jhon Honce
651ddd3560 Reduce CPU usage when --timeout=0
* Add second go routine for when a Timer is not needed.
* goimports updated some project files

Fixes #5531

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2020-03-18 10:27:25 -07:00
Ed Santiago
81005f463e New test: man page cross-ref against --help
New hack/xref-helpmsgs-manpages script, added to CI 'gate'
task, runs 'podman [subcommand] --help' and cross-references
against man pages in docs/source/markdown/podman*.1.md

See #5453 and #5460 for instances of the problems the
script has found.

The careful reader will find an alarming number of special-case
bypasses. These are a tradeoff I am making: to get perfect
coverage with no handwaving, it would be necessary to make
drastic changes to some man pages, and I believe those would
be counterproductive.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-18 11:03:26 -06:00
Matthew Heon
e89c6382ae Add inspect for exec sessions
This produces detailed information about the configuration of an
exec session in a format suitable for the new HTTP API.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-03-18 11:02:14 -04:00
Matthew Heon
118e78c5d6 Add structure for new exec session tracking to DB
As part of the rework of exec sessions, we need to address them
independently of containers. In the new API, we need to be able
to fetch them by their ID, regardless of what container they are
associated with. Unfortunately, our existing exec sessions are
tied to individual containers; there's no way to tell what
container a session belongs to and retrieve it without getting
every exec session for every container.

This adds a pointer to the container an exec session is
associated with to the database. The sessions themselves are
still stored in the container.

Exec-related APIs have been restructured to work with the new
database representation. The originally monolithic API has been
split into a number of smaller calls to allow more fine-grained
control of lifecycle. Support for legacy exec sessions has been
retained, but in a deprecated fashion; we should remove this in
a few releases.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-03-18 11:02:14 -04:00
Matthew Heon
f138405b46 Populate ExecSession with all required fields
As part of the rework of exec sessions, we want to split Create
and Start - and, as a result, we need to keep everything needed
to start exec sessions in the struct, not just the bare minimum
for tracking running ones.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-03-18 11:02:14 -04:00
OpenShift Merge Robot
d9eb078e2a
Merge pull request #5532 from baude/filetimeoutflake
fix timeout file flake
2020-03-18 16:01:31 +01:00
OpenShift Merge Robot
de43a00b55
Merge pull request #5533 from mheon/bump-1.8.2-rc1
Bump to v1.8.2-RC1
2020-03-18 15:28:50 +01:00
OpenShift Merge Robot
f08b992f3b
Merge pull request #5536 from giuseppe/avoid-conmon-zombie
podman: avoid conmon zombie on exec
2020-03-18 15:10:41 +01:00
Giuseppe Scrivano
a6f5b6a485
podman: avoid conmon zombie on exec
conmon forks itself, so make sure we reap the first process and not
leave a zombie process.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-03-18 12:58:14 +01:00
Sujil02
15326f051d Filter pods through pod list api
Refactored current filter pods flow through the shared pod functions
so filter pod functionalities can be shared between api and cmd.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-03-17 17:46:20 -04:00
Matthew Heon
e9846b962a Bump to v1.8.2-dev
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-17 17:38:47 -04:00
Matthew Heon
c617484c15 Bump to v1.8.2-rc1
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-17 17:38:44 -04:00
OpenShift Merge Robot
f3a28de324
Merge pull request #5528 from mheon/fix_master_vendor
Fix vendoring on master
2020-03-17 22:36:56 +01:00
Matthew Heon
d47dc63cf5 Fix vendoring on master
It looks like something snuck in and now make vendor fails on
master. This should make things happy.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-17 16:01:41 -05:00
Brent Baude
14186ca28e fix timeout file flake
this is a temporary fix for the flake that has been troubling us.  once conmon is in fedora 30 and 31 stable, we can remove this fix.  the images will just need to be rebuilt.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-17 15:44:39 -05:00
OpenShift Merge Robot
bcdcfeb3e3
Merge pull request #5529 from mheon/release_notes_182_rc1
[CI:DOCS] Update release notes for v1.8.2-RC1
2020-03-17 21:11:36 +01:00
Matthew Heon
7c5ffe3772 Update release notes for v1.8.2-rc1
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-03-17 15:47:39 -04:00
Matthew Heon
83d2686f46 Fix vendoring on master
It looks like something snuck in and now make vendor fails on
master. This should make things happy.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-03-17 15:20:14 -04:00
OpenShift Merge Robot
8f1ce4bddd
Merge pull request #5524 from rhatdan/vendor
Update containers/storage to v1.16.5
2020-03-17 17:25:21 +01:00
Valentin Rothberg
f4e873c4e1 auto updates
Add support to auto-update containers running in systemd units as
generated with `podman generate systemd --new`.

`podman auto-update` looks up containers with a specified
"io.containers.autoupdate" label (i.e., the auto-update policy).

If the label is present and set to "image", Podman reaches out to the
corresponding registry to check if the image has been updated.  We
consider an image to be updated if the digest in the local storage is
different than the one of the remote image.  If an image must be
updated, Podman pulls it down and restarts the container.  Note that the
restarting sequence relies on systemd.

At container-creation time, Podman looks up the "PODMAN_SYSTEMD_UNIT"
environment variables and stores it verbatim in the container's label.
This variable is now set by all systemd units generated by
`podman-generate-systemd` and is set to `%n` (i.e., the name of systemd
unit starting the container).  This data is then being used in the
auto-update sequence to instruct systemd (via DBUS) to restart the unit
and hence to restart the container.

Note that this implementation of auto-updates relies on systemd and
requires a fully-qualified image reference to be used to create the
container.  This enforcement is necessary to know which image to
actually check and pull.  If we used an image ID, we would not know
which image to check/pull anymore.

Fixes: #3575
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-17 17:18:56 +01:00
xcffl
68ef7aa4fb Fix path of tmp_dir
Signed-off-by: xcffl <xcffl@protonmail.com>
2020-03-17 23:40:47 +08:00
OpenShift Merge Robot
9ef5d28759
Merge pull request #5449 from baude/manifests
apiv2 addition of manifests
2020-03-17 16:00:05 +01:00
OpenShift Merge Robot
c4a62733ae
Merge pull request #5520 from giuseppe/make-warning-clearer
config: make warning clearer
2020-03-17 15:42:14 +01:00
Daniel J Walsh
8081d9c745
Update containers/storage to v1.16.5
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2020-03-17 09:52:11 -04:00
Valentin Rothberg
a255d7986a pkg/systemd: add dbus support
Move the dbus-connection code from libpod's healthcheck to pkg/systemd
to allow for sharing the logic.  Needed for the auto-updates work.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-17 11:29:37 +01:00
Giuseppe Scrivano
cc57b88f77
config: make warning clearer
make clearer that the warning could also happen because the logger is
set to use systemd.

Closes: https://github.com/containers/libpod/issues/5443

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2020-03-17 10:31:32 +01:00
OpenShift Merge Robot
2b2996d09d
Merge pull request #5515 from edsantiago/ci_sundry_small_fixes
Four small CI fixes:
2020-03-16 20:47:07 +01:00
OpenShift Merge Robot
da17fbaad5
Merge pull request #5490 from containers/dependabot/go_modules/k8s.io/api-0.17.4
Bump k8s.io/api from 0.17.3 to 0.17.4
2020-03-16 20:44:50 +01:00
OpenShift Merge Robot
83c037c58c
Merge pull request #5489 from containers/dependabot/go_modules/github.com/containers/common-0.5.0
Bump github.com/containers/common from 0.4.2 to 0.5.0
2020-03-16 20:02:27 +01:00
Ed Santiago
3003384785 Four small CI fixes:
1) 'podman system info' (in logcollector): has been silently
     failing in special_testing_rootless, with:
       logcollector.sh: line 16: podman: command not found
     Use ./bin/podman instead of just podman; this is probably
     the right thing to do in the general case anyway

  2) logformatter: highlight 'panic:', seen in bindings test:
        https://storage.googleapis.com/cirrus-ci-5385732420009984-fcae48/artifacts/containers/libpod/6693715108429824/html/integration_test.log.html

  3) logformatter: handle Unicode bullet in front of 'Running',
     seen in bindings test.

  4) logformatter: turn down contrast on BATS 'ok' results,
     for legibility

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-03-16 11:37:27 -06:00
Ed Santiago
67a985ddb2
Merge pull request #5514 from vrothberg/fix-ci
fix systemd generate tests
2020-03-16 11:36:26 -06:00
Valentin Rothberg
bfa1ba5882 fix systemd generate tests
Add the `default.target` to the failing tests.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-03-16 16:39:27 +01:00
Brent Baude
abbbeacd68 apiv2 addition of manifests
add endpoints for create, add, remove, inspect, and push.  this allows manifests to be managed through the restful interfaces.

also added go-bindings and tests

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-16 10:03:55 -05:00
OpenShift Merge Robot
412a114d33
Merge pull request #5439 from ttys3/fixup-systemdgen-with-new-param
systemd generator: force run container detached if CreateCommand has no detach param
2020-03-16 14:40:02 +01:00
OpenShift Merge Robot
5288d112bc
Merge pull request #5252 from QiWang19/not-reset-tempdir
Fix bug podman reset to not remove $XDG_RUNTIME_DIR
2020-03-16 13:48:36 +01:00
OpenShift Merge Robot
759ffb0a27
Merge pull request #5505 from tonybenoy/tony_typo
Missing double quotes in troubleshooting guide.
2020-03-16 13:39:59 +01:00
OpenShift Merge Robot
4e13ef58c8
Merge pull request #5476 from edsantiago/run_rmi_test_fix
run --rmi test: make it work
2020-03-16 12:51:50 +01:00
OpenShift Merge Robot
af1ac85da6
Merge pull request #5508 from baude/buildaddarchos
add os|arch attributes when building
2020-03-16 12:23:56 +01:00
Brent Baude
9ca4b6c6f5 add os|arch attributes when building
when building images, we can now add the os and arch of the image using overrides from the commandline.  the commandline options set sane defaults so we use those as well.

Fixes: #5503

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-03-15 12:49:42 -05:00
Tony Benoy
9128ef85cc
Missing double quotes in troubleshooting guide.
Signed-off-by: Tony Benoy <me@tonybenoy.com>
2020-03-15 18:40:43 +05:30
荒野無燈
194723f314
force run container detached if container CreateCommand missing the detach param
the podman generated systemd service file has `Type=forking` service,
so the command after `ExecStart=` should not run in front.
if someone created a container and has the detach(`-d`) param missing
like this
```
podman create --name ngxdemo -P nginxdemos/hello
```
and generate the file with `--new` param:
```
podman generate systemd --name --new ngxdemo
```
because `podman run xxx` has no `-d` param,
so the container is not run in background and nerver exit.
and systemd will fail to start the service:
```
sudo systemctl start container-ngxdemo.service
Job for container-ngxdemo.service failed because a timeout was exceeded.
See "systemctl status container-ngxdemo.service" and "journalctl -xe" for details.
```

Signed-off-by: 荒野無燈 <ttys3@outlook.com>
2020-03-14 21:54:12 +08:00
OpenShift Merge Robot
8b07ad1138
Merge pull request #5496 from baude/preemptive
eat signal 23 in signal proxy
2020-03-14 01:04:10 +01:00
OpenShift Merge Robot
16536af113
Merge pull request #5491 from containers/dependabot/go_modules/github.com/fsnotify/fsnotify-1.4.9
Bump github.com/fsnotify/fsnotify from 1.4.7 to 1.4.9
2020-03-14 01:01:56 +01:00