6532 Commits

Author SHA1 Message Date
4bdfeed5bf Merge pull request #5169 from edsantiago/apiv2_pod_status_codes
API v2: pods: fix two incorrect return codes
2020-02-11 22:22:55 +01:00
5b830cca90 apiv2 stream events
the events endpoint should be stream-based.  it also needed to be registered to answer and not produce 404s.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-11 15:00:41 -06:00
d34ce1320c Merge pull request #5083 from vrothberg/v2-libpod-image-endpoints
v2 api: /libpod/images/{import,load,pull}
2020-02-11 21:25:35 +01:00
cbce43a865 Merge pull request #5132 from sujil02/test
Add test cases to validate remove and list images api.
2020-02-11 20:50:28 +01:00
ad4a92c5e5 Fix container filters
container filters were being double encoded (maybe triple) which resulted in the wrong encoding representation of filters being sent by the go-bindings.  Also, on the server side, Filter needed to be changed to Filter to decode properly. Finally, due to the changed return type of List Containers, the go bindings return values needed to be changed.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-11 12:42:58 -06:00
bdccdd2265 API v2: pods: fix two incorrect return codes
1) /pods/<X>/exists - is documented to return 204, and that's
    the correct value, but until now it has been returning 200.

 2) /pods/create - return 409 (conflict), not 500, when pod
    already exists

Also: in WriteResponse(), if code is 204 (No Content) or 304
(Not Modified), emit the status code only but no content-type
headers nor content.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2020-02-11 10:50:23 -07:00
86b5a89d1a Merge pull request #5068 from baude/newimagestest
replace prow images test
2020-02-11 17:33:35 +01:00
c705d2cefc Merge pull request #5159 from baude/apiv2cockpit1
Rewire ListContainers for APIv2 libpod
2020-02-11 17:13:33 +01:00
27e42027f0 Merge pull request #5161 from vrothberg/revert-96ab0c64b4e3
container create: relax os/arch checks
2020-02-11 16:03:44 +01:00
ddffc865f3 Rewire ListContainers for APIv2 libpod
consumers of the api remarked how they would prefer a more strongly typed data structure from list containers oon the libpod side of things.  for example, events should be consumable and consistent timestamps.  also, for the sake of compatibility, it is helpful to have the json named atttributes for Id to not be ID.

listcontainers on the libpod side no longer strongly uses the the ps cli to obtain information but we do benefit from turning on the ability to list the last X containers, something CLI does not have yet. we also flipped the bit on defaulting to truncated output in the return.

thanks to the efforts of the cockpit team to help us here.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-11 08:14:28 -06:00
d9fa5af701 Merge pull request #5164 from vrothberg/fix-3878
podman build -f completions
2020-02-11 14:52:39 +01:00
044fc0d783 Merge pull request #5162 from vrothberg/fix-4814
Make: s/uname -o/uname -s/
2020-02-11 14:38:55 +01:00
9e1f6aeef8 podman build -f completions
Also cleanup the code a bit. There's no --runtime flag for build.

Fixes: #3878
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-11 13:42:23 +01:00
13187607e7 swagger: fix /libpod/images/{import,load,pull}
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-11 13:08:23 +01:00
51e0a8b1c3 Make: s/uname -o/uname -s/
uname -o doesn't seem to work on Mac OS.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-11 12:53:42 +01:00
b0abd1c36e container create: relax os/arch checks
Relax the os/arch checks when creating a container and only info-log
mismatches instead of erroring out.  There are too many images used
in the wild which do not set their arch correctly correctly.  Erroring
out has hit users sufficiently enough to justify relaxing the errors
and only log to at least inform the users and image vendors.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-11 09:48:26 +01:00
72dcc45f5a Merge pull request #5156 from mheon/fix_entrypoint_format
Remove incorrect validation of --change for commit
2020-02-11 04:07:18 +01:00
34c9aeaffa Merge pull request #5112 from cevich/only_prune_from_master
Cirrus: Never run prune on other branches
2020-02-11 02:07:09 +01:00
6271837a1d Merge pull request #5137 from mgoltzsche/master
Fix varlink code generation target.
2020-02-11 01:51:52 +01:00
2800323e60 replace prow images test
this is a container-based approach to verifying we can build an rpm based on the contrib spec.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2020-02-10 18:44:20 -06:00
d68e7d4500 Merge pull request #5155 from TomSweeneyRedHat/coc
Update Code of Conduct to Containers variant
2020-02-11 01:40:09 +01:00
d99f2ee784 Remove incorrect validation of --change for commit
The validation logic was failing on properly-formatted changes.
There's already validation in Commit itself, so no need to
duplicate.

Fixes #5148

Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2020-02-10 16:32:02 -05:00
fc1d67a5f6 [CI:DOCS] Update Code of Conduct to Containers variant
As the title says.  I renamed the old file from the lower case to the
upper case name.  This makes it appear higher up in the listing on GitHub
and also is in line with the rest of the containers projects.  Due to this
change, I also had to change a few references in a couple of build related
files.

Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2020-02-10 14:01:02 -05:00
f7f7a8cbad Add test cases to validate remove and list images api.
Includes testcase to validate list image api count as we create and delete images
Include testcase to validate remove image api responses with container instance, etc.

Signed-off-by: Sujil02 <sushah@redhat.com>
2020-02-10 12:07:35 -05:00
3afd1b5a7c images --format compatible with docker
This patch lets valid values of --format be compatible with docker. Replace CreatedTime with CreatedAt, Created with CreatedSince.
Keep CreatedTime and Created are valid as hidden options.

Signed-off-by: Qi Wang <qiwan@redhat.com>
2020-02-10 10:34:40 -05:00
d64e8b7dd5 bash-completions: Add missing subcommands in 'podman system'
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2020-02-10 16:31:50 +01:00
6eac49ed1d doc: Fix examples for 'podman system service'
Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2020-02-10 16:26:27 +01:00
e57253d068 Merge pull request #5143 from stefanb2/topic-pr-4477-2
docs: add workaround for --device with rootless containers (II)
2020-02-10 14:52:19 +01:00
5f34b2150b Merge pull request #5122 from mtrmac/image-object-creation
Simplify image object creation
2020-02-10 14:28:40 +01:00
e2a01603f2 Merge pull request #5064 from mheon/pod_network_opts
Add backend code for pod network options
2020-02-10 14:07:04 +01:00
185c82bc80 v2 api: /libpod/images/import
Implement the /libpod/images/import endpoint

Tested manually with curl:
curl -X POST --data-binary "@image.tar" --header "Content-Type: application/x-tar"

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-10 13:18:50 +01:00
926c9f8fbb v2 api: /libpod/images/load
Implement the /libpod/images/load endpoint.

Tested manually with curl:
curl -X POST --data-binary "@image.tar" --header "Content-Type: application/x-tar"

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-10 13:18:48 +01:00
76e2a0c5d3 v2 api: /libpod/images/pull
Implement the /libpod/images/pull endpoint and correct the swagger docs.
The reference parameter is mandatory and must either be a
c/image/docker/reference or a reference to the "docker://" transport as
the pull endpoint is meant to only support pulling images from a
registry.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2020-02-10 12:36:45 +01:00
20cb169874 docs: add workaround for --device with rootless containers (II)
Update documentation for crun >= 0.11.

See 6df930821d

Fixes #4477

Signed-off-by: Stefan Becker <chemobejk@gmail.com>
2020-02-10 11:19:33 +02:00
c588ae1428 Fix varlink code generation target.
Closes #5130.

varlink code generation was skipped when `uname -o` did not print "GNU/Linux".
However on some Linux systems (e.g. alpine) only "Linux" is printed
which results in cmd/podman/varlink/iopodman.go not being generated.
Thus the Makefile target condition has been changed to match "Linux".

Signed-off-by: Max Goltzsche <max.goltzsche@gmail.com>
2020-02-09 21:25:59 +01:00
ee811431d2 Merge pull request #5107 from cevich/mirror_containers
Add mirroring dockerfiles
2020-02-09 16:17:56 +01:00
dafd212870 Modify Runtime.getImage to return a storage.Image
... because both callers only care about that aspect of the
return value.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
5b5bacbd95 Document an aspect of newFromStorage behavior
Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
972df82632 Introduce a Runtime.newImage constructor
... so that _all_ Image objects are created in a single place
that is easy to update.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
933edf4a37 Move Image.getLocalImage to Runtime.getLocalImage
Instead of the function updating image.InputName (the only reason for it
to need an image), have it return the updated value separately.

This will allow simplifying the constructors of Image further.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
1ab4038807 Remove the getLocalImage() call from Image.Size
All ways to create an Image{} have a non-nil .image field, and it
is never set to nil, so this is dead code.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
ede412f40f Use Runtime.NewFromLocal instead of open-coded copies
All code creating an Image by looking up a name now uses
Runtime.NewFromLocal.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
a433b858d2 Trivial simplification
Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
d9bfaf5197 Create two separate newImage instances in Runtime.New
This is not _trivially_ safe because newImage.getLocalImage()
modifies newImage.ImageName, but we overwrite that value anyway.

So, this should not change behavior, and it will make future refactoring
easier to verify.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:01 +01:00
0f0bac4ab3 Call NewImageRuntimeFromStore from NewImageRuntimeFromOptions
... so that there ultimately is only one constructor.

Should not change behavior.

Signed-off-by: Miloslav Trmač <mitr@redhat.com>
2020-02-07 23:36:00 +01:00
c02b3b5e13 Merge pull request #5129 from mheon/update_release_for_18
[CI:DOCS] Update readme to 1.8.0 release
2020-02-07 15:55:48 +01:00
86a51df18e Merge pull request #5126 from openSUSE/runtime-struct
Refactor runtime functions to pass options structure
2020-02-07 15:24:50 +01:00
562d3b09d0 Update readme to 1.8.0 release
Signed-off-by: Matthew Heon <mheon@redhat.com>
2020-02-07 09:16:13 -05:00
29d76a4cb2 Merge pull request #5104 from containers/dependabot/go_modules/github.com/containers/image/v5-5.2.1
build(deps): bump github.com/containers/image/v5 from 5.2.0 to 5.2.1
2020-02-07 14:36:50 +01:00
9bc171b86d Refactor runtime functions to pass options structure
This makes the code easier to read but should not change the overall
behavior.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2020-02-07 13:45:29 +01:00