Граф коммитов

14 Коммитов

Автор SHA1 Сообщение Дата
Anthony Yeh 740662c0eb Use --no-cache when building Docker bootstrap images.
Otherwise they may not re-download the latest versions of packages we
fetch from the web.
2015-05-05 14:07:25 -07:00
Anthony Yeh b2c491f7b1 Build lightweight Docker images for deployment.
The base images are meant for development, and include everything needed
to bootstrap and build Vitess.

For actual deployment, we can drop all the dev packages and just put the
binaries into a fresh image.

At this time, the savings in image size are:

vitess/base = 2.269GB -> vitess/lite = 568.4MB
vitess/etcd:v0.4.6 = 442.4MB -> vitess/etcd:v0.4.6-lite = 108.6MB

This makes Kubernetes pods start a lot faster, since each node has to
download the images.
2015-04-27 17:05:06 -07:00
Anthony Yeh a58cde4f3b Clean up mounted VTDATAROOT from inside Docker.
Otherwise, you may get permission denied when trying to remove the temp
dir as a normal user, because the files were created by the 'vitess'
user inside Docker.
2015-04-22 15:06:07 -07:00
Anthony Yeh 58820a9e34 Create bootstrap image for MySQL 5.6. 2015-04-22 14:21:18 -07:00
Anthony Yeh b14c3a308f Add test-runner script for integration tests in Docker.
This is an alternative to 'make integration_test',
with the following advantages:

* Tests run in Docker, so no bootstrap is necessary.
* Tests are hermetic and can run in parallel.
* Test against different flavors just by setting a flag.
* Failing tests are retried to see if they are flaky.
* A failed test will be recorded for later inspection, while the script
  continues to run other tests.
* A test that takes too long will be considered stuck and retried.

There's plenty of room for improvement, but now that we have something
in a more readable language than Makefile, we can iterate.
2015-04-21 20:12:20 -07:00
Anthony Yeh 9a885e51c4 Fix permission issues when running tests in Docker.
The vtdataroot volume needs to be created after the directory itself,
and other fixes.
2015-04-20 17:11:45 -07:00
Anthony Yeh 3a8ec3799a Add Makefile rule to run tests inside Docker.
This will let contributors test changes without having to do bootstrap
at all.

It also makes it easy to test against multiple flavors without having to
swap out installed packages. You can even run tests against multiple
flavors simultaneously without interfering, if you have enough RAM.
2015-04-20 16:03:01 -07:00
Anthony Yeh 89cb8a5a01 Split off bootstrap into separate Docker image.
This makes it faster to use Docker images to test new changes, as
suggested in #492.

Since we don't need to re-bootstrap for every push to master, this also
makes our automated builds faster and more reliable (they often fail due
to network lag when installing dependencies with apt-get).

Lastly, this will make it easier to swap out bootstrap images built for
different flavors, such as MariaDB 10.0 vs MySQL 5.6.
2015-04-20 15:09:26 -07:00
Anthony Yeh 000f0b5ceb Move vitess/etcd to same Go version as vitess/base.
That way they can share the Go image, as intended.
2015-04-20 14:58:11 -07:00
Anthony Yeh 56684e9c4b Create Vitess-friendly Dockerfile for etcd. 2014-12-18 23:21:53 -08:00
Anthony Yeh b90cadec9d Remove obsolete zk Docker example.
The useful parts of the zk Docker example have been absorbed into the
Kubernetes example. The Docker-only version is now broken anyway and
there's no point in fixing it since we're not planning to flesh out the
rest of Vitess in Docker-only mode.
2014-10-28 13:40:53 -07:00
Anthony Yeh e6f8e85d8e Add Dockerfile for vitess/root image. 2014-10-14 10:46:04 -07:00
Anthony Yeh 0eeda5a74c Move Docker examples to top-level examples dir. 2014-10-14 10:46:04 -07:00
Anthony Yeh 58d3cad986 Running zkctl in Docker. 2014-10-08 11:23:36 -07:00