Commit graph

85 commits

Author SHA1 Message Date
Aaron Lehmann
1e15b6e001 Redesign integration testing to copy images to nested containers
Previously, the strategy for avoiding lots of rebuilding and repulling
for each Docker version being tested was to use a mountpoint to persist
/var/lib/docker. This was pretty broken, and may not be a reliable
strategy. This commit changes the scripts to instead build/pull images
outside the innermost container, and copy them to the final test
environment with docker save/docker load.

This requires a fair amount of changes, since run.sh must now
communicate with the Docker engine that was formerly started by
test_runner.sh. The code that starts this engine has been broken out to
run_engine.sh so that starting the engine and running the tests under it
can be done separately (with the images loaded in between these steps).

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-06 18:06:18 -07:00
Aaron Lehmann
a6346d64a1 Two more Docker integration test fixes
- Upgrade docker-compose to 1.3.3 to work around
  https://github.com/docker/compose/issues/1314

- Change run.sh to run the Docker container in the foreground so that
  the exit code is propagated.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-04 13:28:03 -07:00
Aaron Lehmann
f7a11aa258 Two fixes for Docker integration tests
- Add a command line argument to run_multiversion.sh which has it start
  a docker daemon. This allows it to run directly inside an outermost
  docker-integration container instead of running outside all containers.

- Install Docker 1.7.1 intead of 1.7.0-rc1 in the docker-integration
  container. 1.7.0 has a bug that prevents "docker cp" from working
  properly.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-08-04 11:49:55 -07:00
Aaron Lehmann
1368e2ac53 Change run_multiversion.sh to get Docker engine versions from dind container
This is much better than downloading the builds with curl, because
Docker is intelligent about only pulling what it needs.

We use tagged versions of dind for the released version, and dind-master
for a master build.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-30 15:39:19 -07:00
Aaron Lehmann
e564231f58 Run integration tests with multiple Docker engine versions
Add a run_multiversion.sh script that downloads a variety of Docker
engines and runs the integration tests against each of them.

Skip some of the tests when running with Docker 1.6.0. It has a bug that
prevents these tests from completing successfully.

Fixes #751

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
2015-07-30 15:39:19 -07:00
Derek McGowan
9efc11ac9d Update has digest test in scripts
Make has_digest function more robust for testing 1.8 and newer

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-07-27 18:32:02 -07:00
Stephen J Day
4113bc4f05 Attempt to fix Ceph after command syntax changed
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-07-21 14:29:30 -07:00
Stephen Day
d0fda14e85 Merge pull request #570 from dmcgowan/docker-integration
contrib: Docker integration tests
2015-06-19 12:49:27 -07:00
Antonio Mercado
b450b42c25 Removing Nginx Authorization header unset because it breaks with a user defined index endpoint
Signed-off-by: Antonio Mercado <amercado@thinknode.com>
2015-06-10 09:44:43 -04:00
Derek McGowan
19ec4e2c7a Add docker developer flow
Integrate flags better with the development flow a Docker developer.
Add a shell function to make invocation of tests easy.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 13:19:55 -07:00
Derek McGowan
a438494b49 Replace docker-compose installation instructions
Use Docker Compose installation guide from official documentation

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 13:19:55 -07:00
Derek McGowan
b39e6395fd Update docker image
Use dmcgowan/docker-integration until can push to distribution namespace

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 13:19:55 -07:00
Derek McGowan
4ebd6b7e1d Add support for docker volume
Added an environment variable which can be used to pass in the docker volume for the container. This allows caching the pulled images between runs, preventing unnecessary image pulls.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 13:19:55 -07:00
Derek McGowan
de638db71e Add bats script to replace test_docker.sh
Remove Makefile in favor of run.sh script or manual instructions.
Update readme to reflect instructions for running integration tests.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-06-05 13:19:50 -07:00
Stephen Day
318af0b1ce Merge pull request #443 from gierschv/driver-rados
Storage Driver: Ceph Object Storage (RADOS)
2015-05-29 18:10:49 -07:00
Derek McGowan
06de74a4e9 Add dind test runner
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-05-27 22:49:32 -07:00
Derek McGowan
bb69a0d32e Add v1 only http endpoint
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-05-27 22:37:49 -07:00
Derek McGowan
4990ab01f0 Add test script
Add test script to run through each endpoint.
Add certificates for non-localhost hostname. Requires setting /etc/hosts.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-05-27 22:37:49 -07:00
Stephen Day
cfa432f47a Merge pull request #532 from dmcgowan/multi-config-test
Multi configuration tests via compose
2015-05-22 16:48:40 -07:00
Derek McGowan
0e8cf8cc47 Add multi configuration tests
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-05-22 16:39:45 -07:00
Vincent Giersch
394eea0231 Storage Driver: Ceph Object Storage (RADOS)
This driver implements the storagedriver.StorageDriver interface and
uses Ceph Object Storage as storage backend.

Since RADOS is an object storage and no hierarchy notion, the
following convention is used to keep the filesystem notions stored in
this backend:

* All the objects data are stored with opaque UUID names prefixed
  (e.g. "blob:d3d232ff-ab3a-4046-9ab7-930228d4c164).
* All the hierarchy information are stored in rados omaps, where the
  omap object identifier is the virtual directory name, the keys in
  a specific are the relative filenames and the values the blob
  object identifier (or empty value for a sub directory).

  e.g. For the following hierarchy:

     /directory1
     /directory1/object1
     /directory1/object2
     /directory1/directory2/object3

  The omap "/directory1" will contains the following key / values:
    - "object1" "blob:d3d232ff-ab3a-4046-9ab7-930228d4c164"
    - "object2" "blob:db2e359d-4af0-4bfb-ba1d-d2fd029866a0"
    - "directory2" ""

  The omap "/directory1/directory2" will contains:
    - "object3" "blob:9ae2371c-81fc-4945-80ac-8bf7f566a5d9"

* The MOVE is implemented by changing the reference to a specific
  blob in its parent virtual directory omap.

This driver stripes rados objects to a fixed size (e.g. 4M). The idea
is to keep small objects (as done by RBD on the top of RADOS) that
will be easily synchronized accross OSDs. The information of the
original object (i.e total size of the chunks) is stored as a Xattr
in the first chunk object.

Signed-off-by: Vincent Giersch <vincent.giersch@ovh.net>
2015-05-20 01:44:34 +00:00
Derek McGowan
beab2d7fbe Remove set header in compose script
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-05-18 12:05:28 -07:00
Alex Elman
7a4e5f3723 Updating the Request Header directive for compatibility with httpd 2.2
Signed-off-by: Alex Elman <aelman@indeed.com>
2015-05-04 15:19:53 -05:00
Olivier Gambier
fab7e7f2c2 Merge pull request #446 from moxiegirl/update-per-397
Updating configuration with required header
2015-04-27 15:14:11 -07:00
Mary Anthony
8ae13b4725 Updating configuration with required header
Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-27 14:46:33 -07:00
Henri Gomez
7df490b6b2 Create README.MD
Signed-off-by: Henri Gomez <henri.gomez@gmail.com>
2015-04-27 13:00:48 +02:00
Henri Gomez
f3e08f8721 Update apache.conf
Signed-off-by: Henri Gomez <henri.gomez@gmail.com>
2015-04-27 13:00:41 +02:00
Henri Gomez
66a9e12f99 remove apache.conf from contrib dir
Signed-off-by: Henri Gomez <henri.gomez@gmail.com>
2015-04-27 13:00:39 +02:00
Henri Gomez
9e4db7bbd3 move apache.conf to apache subdir
Signed-off-by: Henri Gomez <henri.gomez@gmail.com>
2015-04-27 13:00:37 +02:00
Henri Gomez
3e0e1b1d82 Correct documentation
Signed-off-by: Henri Gomez <henri.gomez@gmail.com>
2015-04-27 13:00:35 +02:00
Henri Gomez
c8aca239b1 describe 3 registry containers
Signed-off-by: Henri Gomez <henri.gomez@gmail.com>
2015-04-27 13:00:27 +02:00
Henri Gomez
3e4e081c1d Sample Apache 2.x configuration, mirror, registry v1+registry v2
Signed-off-by: Henri Gomez <henri.gomez@gmail.com>
2015-04-24 09:55:14 +02:00
Mary Anthony
b939d6d118 Updating with new RC work
Fixing typos and adding tables
Updating with testing material
Tweak after read through
Adding in Stephen's comments
Adding in Richard's comments. Fixing the broken images
closes issue #363
Another try

Signed-off-by: Mary Anthony <mary@docker.com>
2015-04-16 10:44:30 -07:00
Derek McGowan
566768558c Update nginx proxy setting to set forward headers
Set forward headers so the IP and scheme get sent to the registry. This allows the registry to set a proper redirect with the correct scheme when HTTPS is being used.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-04-13 14:03:10 -07:00
Derek McGowan
ce0b370dd0 Add docker compose configuration for v1 and v2
Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
2015-04-09 13:23:21 -07:00