summaryrefslogtreecommitdiff
path: root/integration-cli/docker_cli_pull_local_test.go
Commit message (Collapse)AuthorAgeFilesLines
* distribution: errors: do not access the errors slice if it's emptyAntonio Murdaca2016-03-161-1/+1
| | | | | | | | - cherry-pick from 1.10.3 branch: 0186f4d4223a094a050d06f456355da3ae431468 - add token service test suite - add integration test (missing in 1.10.3 branch) Signed-off-by: Antonio Murdaca <runcom@redhat.com>
* Fix pulling images that contain no layers at allAaron Lehmann2016-03-151-0/+25
| | | | | | | | | | | | | The download manager assumed there was at least one layer involved in all images. This can be false if the image is essentially a copy of `scratch`. Fix a nil pointer dereference that happened in this case. Add integration tests that involve schema1 and schema2 manifests. Fixes #21213 Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
* cliconfig: credentials: support getting all authsAntonio Murdaca2016-03-021-1/+1
| | | | | | | | docker build is broken because it sends to the daemon the full cliconfig file which has only Email(s). This patch retrieves all auth configs from the credentials store. Signed-off-by: Antonio Murdaca <runcom@redhat.com>
* Remove email address field from loginKen Cochrane2016-02-291-1/+0
| | | | | | This removes the email prompt when you use docker login, and also removes the ability to register via the docker cli. Docker login, will strictly be used for logging into a registry server. Signed-off-by: Ken Cochrane <kencochrane@gmail.com>
* Client credentials store.David Calavera2016-02-291-0/+36
| | | | | | | | | | | | | | | This change implements communication with an external credentials store, ala git-credential-helper. The client falls back the plain text store, what we're currently using, if there is no remote store configured. It shells out to helper program when a credential store is configured. Those programs can be implemented with any language as long as they follow the convention to pass arguments and information. There is an implementation for the OS X keychain in https://github.com/calavera/docker-credential-helpers. That package also provides basic structure to create other helpers. Signed-off-by: David Calavera <david.calavera@gmail.com>
* Merge pull request #19424 from aaronlehmann/revert-multiple-pull-errorsTibor Vass2016-01-191-12/+0
|\ | | | | Revert reporting of multiple pull errors
| * Revert reporting of multiple pull errorsAaron Lehmann2016-01-181-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert the portions of #17617 that report all errors when a pull falls back, and go back to just reporting the last error. This was nice to have, but causes some UX issues because nonexistent images show additional "unauthorized" errors. Keep the part of the PR that handled ENOSPC, as this appears to work even without tracking multiple errors. Fixes #19419 Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
* | Skip failing tests on ARM to get red/green feedback from JenkinsStefan Scherer2016-01-181-0/+1
|/ | | | Signed-off-by: Stefan Scherer <scherer_stefan@icloud.com>
* Add integration test for pulling a manifest listAaron Lehmann2016-01-081-0/+92
| | | | | | | The test injects a synthetic manifest list into the registry blob store, since there isn't a tool for pushing them yet. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
* Build a pre-schema2 registry to test schema1 push/pullAaron Lehmann2016-01-081-10/+50
| | | | | | | Add DockerSchema1RegistrySuite which uses this registry, and make applicable integration tests run as part of this suite. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
* When a manifest is not found, allow fallback to v1Aaron Lehmann2015-12-211-0/+12
| | | | | | | | | | | | | | | | | | | | PR #18590 caused compatibility issues with registries such as gcr.io which support both the v1 and v2 protocols, but do not provide the same set of images over both protocols. After #18590, pulls from these registries would never use the v1 protocol, because of the Docker-Distribution-Api-Version header indicating that v2 was supported. Fix the problem by making an exception for the case where a manifest is not found. This should allow fallback to v1 in case that image is exposed over the v1 protocol but not the v2 protocol. This avoids the overly aggressive fallback behavior before #18590 which would allow protocol fallback after almost any error, but restores interoperability with mixed v1/v2 registry setups. Fixes #18832 Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
* integration-cli: docker_cli_pull_local_test.go: remove not needed Commentf(s)Antonio Murdaca2015-11-271-2/+2
| | | | Signed-off-by: Antonio Murdaca <runcom@redhat.com>
* Merge pull request #18199 from aditirajagopal/16756-docker_cli_pull_local_testAntonio Murdaca2015-11-271-8/+9
|\ | | | | Checkers on docker_cli_pull_local_test.go
| * Checkers on docker_cli_pull_local_test.goAditi Rajagopal2015-11-241-8/+9
| | | | | | | | | | | | Applying #16756 to integration-cli/docker_cli_pull_local_test.go Signed-off-by: Aditi Rajagopal <arajagopal@us.ibm.com>
* | Update daemon and docker core to use new content addressable storageTonis Tiigi2015-11-241-0/+68
|/ | | | | | | | | | | | | | | | | Add distribution package for managing pulls and pushes. This is based on the old code in the graph package, with major changes to work with the new image/layer model. Add v1 migration code. Update registry, api/*, and daemon packages to use the reference package's types where applicable. Update daemon package to use image/layer/tag stores instead of the graph package Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com> Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
* update pull-local#16756heartlock2015-10-111-18/+7
| | | | Signed-off-by: heartlock <21521209@zju.edu.cn>
* Fix race condition when waiting for a concurrent layer pullAaron Lehmann2015-09-111-0/+133
| | | | | | | | | | | | | | | | | | | | | Before, this only waited for the download to complete. There was no guarantee that the layer had been registered in the graph and was ready use. This is especially problematic with v2 pulls, which wait for all downloads before extracting layers. Change Broadcaster to allow an error value to be propagated from Close to the waiters. Make the wait stop when the extraction is finished, rather than just the download. This also fixes v2 layer downloads to prefix the pool key with "layer:" instead of "img:". "img:" is the wrong prefix, because this is what v1 uses for entire images. A v1 pull waiting for one of these operations to finish would only wait for that particular layer, not all its dependencies. Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
* Update image pull testsArnaud Porterie2015-09-031-0/+39
Update and migrate existing tests to the `DockerHubPullSuite`. Most tests were preserved, but refactored and made more exhaustive. One test was deliberately removed (`TestPullVerified`) as it is unreliable and that the feature was obsoleted by content trust. Move all trust related tests to `docker_cli_pull_trusted_test.go`. Move tests depending on a local registry to `docker_cli_pull_local_test.go`. Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>