I've also regenerated all protobuf files.
Note that the new version has added getters for primitive types. Do NOT
use these getters and instead always use the field names instead.
This change adds full support for a Consul-based topology service.
See https://www.consul.io/ for more information.
- Adding consul server to bootstrap.sh for download.
- Adding client library to vendor.json.
- In unit tests, we start a dev Consul instance.
- Adding consul support in end-to-end tests.
Also running the test in travis.
- Updating topo doc.
- Adding Consul to 2.1 features.
The new etcd2 topology service is the new more consistent version of the
etcd topology. It has the following improvements:
- Uses the same file structure as zk2topo. It then also uses the generic
vtctld.Explorer as well.
- Uses the new etcd clientv3 library, with new key-value API and leases.
It is not backwards compatible with the old etcd topology.
- Uses a configurable toplevel directory for topology data in global and
local cells.
Vitess 2.1 will still include the old etcd topology client, but it will
be deprecated, and removed from Vitess 2.2. Use topo2topo binary to
upgrade, see documentation.
Implementation details:
- bootstrap.sh now downloads etcd.
- etcd is used in unit tests of the library, instead of using a mock.
- Fixing wrangler.InitTablet error return.
And adding -allow_update to test calls, so they work anyway.
- Running tabletmanager.py for zookeeper, zk2, etcd, etcd2 flavors.
- Ignoring the 'test' tag for vendored libraries. See:
https://github.com/kardianos/govendor#ignoring-build-tags-and-excluding-packages
- in end-to-end tests, restarting etcd to wipe it.
- publish web site.
Our Kubernetes instructions use "go get" to compile vtctlclient.
Since our generated gRPC services are no longer compatible with the latest gRPC version, we need to update it.
See: https://github.com/youtube/vitess/issues/1811#issuecomment-258740349
I ran the following command to update the dependency:
$ govendor fetch google.golang.org/grpc/...@=v1.0.4
The gRPC library itself is already pinned by "govendor" and protects as
from breaking changes. The plugin was recently updated and broke us
again. Now this should no longer happen.
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.
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.