README.rdoc
March 16, 2017 ยท View on GitHub
= STATUS
Twitter is no longer maintaining this project or responding to issues or PRs.
= gizzmo
Gizzmo is a command-line client for managing gizzard clusters.
== Installation and setup
Installation is a simple gem install. You may find it useful to create a ~/.gizzmorc file, which is simply YAML key/values. The keys are the long-style command line option keys converted into Ruby-style variables. A common .gizzmorc will simply be:
host: localhost
port: 7920
== Usage
Run gizzmo help for up-to-date usage.
== Recipes
=== Block and unblock a shard
BLOCKER=`gizzmo wrap com.twitter.gizzard.shards.BlockedShard a_shard`
gizzmo unwrap $BLOCKER
=== Reweight a shard safely (the hard way)
NEW_WEIGHT=1
REPL=`gizzmo wrap com.twitter.service.flock.edges.ReplicatingShard a_shard`
PARENT=`gizzmo links $REPL | cut -f 1 | grep -v $REPL | head -1`
gizzmo addlink $PARENT a_shard $NEW_WEIGHT
gizzmo unwrap $REPL
== Contributing
Contributions are welcome! Please send a pull request, or if you're internal to Twitter, please make a branch! Commits to master, and/or patches without minimal test coverage will be rejected/reverted.
== Running tests
The tests may be somewhat difficult to run outside of Twitter. They assume that:
- You don't mind blowing away the data in your dev environment.
- Your MySQL username and password are in the environment variables DB_USERNAME and DB_PASSWORD
To execute the tests:
-
Set up a nameserver database (once):
// create the database for the local nameserver echo "create database gizzard_test_integration_ns;" | mysql -
Pull in test server dependencies (once, or whenever you want to change the Gizzard version):
cd test/test_server ; sbt clean clean-lib update -
Run rake (the default target is the test suite: all files ending in '_spec' in the test directory):
rake
== Copyright
Copyright (c) 2010 Twitter, Inc. See LICENSE for details.