6355 Commits

Author SHA1 Message Date
6458f960e6 Merge pull request #4584 from nitrocode/patch-2
install.md: added slirp4netns dependency to ubuntu
2019-12-02 21:04:47 -08:00
689329f749 Ensure volumes reacquire locks on state refresh
After a restart, pods and containers both run a refresh()
function to prepare to run after a reboot. Until now, volumes
have not had a similar function, because they had no per-boot
setup to perform.

Unfortunately, this was not noticed when in-memory locking was
introduced to volumes. The refresh() routine is, among other
things, responsible for ensuring that locks are reserved after a
reboot, ensuring they cannot be taken by a freshly-created
container, pod, or volume. If this reservation is not done, we
can end up with two objects using the same lock, potentially
needing to lock each other for some operations - classic recipe
for deadlocks.

Add a refresh() function to volumes to perform lock reservation
and ensure it is called as part of overall refresh().

Fixes #4605
Fixes #4621

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-12-02 23:06:00 -05:00
b90585042c Merge pull request #4616 from ssbarnea/fix/makefile
build: improved main makefile
2019-12-02 19:41:51 -08:00
2eda555ebe Ignore ErrCtrRemoved when removing a container
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-12-03 04:14:57 +01:00
8cb1af9afc Add comment on rootless containers creating device nodes
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-12-03 03:38:41 +01:00
c9696c451d Merge pull request #4596 from kunalkushwaha/container-prune
container prune command fixed as per docker prune command
2019-12-02 18:33:58 -08:00
1414a063f5 Updates on making doc building and debug optional
It changes the podman spec from using with_doc to bcond_without
for building docs so that anyone can pass --without doc as well
as other rpmbuild args to the build_rpm.sh script to skip
building docs.

Since go-md2man is not available in CentOS8 repo. without the
help fo extra_args, it makes it conditional.

It also moves the manpages to a seperate package.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-12-03 07:57:50 +05:30
f4302a52cb troubleshooting: warn about secure boot
Add an additional troubleshooting item to warn users that Secure Boot
can prevent Podman from running containers. The error messages and
initial debugging steps don't make it clear that this all stems from a
BIOS setting. Hopefully adding this item to the troubleshooting doc
will avoid future headaches.

Signed-off-by: Brian Fallik <brian@clypd.com>
2019-12-02 20:11:45 -05:00
711728672f Merge pull request #4617 from giuseppe/fix-error-case
libpod: fix case for executable file not found errors
2019-12-02 19:24:54 +01:00
e13e5502e3 libpod: fix case for executable file not found errors
do not change the runtime error to be lowercase, but use a case
insensitive regex matching.  In this way the original error from the
OCI runtime is reported back.

regression introduced by bc485bce47f55135d6ead80537bc145edb779ae9

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-12-02 18:03:33 +01:00
8d00c838fb Merge pull request #4608 from rhatdan/vendor
Fix podman-remote version to print client and server
2019-12-02 17:57:44 +01:00
86ef7db536 build: improved main makefile
* added .install.md2man as dependency for docs, fixed broken build
  on systems that do not have go-md2man preinstalled.
* sorted PHONY targets

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2019-12-02 16:47:30 +00:00
3befbb1997 build: improved prepare.sh
* assure we use bash strict mode
* avoid shallow errors on full clones
* make script bit more idempotent

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2019-12-02 16:33:51 +00:00
e4275b3453 Merge pull request #4493 from mheon/add_removing_state
Add ContainerStateRemoving
2019-12-02 16:31:11 +01:00
b9b2ab5e5f Fix podman-remote version to print client and server
If the user specifies .Server.* on a non podman-remote,
substitute .Client for .Server and return the value.
This is for compatability with Docker.

Since prior versions documented --format {{ .Version }}, we
have to continue to support that.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-12-02 15:50:00 +01:00
bca01ed461 man page updated with examples of filter option
examples with filter added

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-12-02 11:47:56 +09:00
6c757949ce install.md: added slirp4netns dependency to ubuntu
https://github.com/containers/libpod/issues/1234
Signed-off-by: nitrocode <nitrocode@users.noreply.github.com>
2019-12-01 20:01:46 -05:00
39c705e940 Merge pull request #4558 from rhatdan/reset
Add podman system reset command
2019-11-29 15:05:03 +01:00
7b99ef0b84 Merge pull request #4597 from openSUSE/nostore
Do not initialize store on rootless podman
2019-11-29 14:50:42 +01:00
7f53178a7d Merge pull request #4576 from giuseppe/oci-errors-only-match
oci: print only matching part for the errors
2019-11-29 12:22:58 +01:00
1c0356ee91 Merge pull request #4587 from raukadah/btrfs
Disable btrfs for RHEL in podman spec
2019-11-29 12:02:37 +01:00
39b14405c3 Merge pull request #4589 from ssbarnea/fix/build2
Detect Python executable in Makefile
2019-11-29 11:46:56 +01:00
79bf5010ed Add podman system reset command
This command will destroy all data created via podman.
It will remove containers, images, volumes, pods.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-29 05:34:52 -05:00
b4313b296a fix commands.go to get links from correct directory
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-29 05:32:53 -05:00
17646e9c7d Merge pull request #4590 from raukadah/docs
Make doc building in spec optional
2019-11-29 11:32:52 +01:00
1bf9b27a22 Merge pull request #4594 from adrianreber/master
Disable checkpointing of containers started with --rm
2019-11-29 11:21:22 +01:00
d264dc1c0a Do not initialize store on rootless podman
This fixes a double-locking issue of the container storage when running
rootless podman.

Closes #4591

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-11-29 08:59:38 +01:00
10c37a2c93 filter added to container prune command
filter flag helps to filter the containers based on
labels, until(time), name, etc for prune command.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-11-29 15:28:55 +09:00
5e43c7cde1 Disable checkpointing of containers started with --rm
Trying to checkpoint a container started with --rm works, but it makes
no sense as the container, including the checkpoint, will be deleted
after writing the checkpoint. This commit inhibits checkpointing
containers started with '--rm' unless '--export' is used. If the
checkpoint is exported it can easily be restored from the exported
checkpoint, even if '--rm' is used. To restore a container from a
checkpoint it is even necessary to manually run 'podman rm' if the
container is not started with '--rm'.

Signed-off-by: Adrian Reber <areber@redhat.com>
2019-11-28 20:25:45 +01:00
17e4641d45 Make doc building in spec optional
since go-man2md is not available in CentOS 8, making it
optional allows them to build the rpm.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-11-28 18:40:15 +05:30
eb3cbdd628 Donot install btrfs in RHEL/CentOS-8
Since btrfs-progs-devel is not available in RHEL/CentOS 8 and
the spec fails to build it while running build_rpm.sh,
making it optional fixes the issue.

It also modifies the spec file to install btrfs-progs-devel for
fedora only.

Since golang-github-cpuguy83-go-md2man was added twice, it also
removes the repetition.

Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
2019-11-28 18:38:22 +05:30
aa95726c98 Merge pull request #4579 from ssbarnea/fix/build
Improved build_rpm.sh
2019-11-28 11:39:37 +01:00
bc485bce47 oci: print only matching part for the errors
when parsing the OCI error, be sure to discard any other output that
is not matched.  The full output is still printed with
--log-level=debug.

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

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-28 09:51:58 +01:00
0602ce4dc0 command output fixed as per docker equivalent
container prune command ask for confirmation by default.

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
2019-11-28 11:45:26 +09:00
7262e545c8 Detect Python executable in Makefile
`make help` failed on modern platforms that have only
python3 executable installed.

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2019-11-27 19:27:14 +00:00
7605387a70 Improved build_rpm.sh
- assure we use bash strict mode to avoid missing errors
- added untracked artifacts to gitignore

Signed-off-by: Sorin Sbarnea <sorin.sbarnea@gmail.com>
2019-11-27 17:59:06 +00:00
2178875fa7 Merge pull request #4568 from openSUSE/history
Add support for image name history
2019-11-27 15:31:22 +01:00
63e46cc85c Add support for image name history
We leverage the containers/storage image history tracking feature to
show the previously used image names when running:
`podman images --history`

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-11-27 13:42:06 +01:00
27a09f8fab Merge pull request #4443 from QiWang19/prune_pod
Remove containers when pod prune & pod rm.
2019-11-26 20:43:28 +01:00
b29928f015 Merge pull request #4542 from mheon/static_ip_single_net_allowed
Allow --ip and --mac to be set when joining a CNI net
2019-11-26 19:56:49 +01:00
07c63583dd Merge pull request #4475 from rhatdan/tmpdir
Add missing information to podman.1 man page
2019-11-26 19:42:36 +01:00
d9400cced2 Remove containers when pruning a stopped pod.
This path allows pod prune & pod rm to remove stopped containers in the pod before deleting the pod.
PrunePods and RemovePod should be able to remove containers without force removal of stopped pods.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2019-11-26 13:19:31 -05:00
f5ef3d59bc Merge pull request #4557 from rhatdan/man
Document other bind options on --volumes flag
2019-11-26 18:50:37 +01:00
01ae532a89 Allow --ip and --mac to be set when joining a CNI net
These only conflict when joining more than one network. We can
still set a single CNI network and set a static IP and/or static
MAC.

Fixes #4500

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-11-26 09:56:14 -05:00
a4983b05fb Document other bind options on --volumes flag
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-26 07:57:33 -05:00
aef38585ed Merge pull request #4514 from mheon/discard_cleanup_errors
Discard errors from Shutdown in `system renumber`
2019-11-26 05:36:30 +01:00
9fb0adf479 Merge pull request #4540 from vrothberg/systemd-improvements
podman rm/stop: add --allow-missing flag
2019-11-25 14:17:45 +01:00
a3d13fb286 podman {pod,} rm/stop: add --ignore flag
Add an --ignore flag to podman rm and stop. When specified, Podman will
ignore "no such {container,pod}" errors that occur when a specified
container/pod is not present in the store (anymore).  The motivation
behind adding this flag is to write more robust systemd services using
Podman.  A user might have manually decided to remove a container/pod
which would lead to a failure during the `ExecStop` directive of a
systemd service referencing that container/pod.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-11-25 09:48:13 +01:00
6187e72435 Merge pull request #4544 from containers/dependabot/go_modules/github.com/pkg/profile-1.4.0
build(deps): bump github.com/pkg/profile from 1.3.0 to 1.4.0
2019-11-22 23:31:01 +01:00
e953828d0d Discard errors from Shutdown in system renumber
Every other Podman command discards errors from Shutdown, which
will error if containers are running. Mirror that behavior, just
ignore the errors.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-11-22 17:27:06 -05:00