Commit graph

8986 commits

Author SHA1 Message Date
Joseph Schorr
d03eb12a77 Remove unused function 2018-11-26 21:29:53 +02:00
Joseph Schorr
4e1ff90cb2 Unify the get_layers calls across all implements of manifest schemas to ensure we have a common type returned
Also renames some methods to make it more clear what kind of information they return
2018-11-26 17:58:48 +02:00
Joseph Schorr
180d8847db Fix image replication for images with remote layers 2018-11-26 16:15:48 +02:00
Joseph Schorr
0eb84f8077 Add a squashing test for images with empty layers 2018-11-26 12:48:20 +02:00
Joseph Schorr
3e4f4ab7f1 Add conversion test for the latest ubuntu image 2018-11-26 12:45:05 +02:00
Joseph Schorr
38f68f81f2 Add caching of retrieved config in manifest class 2018-11-25 20:03:57 +02:00
Joseph Schorr
adccdd30ca Read blobs from new manifest blob table where relevant 2018-11-25 17:31:09 +02:00
Joseph Schorr
4985040d31 Properly handle the empty layer when pushing schema 2 manifests
Docker doesn't send us the contents of this layer, so we are forced to synthesize it ourselves
2018-11-25 16:16:59 +02:00
Joseph Schorr
947c029afa Fix history layer check off-by-one error and add additional conversion tests
This also moves the conversion golden data into files to make it easier to add additional tests
2018-11-21 21:49:01 +02:00
Joseph Schorr
49ea2d1fa1 Add a schema 2 push pull verification test 2018-11-21 21:02:13 +02:00
Joseph Schorr
6207bb5e6f Fix registry test due to recent name change 2018-11-21 18:06:16 +02:00
Joseph Schorr
ffd567e2c2 Rename accessed items in the data model 2018-11-21 18:06:16 +02:00
Joseph Schorr
c233760007 Fix conversion of schema 2 manifests to schema 1 manifests
Also adds a number of conversion tests and clarify the interfaces a bit more
2018-11-21 18:06:16 +02:00
Joseph Schorr
bd79eaa38f Fix expanded column display in smaller viewports
Note: doesn't fix it in the smallest viewports; we'll fix later
2018-11-20 18:52:53 +02:00
Joseph Schorr
1f03fdb27e Fix pulling of squashed versions of the legacy image in a manifest lists 2018-11-20 16:37:15 +02:00
Joseph Schorr
001768c043 Make security status for manifests without legacy images more clear in the UI 2018-11-20 16:37:15 +02:00
Joseph Schorr
1e4e424d64 Fix add tag operation in UI on manifests without legacy images 2018-11-20 16:37:15 +02:00
Joseph Schorr
a6ffad9759 Fix UI for image tracks under manifest lists 2018-11-20 12:55:55 +02:00
Joseph Schorr
dcf312d94d Fix exception bases for manifest exceptions 2018-11-20 12:55:45 +02:00
Joseph Schorr
17d7828f1a Add registry test for manifestlist with the same child manifest twice 2018-11-20 11:22:27 +02:00
Joseph Schorr
c079add0df Don't return images if a tag does not have a legacy image 2018-11-19 23:33:37 +02:00
Joseph Schorr
e972e4088b Fix lookup of manifests referenced solely by a manifest list
We need to ensure we can find them if there is an active tag pointing to the parent list
2018-11-19 23:31:41 +02:00
Joseph Schorr
54904cfd6e Fix bug around pushing manifest lists that refer to the same manifest twice as children 2018-11-19 18:26:22 +02:00
Joseph Schorr
45db1d27e7 Update registry tests 2018-11-19 14:01:42 +02:00
Joseph Schorr
e6c2ddfa93 Add support for direct pushing of schema 2 manifests without tags
This is required for manifest lists
2018-11-19 14:01:41 +02:00
Joseph Schorr
8a3427e55a Change registry data model to use a content retriever where applicable 2018-11-19 14:01:41 +02:00
Joseph Schorr
82ee21bfbd Change OCI data model to use a content retriever for the various manifest operations 2018-11-19 12:24:04 +02:00
Joseph Schorr
cbfb6054e5 Switch content retrieval in manifests to be behind an interface
This allows for easy separation of retrieval of config blobs vs manifests
2018-11-19 11:55:52 +02:00
Joseph Schorr
1eaf5b18dd Adjustments based on code review feedback 2018-11-15 13:51:48 +02:00
Joseph Schorr
c46b11bac1 Implement UI support for manifest lists 2018-11-14 18:40:57 +02:00
Joseph Schorr
276d0d571d Fix support for pulling manifest lists via Docker V1 protocol where applicable 2018-11-14 14:05:06 +02:00
Joseph Schorr
37b20010aa Add support for pushing and pulling schema 2 manifests with remote layers
This is required for windows image support
2018-11-14 13:21:50 +02:00
Joseph Schorr
d97055e2ba Code review fixes 2018-11-14 09:15:58 +02:00
Joseph Schorr
3b4002877a Fix mimetype handling in registry tests 2018-11-14 08:51:01 +02:00
Joseph Schorr
7a794e29c0 Add tests for manifest lists and fix some issues encountered while testing 2018-11-13 21:03:20 +02:00
Joseph Schorr
9994f0ae61 Disable GC for repositories with manifest lists
This is a temporary measure so we can roll V2_2 out for internal customer testing without having to worry about GC interacting oddly with it
2018-11-13 21:03:20 +02:00
Joseph Schorr
e752a9a73f Update registry tests to test schema 2 manifest pushes and pulls
Note that tests for manifest *lists* will be in a following commit
2018-11-13 17:15:00 +02:00
Joseph Schorr
7b9f56eff3 Fixes to ensuring existing code can process schema 2 manifests 2018-11-13 17:13:51 +02:00
Joseph Schorr
9474fb7833 Fix bug with json.dumps changing the order of keys
We write the literal received JSON string into the image data, to ensure the checksums computed will always match
2018-11-13 16:50:13 +02:00
Joseph Schorr
8985d8f106 Have registry tests run against both data models (old and new) 2018-11-13 12:00:55 +02:00
Joseph Schorr
849e613386 Implement support for schema 2 manifests 2018-11-13 11:49:12 +02:00
Joseph Schorr
1b3daac3c3 Add method for retrieving a V1-compatible manifest for any manifest or manifest list
This is used to serve older clients that don't support the V2 schema format
2018-11-13 10:40:57 +02:00
Joseph Schorr
d77d383e46 Add schema2 media types 2018-11-13 09:24:04 +02:00
Joseph Schorr
30f072aeff Add support for creating schema 2 manifests and manifest lists via the OCI model 2018-11-12 23:27:49 +02:00
Joseph Schorr
e344d4a5cf Enhancements for Docker schema implementations in preparing for supporting schema 2 in the OCI model
This adds additional required properties and methods to the Docker schema interface to allow us to treat both schema1 and schema2 manifests and lists logically equivalent from the OCI mode perspective
2018-11-12 23:27:01 +02:00
Joseph Schorr
6b86b87a16
Merge pull request #3290 from quay/joseph.schorr/QUAY-1124/implement-new-data-model
Implement the new OCI-based registry data model
2018-11-08 13:39:29 -05:00
Joseph Schorr
527c44087b
Merge pull request #3292 from vbatts/comments
dockerclients: comment of the BOX tuple
2018-11-08 13:38:05 -05:00
c312ad1a1b dockerclients: comment of the BOX tuple
Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
2018-11-08 13:21:23 -05:00
Joseph Schorr
fdcb8bad23 Implement the new OCI-based registry data model
Note that this change does *not* enable the new data model by default, but does allow it to be used when a special environment variable is specified.
2018-11-07 22:07:58 -05:00
Sida Chen
7f72fd2f80
Merge pull request #3291 from KeyboardNerd/bug/utc
Fix wrong utc timestamp in tag expiration view
2018-11-07 16:54:54 -05:00