Commit graph

1933 commits

Author SHA1 Message Date
Nalin Dahyabhai
0b7348b35c Use errors.Cause() when looking at storage errors
The storage library uses github.com/pkg/errors to wrap errors that it
returns from many of its functions, so when passing them to
os.IsNotExist() or comparing them to specific errors defined in the
storage library, unwrap them using errors.Cause().

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-08-03 15:40:54 -04:00
Antonio Murdaca
c24daefd3e
oci: fix build condition
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2017-08-03 20:20:38 +02:00
Ryan Cole
b1eb754ef5 Move functions in libkpod to ContainerServer
Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
2017-08-03 13:05:44 -04:00
Mrunal Patel
d4f023918c Merge pull request #726 from nalind/glib2-ostree
Build a fixed version of ostree in Travis
2017-08-03 09:49:38 -07:00
Nalin Dahyabhai
d16625a603 Stick to a specific version of ostree in Travis
When we build ostree for Travis, stick to version 2017.9 for now.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-08-03 10:56:28 -04:00
Mrunal Patel
66d96e77e3 Merge pull request #674 from runcom/additional-registries
*: implement additional pull registries
2017-08-02 17:42:58 -07:00
Antonio Murdaca
da176cd379 Merge pull request #717 from 14rcole/oci-getcontainer
Allow oci memory store to match containers by id prefix or by name
2017-08-02 16:55:36 +02:00
Antonio Murdaca
a35727c80b
*: implement additional pull registries
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2017-08-02 16:38:11 +02:00
Antonio Murdaca
7351786411 Merge pull request #713 from 14rcole/containerserver-update
Make container server update it's list of containers upon creation
2017-08-02 16:29:53 +02:00
Mrunal Patel
65f8fc850a Merge pull request #721 from rhatdan/atomic
Remove atomic transport description.
2017-08-01 10:13:17 -07:00
Ryan Cole
b56da85fc1 Make container server update it's list of containers upon creation
Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
2017-08-01 11:44:57 -04:00
Daniel J Walsh
910064bf74 Remove atomic transport description.
Miloslav informs me that the docker transport talking to an OpenShift
registry will handle signatures properly, so no need for the atomic transport
any longer.  We want to stop documenting it.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-08-01 11:41:52 -04:00
Mrunal Patel
d574177c2a Merge pull request #677 from mheon/state_lock_to_file
Add option to use file-based locking for CRI-O state
2017-08-01 07:32:50 -07:00
Ryan Cole
9ada0eb4e5 Allow containerserver to match containers by id prefix or name
Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
2017-07-31 19:49:39 -04:00
Matthew Heon
9529f565b2 Add option to use file-based locking for libkpod state
Signed-off-by: Matthew Heon <mheon@redhat.com>
2017-07-31 15:58:29 -04:00
Mrunal Patel
fa6e2d81f9 Merge pull request #711 from mheon/rename_kpod_files
Rename libkpod files to follow Go conventions
2017-07-31 12:48:13 -07:00
Matthew Heon
4205b222a2 Rename libkpod files to follow Go conventions
Signed-off-by: Matthew Heon <mheon@redhat.com>
2017-07-31 10:11:40 -04:00
Mrunal Patel
3103524dea Merge pull request #707 from TomSweeneyRedHat/dev/tsweeney/docfix
Make the kpod manpages a bit more uniform
2017-07-30 07:53:22 -07:00
Mrunal Patel
0ae7443ee1 Merge pull request #668 from umohnani8/kpod_load
Add kpod load
2017-07-30 07:52:55 -07:00
TomSweeneyRedHat
b0fac5596c Make the kpod manpages a bit more uniform
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
2017-07-29 13:26:21 -04:00
umohnani8
412b98be26 Add 'kpod load' command
Signed-off-by: umohnani8 <umohnani@redhat.com>
2017-07-28 22:30:48 -04:00
Mrunal Patel
79c5160e5a Merge pull request #700 from nalind/kpod-updates
kpod: display image dates from inspection data, and don't display non-OCI settings in "inspect"
2017-07-28 19:08:39 -07:00
Nalin Dahyabhai
5e97d2a1e2 libkpod: remove non-OCI information from inspect
Remove the non-OCI version of the configuration structure, and the
parent image ID, from the ImageData that libkpod returns.

At runtime, cri-o is only ever going to use the OCI configuration
(possibly converted from another format by the image library) when
setting up a container, so it can be confusing to display settings in
"kpod inspect" that might be discarded when we try to run a container.

Remove the non-OCI version of the configuration structure, and the
hard-coded Type field, from the ContainerData that libkpod returns.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-28 16:58:12 -04:00
Nalin Dahyabhai
40117e8bfe Use inspected creation dates
We already parse every image if there's a label filter so that we can
check against the filter, so when we do that, go ahead and read the
OCI-format configuration and inspection data as well, and use an image's
creation date as recorded in inspection data everywhere.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-28 16:58:12 -04:00
Mrunal Patel
1deb9795c3 Merge pull request #705 from 14rcole/kpod-save-config
Switch kpod save to use config
2017-07-28 13:51:31 -07:00
Ryan Cole
2cb57e0cb5 Switch kpod save to use config
Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
2017-07-28 15:51:11 -04:00
Mrunal Patel
d2a82a28c1 Merge pull request #678 from umohnani8/kpod_save
Add 'kpod save' command
2017-07-28 10:49:49 -07:00
Mrunal Patel
5530764809 Merge pull request #702 from rhatdan/man
remove kpod-push.1.md from wrong directory.
2017-07-28 08:37:43 -07:00
Mrunal Patel
13c874753c Merge pull request #693 from 14rcole/libkpod-config
add basic config struct to libkpod
2017-07-28 06:24:45 -07:00
Daniel J Walsh
eace36ee64 kpod-push.1.md in wrong directory.
Their is a kpod-push.1.md man page in docs directory.
This is a bogus location.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2017-07-28 10:53:44 +00:00
Ryan Cole
a8b6f2ad8a Update kpod commands to use getConfig()
Make getStore() take a config struct from which it pulls the store
options, then update the kpod commands so that they call getConfig()
and pass the config into getStore()

Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
2017-07-27 15:58:55 -04:00
umohnani8
ff5eda509a Add 'kpod save' command
Signed-off-by: umohnani8 <umohnani@redhat.com>
2017-07-27 13:35:30 -04:00
Mrunal Patel
9dbd60a0df Merge pull request #698 from nalind/kpod-updates
kpod: avoid digging into unpublished formats
2017-07-27 10:20:46 -07:00
Ryan Cole
0c8f106ee8 add basic config struct to libkpod
Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
2017-07-27 11:12:50 -04:00
Mrunal Patel
c0bfa01c66 Merge pull request #699 from rhatdan/vendor
vendor in Update containers/image to add support for kpod save
2017-07-27 06:55:45 -07:00
Dan Walsh
acd3fd03c5 vendor in Update containers/image to add support for kpod save
This update allows the creation of docker-archive files when the
destination does not exists or is empty.  kpod save needs this functionality.

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
2017-07-27 06:47:39 -04:00
Mrunal Patel
f8a822e900 Merge pull request #697 from nalind/image-free
Don't double-free an UnparsedSource
2017-07-26 17:35:39 -07:00
Mrunal Patel
0c115d8ecc Merge pull request #696 from mrunalp/profile_port
Make the profile port configurable
2017-07-26 15:44:48 -07:00
Nalin Dahyabhai
cb0bb94c68 Avoid parsing image metadata
Avoid parsing metadata that the image library keeps in order to find an
image's top layer and creation date; instead, use the values which the
storage library now makes available, which will be correct once we merge
PR #654 or something like it.

Instead of assuming the last blob which was added for the image was the
manifest, read it directly and compute its digest ourselves.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-26 16:33:02 -04:00
Nalin Dahyabhai
82c90747c2 Don't double-free an UnparsedSource
github.com/containers/image.FromUnparsedImage() "takes ownership" of the
UnparsedImage that we pass to it, so we shouldn't also Close() the
UnparsedImage ourselves after we've wrapped it up in an Image object.

Since creating an Image is the only thing we do with the UnparsedImage
after creating it from a SourceImage, just use the FromSource() function
to handle both steps at once.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-26 15:52:51 -04:00
Mrunal Patel
93f1ec3b1f Merge pull request #691 from mheon/remove_server_state
Move remaining server state to libkpod
2017-07-26 11:25:34 -07:00
Mrunal Patel
1f40531dca Make the profile port configurable
Signed-off-by: Mrunal Patel <mpatel@redhat.com>
2017-07-26 10:57:55 -07:00
Nalin Dahyabhai
7e9ac9700b Avoid duplicate image configuration parsing logic
Don't bother trying to find and parse the image's configuration blob
after we've already done it; just reuse the value.  This frees us from
making the assumption that the last blob which was committed to local
storage was the image's configuration blob.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-26 12:43:22 -04:00
Nalin Dahyabhai
8957156c41 Parse out image names as repotags and repodigests
Parse the set of image names as tagged references, canonical references,
or repository names to which we add the default tag, and return them in
libkpod.ImageData reports.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-26 12:43:22 -04:00
Mrunal Patel
120af8ef01 Merge pull request #692 from nalind/api-usage
Fix a couple of bugs in our use of containers/storage and containers/image
2017-07-26 09:35:11 -07:00
Nalin Dahyabhai
3747048aa4 Don't leak containers/image Image references
In-memory image objects created using an ImageReference's NewImage()
method need to be Close()d.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-25 13:30:54 -04:00
Nalin Dahyabhai
2e50006f1c Avoid using lower-level storage APIs
Switch from using the lower-level storage APIs (accessing LayerStore,
ImageStore, and ContainerStore types directly) in favor of the
higher-level ones that take care of synchronization and locking for us.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2017-07-25 13:29:49 -04:00
Matthew Heon
158893bd1a Move Pod ID and Name indexes into libkpod
Signed-off-by: Matthew Heon <mheon@redhat.com>
2017-07-25 11:46:22 -04:00
Matthew Heon
ece055327a Move Sandbox state into libkpod
Signed-off-by: Matthew Heon <mheon@redhat.com>
2017-07-25 11:46:15 -04:00
Antonio Murdaca
065960386f Merge pull request #676 from 14rcole/libkpod-image
move kpod logic into libkpod/image
2017-07-25 17:39:56 +02:00