Commit graph

10739 commits

Author SHA1 Message Date
Nalin Dahyabhai
07195ff09f API: report multiple digests for images
Be prepared to report multiple image digests for images which contain
multiple manifests but, because they continue to have the same set of
layers and the same configuration, are considered to be the same image.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-10-29 13:35:19 -04:00
Nalin Dahyabhai
b9313d355e pull/create: add --override-arch/--override-os flags
Add --override-arch and --override-os as hidden flags, in line with the
global flag names that skopeo uses, so that we can test behavior around
manifest lists without having to conditionalize more of it by arch.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-10-29 13:35:19 -04:00
Nalin Dahyabhai
803357334c image: don't get confused by lists
When an image can be opened as an ImageSource but not an Image, handle
the case where it's an image list all by itself, the case where it's an
image for a different architecture/OS combination, or the case where
it's both.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-10-29 13:35:19 -04:00
Nalin Dahyabhai
05c65e88e3 Add e2e tests for manifest list support
Test that when we pull using tag or digest references from locations
that are manifest lists, that we can inspect using the references that
we used for pulling, that the tags show up in the RepoTag list when we
inspect an image that was pulled using a tag, and that the list and
instance digests always both show up in the RepoDigest list.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-10-29 13:35:19 -04:00
Nalin Dahyabhai
a4a70b4506 bump containers/image to v5.0.0, buildah to v1.11.4
Move to containers/image v5 and containers/buildah to v1.11.4.

Replace an equality check with a type assertion when checking for a
docker.ErrUnauthorizedForCredentials in `podman login`.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-10-29 13:35:18 -04:00
baude
91baaee9a8 goland autocorrections
just ran the autocorrect code corrections from goland and it found a few
nits.

Signed-off-by: baude <bbaude@redhat.com>
2019-10-29 12:18:50 -05:00
OpenShift Merge Robot
59582c55b7
Merge pull request #3792 from haircommander/minimum-conmon
require conmon v2.0.1
2019-10-29 17:44:52 +01:00
Akihiro Suda
a9976049f0 Makefile: fix embedding gitCommit
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-10-29 23:56:34 +09:00
Chris Evich
d4c80b755e
Cirrus: Fix minor python deprecation warning
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-29 10:45:08 -04:00
Chris Evich
8303eb3037
Cirrus: Only upload tagged releases
Prior to this commit, every push to master had it's builds packaged and
uploaded to google storage.  This is a waste, since potential users
are only ever concerned about tagged releases.

Unfortunately because the release process involves humans with
potentially multiple human and automation steps happening in parallel,
it's easy for automation to not detect a tagged release, or trigger on
development|pre-release tags.

Fix this in `upload_release_archive.sh` using a new unit-tested
function `is_release()`.  This acts as the definitive authority
on whether or not a specific commit rage or `$CIRRUS_TAG` value
constitutes something worthy of upload.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-29 10:34:58 -04:00
OpenShift Merge Robot
a56131fef4
Merge pull request #4110 from mheon/fix_sigproxy_tests
Fix sig-proxy=false test and use image cache
2019-10-29 15:13:29 +01:00
OpenShift Merge Robot
f17e152818
Merge pull request #4360 from rhatdan/spell
Fix spelling mistakes
2019-10-29 14:59:51 +01:00
OpenShift Merge Robot
815bd568b2
Merge pull request #4187 from baude/dnspluginenable
enable dnsplugin for network create
2019-10-29 14:46:38 +01:00
OpenShift Merge Robot
25f1b1540a
Merge pull request #4356 from containers/vrothberg-stale
GitHub stale action
2019-10-29 14:22:53 +01:00
OpenShift Merge Robot
8e264ca572
Merge pull request #4350 from giuseppe/slirp4netnslog
libpod: if slirp4netns fails, return its stderr
2019-10-29 09:01:48 +01:00
Daniel J Walsh
797288222b
Fix spelling mistakes
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-10-29 03:47:32 -04:00
Giuseppe Scrivano
795460f7b0
libpod: if slirp4netns fails, return its output
read the slirp4netns stderr and propagate it in the error when the
process fails.

Replace: https://github.com/containers/libpod/pull/4338

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-29 07:13:50 +01:00
Peter Hunt
49e251fc57 update conmon to v2.0.2 in in_podman image
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-10-28 16:15:33 -04:00
Peter Hunt
9ff66824f3 bump cirrus images
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-10-28 16:13:58 -04:00
Peter Hunt
306f7cb9f5 require conmon v2.0.1
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-10-28 16:13:58 -04:00
Peter Hunt
57fa6cf756 require conmon v2.0.0
Signed-off-by: Peter Hunt <pehunt@redhat.com>
2019-10-28 16:13:58 -04:00
Valentin Rothberg
52e5c4b460 GitHub stale action
Add a GitHub action to mark issues and PRs as stale and
to eventually close them after a grace period.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-10-28 20:35:34 +01:00
OpenShift Merge Robot
1b5c2d1440
Merge pull request #4355 from mheon/ensure_state
Add ensureState helper for checking container state
2019-10-28 19:59:35 +01:00
OpenShift Merge Robot
49bd51e12f
Merge pull request #4331 from mheon/sane_rename_error
Return a better error for volume name conflicts
2019-10-28 19:13:12 +01:00
baude
2f6b8b94e8 enable dnsplugin for network create
when users create a new network and the dnsname plugin can be found by
podman, we will enable container name resolution on the new network.
there is an option to opt *out* as well.

tests cannot be added until we solve the packaging portion of the
dnsname plugin.

Signed-off-by: baude <bbaude@redhat.com>
2019-10-28 12:52:30 -05:00
Matthew Heon
5f8bf3d07d Add ensureState helper for checking container state
We have a lot of checks for container state scattered throughout
libpod. Many of these need to ensure the container is in one of a
given set of states so an operation may safely proceed.
Previously there was no set way of doing this, so we'd use unique
boolean logic for each one. Introduce a helper to standardize
state checks.

Note that this is only intended to replace checks for multiple
states. A simple check for one state (ContainerStateRunning, for
example) should remain a straight equality, and not use this new
helper.

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-10-28 13:09:01 -04:00
Daniel J Walsh
94864adb28
Merge pull request #4347 from tylarb/Warn_NoSuchCtr
Log warn instead of error for removing nonexistant container
2019-10-28 13:06:56 -04:00
Daniel J Walsh
f438b2cc09
Merge pull request #4291 from baude/networkcreatecheckbridge
check existing bridge names when creating networks
2019-10-28 13:02:27 -04:00
OpenShift Merge Robot
ac73fd3fe5
Merge pull request #4348 from rhatdan/man
Cleanup man pages
2019-10-27 16:02:15 +01:00
OpenShift Merge Robot
ea46937675
Merge pull request #4345 from giuseppe/mask-release_agent
systemd: mask /sys/fs/cgroup/systemd/release_agent
2019-10-26 10:32:02 +02:00
Daniel J Walsh
94087bade2
Cleanup man pages
The format of the --network flags in man pages was all screwed up.
This patch cleans this up.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-10-25 16:47:53 -04:00
Tyler Ramer
1d00acee19 Log warn instead of error for removing nonexistant container
In event of a container removal that is no longer in database, log a
warning instead of an error, as there is not any problem continuing
execution.

Resolves #4314

Signed-off-by: Tyler Ramer <tyaramer@gmail.com>
2019-10-25 16:25:42 -04:00
Giuseppe Scrivano
0d5d6dab57
systemd: mask /sys/fs/cgroup/systemd/release_agent
when running in systemd mode on cgroups v1, make sure the
/sys/fs/cgroup/systemd/release_agent is masked otherwise the container
is able to modify it and execute scripts on the host.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-25 21:50:29 +02:00
OpenShift Merge Robot
a01cb220c8
Merge pull request #4342 from sshnaidm/docs_net
Add multiple networks explanation to docs
2019-10-25 15:58:25 +02:00
OpenShift Merge Robot
77c7a28a72
Merge pull request #4333 from giuseppe/error-rootless-cni
rootless: raise an error with --network=
2019-10-24 21:29:53 +02:00
Sagi Shnaidman
e4566cc216 Add multiple networks explanation to docs
Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
2019-10-24 22:18:16 +03:00
Giuseppe Scrivano
8f75b3e8c9
rootless: raise an error with --network=
Closes: https://github.com/containers/libpod/issues/4332

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-24 20:14:24 +02:00
OpenShift Merge Robot
ba4a808fe7
Merge pull request #4339 from baude/rtdfirstmenu
Initial dump of man pages and first menus
2019-10-24 19:23:30 +02:00
baude
a180dd43fc Initial dump of man pages and first menus
Signed-off-by: baude <bbaude@redhat.com>
2019-10-24 10:00:59 -05:00
OpenShift Merge Robot
43b1c2fa68
Merge pull request #4330 from mheon/update_vol_create_docs
Add documentation on options to volume create manpage
2019-10-24 15:12:51 +02:00
OpenShift Merge Robot
674dc2bc75
Merge pull request #4228 from giuseppe/detect-no-systemd-session
rootless: detect no system session with --cgroup-manager=systemd
2019-10-24 01:20:25 +02:00
OpenShift Merge Robot
299a430759
Merge pull request #4329 from mheon/no_noexec_image_volume
Image volumes should not be mounted noexec
2019-10-24 01:07:51 +02:00
OpenShift Merge Robot
4b8832a9af
Merge pull request #4298 from mheon/uid_gid_options
Add parsing for UID, GID in volume "o" option
2019-10-24 01:07:43 +02:00
Matthew Heon
84eea2b2c0 Return a better error for volume name conflicts
When you try and create a new volume with the name of a volume
that already exists, you presently get a thoroughly unhelpful
error from `mkdir` as the volume attempts to create the
directory it will be mounted at. An EEXIST out of mkdir is not
particularly helpful to Podman users - it doesn't explain that
the name is already taken by another volume.

The solution here is potentially racy as the runtime is not
locked, so someone else could take the name while we're still
getting things set up, but that's a narrow timing window, and we
will still return an error - just an error that's not as good as
this one.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-10-23 16:34:32 -04:00
Matthew Heon
daadfe9744 Add documentation on options to volume create manpage
Document the rough equivalence between our option types and the
various parts of the mount command. Amend examples a bit to cover
this.

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-10-23 15:35:57 -04:00
OpenShift Merge Robot
2e6c9aa490
Merge pull request #4322 from baude/rtdrequirements
add pip requirements file for rtd
2019-10-23 19:29:15 +02:00
Matthew Heon
57eaea9539 Image volumes should not be mounted noexec
This matches Docker more closely, but retains the more important
protections of nosuid/nodev.

Fixes #4318

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-10-23 12:09:22 -04:00
OpenShift Merge Robot
ef556cfecf
Merge pull request #4275 from vrothberg/fix-4274
stats: list all running containers unless specified otherwise
2019-10-23 15:43:49 +02:00
Valentin Rothberg
77a2bbb1c0 stats: list all running containers unless specified otherwise
Unless specified otherwise by --all, --latest or via arguments, list all
running containers.  This matches the behaviour of Docker and is also
illustrated in the man pages where containers and options are marked to
be optional.

Fixes: #4274
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-10-23 13:48:54 +02:00
Giuseppe Scrivano
13fe146840
rootless: detect no system session with --cgroup-manager=systemd
if the cgroup manager is set to systemd, detect if dbus is available,
otherwise fallback to --cgroup-manager=cgroupfs.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-23 09:26:54 +02:00