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

56 Коммитов

Автор SHA1 Сообщение Дата
Alain Jobart 375cf907f7 Adding docker image to generate PHP proto files. 2016-05-05 07:25:28 -07:00
Anthony Yeh 18bb48fb44 docker/test/run.sh: Also preserve new Go vendor directory. 2016-04-15 13:41:29 -07:00
Anthony Yeh 587f3a9c3f Use govendor instead of godep.
Like godep, govendor helps manage the native Go vendor dir. But it also
supports a mode where you don't have to copy all the files into your own
repo. Instead, you run `govendor sync` after updating the `vendor.json`
file, and it reconciles everything by downloading as needed.
2016-04-14 19:15:41 -07:00
Anthony Yeh f6c88e3441 Use pool of servers for downloading MySQL packaging key. 2016-04-06 14:43:17 -07:00
Anthony Yeh 8670f392ca Use native Go vendor mode for godeps.
This gets rid of the warning about disabling native vendor mode
due to legacy Godeps/_workspace directory being present.

It also means we require Go 1.5+ since that's when native vendor
mode was first introduced.
2016-04-06 14:43:17 -07:00
Anthony Yeh 0df22ba0b0 Make Docker image to preview/publish site.
Add `--docker` flag to run preview/publish without needing to set up
Ruby or Jekyll:

``` sh
vitess$ ./preview-site.sh --docker
vitess$ ./publish-site.sh --docker
```
2016-04-05 16:45:21 -07:00
Alain Jobart 10eef51c66 Removing python bson library. 2016-03-16 09:19:27 -07:00
Anthony Yeh a87a423e1e Add Docker images for Percona Server. 2016-03-04 15:48:34 -08:00
Michael Berlin c9953498e4 docker/bootstrap: Replace ENV MAKEFLAGS with setting it per command.
The ENV version was not working anyway since Docker did single-quote: '-j$(nproc)'

Because of that make saw this string literal and converted it into an (unknown) absurd high number. On my 12 core machine it executed way more jobs in parallel than 12. This change will also fix this.
2016-03-03 11:39:45 -08:00
Michael Berlin 3bbab08284 docker/bootstrap: Update the Maven mirror to a more reliable one. 2016-03-03 11:34:54 -08:00
Michael Berlin 21b887583e docker: Enable parallel make for bootstrap image.
With this change, the build time on my desktop is reduced from ~720s to ~410s.
2016-03-02 23:09:42 -08:00
Anthony Yeh 3f2d479a9a docker/bootstrap: Build gRPC PHP plugin from gRPC sources.
The pecl build isn't always up-to-date with the gRPC version we use.
2016-02-27 02:31:07 -08:00
Anthony Yeh 3c3c713c18 Install newer pip in docker/bootstrap. 2016-02-27 02:31:07 -08:00
Alain Jobart 0c425e0b5c Fixing docker and travis builds, hopefully. 2016-01-22 13:29:46 -08:00
Rasta df41b52b97 composer.json moved to project root -> dependencies update 2016-01-13 22:36:35 +01:00
Anthony Yeh 993663574f vtctld: Clean out old UI. 2015-11-12 22:52:07 -08:00
Anthony Yeh 54f661fa45 docker: Work around bug in Docker 1.9
The wildcard expansion was failing due to a bug.
2015-11-10 11:41:30 -08:00
Anthony Yeh b89d988e30 Make MySQL users and privileges configurable.
This gets rid of the opaque mysql-db-dir.tbz archive, replacing it with
a .sql file. The .sql file approach makes it clear what state the DB is
initialized with, and also makes it easy to customize.
2015-11-10 11:41:24 -08:00
Michael Berlin 46d60513ee Merge pull request #1283 from michael-berlin/dockerhub_bootstrap_update_doc
docker: Document how to update the bootstrap images.
2015-11-04 19:07:12 -08:00
Anthony Yeh d40e396f05 test.go: Preserve php/vendor dir from bootstrap image.
Otherwise, the php test would only work if you had also done the
"composer install" step in your local directory, outside Docker.
2015-11-04 18:48:34 -08:00
Michael Berlin 26bef158ff docker: Document how to update the bootstrap images. 2015-11-04 18:39:38 -08:00
Anthony Yeh aa1da5cd71 Upgrade to ZooKeeper 3.4.6.
Fixes #1204
2015-11-02 20:45:43 -08:00
Anthony Yeh 8c86eddd33 docker: Include only necessary files in bootstrap image.
The images were getting bloated by vendored files, etc.
2015-11-02 17:13:43 -08:00
Anthony Yeh 3dd746af77 docker: Remove unused mongo PHP extension. 2015-11-02 17:11:34 -08:00
Anthony Yeh c24dc79977 docker: Switch default flavor to mysql56. 2015-11-02 17:11:28 -08:00
Anthony Yeh d001bce519 docker: Add getsrv utility in etcd image. 2015-11-02 11:51:25 -08:00
Anthony Yeh 2faece09cf docker: Add Makefile rule for building etcd-lite image. 2015-10-15 15:50:31 -07:00
Anthony Yeh 2fb6bf05b3 docker: Build gRPC PHP extension.
gRPC requires PHP 5.5+, so I updated Debian to Jessie.
2015-10-08 04:28:52 -07:00
Anthony Yeh a93e22d9a2 Pin PHPUnit to a version that supports PHP 5.3. 2015-10-02 11:21:53 -07:00
Alain Jobart d9066317c1 Removing cbson. We'll remove bson support eventually. 2015-10-01 07:29:09 -07:00
Anthony Yeh c5a3db11f5 test.go: Explicitly remove cleanup docker container.
Rather than relying on --rm, because that flag doesn't always work.
2015-08-24 15:40:54 -07:00
Anthony Yeh 0649542b35 Add python package to make client_test.py pass in Docker. 2015-08-23 20:19:30 -07:00
Anthony Yeh 83bc3849ef Add PHP tests to Docker-based test runner (test.go). 2015-08-22 17:49:09 -07:00
Anthony Yeh eb5141992f Add Java tests to Docker test runner. 2015-08-12 01:56:37 -07:00
Anthony Yeh b203fcda46 web/vtctld: Add new -web_dir flag everywhere -templates was. 2015-08-03 14:43:45 -07:00
Anthony Yeh aaeb818c3d Update Docker/Kubernetes configs to etcd v2.0.13. 2015-07-10 16:29:13 -07:00
Anthony Yeh d48074d215 Update etcd to v2.0.13. 2015-07-10 15:35:02 -07:00
Anthony Yeh a41cd235bc Use script to install grpc, instead of copying the steps.
The Dockerfile got out of date with changes in the script.
2015-07-10 14:57:25 -07:00
Ammar Aijazi df5fb8da13 Add Python mock to Docker PYTHONPATH 2015-06-26 12:50:10 -07:00
Anthony Yeh e755930b73 Install etcd in dev bootstrap for integration tests. 2015-06-04 15:47:10 -07:00
Michael Berlin a8785556be docker/test/run.sh: Make repo world readable for access from docker.
Previously, the permissions of all items *within* the repository were already updated, but not the repository itself.

This resulted into the error 'cp: cannot stat `/tmp/src/*': Permission denied' when running "docker/test/run.sh mariadb".
2015-05-19 17:43:18 -07:00
Anthony Yeh cbc39cd7b5 Add empty lines before bulleted lists in Markdown.
The 'recarpet' Markdown converter we use doesn't convert bulleted lists
if they aren't preceeded by empty lines.
2015-05-11 13:55:17 -07:00
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