Commit graph

327 commits

Author SHA1 Message Date
Matt Jaffee
e144259a19 make config flag global, and add global dry run flag
config flag can be used by all subcommands. Dry run flag stops subcommand
execution after parsing of config - nice for testing.
2017-03-17 16:43:04 -05:00
Matt Jaffee
dcafca3141 bind to localhost:0 in tests to avoid binding to the same port 2017-03-17 16:43:04 -05:00
Matt Jaffee
2aef65989e convert all commands to use RunE and global Command var 2017-03-17 16:43:04 -05:00
Matt Jaffee
601e8478da put all cmd test helpers in root_test and return errors from them 2017-03-17 16:43:04 -05:00
Matt Jaffee
e92203a466 add basic inspect test 2017-03-17 16:43:04 -05:00
Matt Jaffee
241649fc22 rename cmd.Serve->cmd.Server (gorename) 2017-03-17 16:43:04 -05:00
Matt Jaffee
60c1828dc9 nest profiling options in config file and test 2017-03-17 16:43:04 -05:00
Matt Jaffee
442380f8ab add anti-entropy interval arg 2017-03-17 16:43:04 -05:00
Matt Jaffee
b291307dde add plugins path arg to server
also fix an issue where tests would hang if an invalid config file was given
2017-03-17 16:43:04 -05:00
Matt Jaffee
9a18fc11a6 support cluster poll interval arg 2017-03-17 16:43:04 -05:00
Matt Jaffee
03eae77604 add cluster.hosts flag
had to work around a bunch of viper nonsense with handling string slices

changed the validator.Check to use reflect.DeepEqual

fixed a bug where env vars need to be reset between tests

had to change the structure of pilosa.config to enable the passing of hosts as a
slice of strings (it was a slice of structs which each just contained the string
host.) so we lose some generality, but we weren't using it anyway.
2017-03-17 16:43:04 -05:00
Matt Jaffee
2af42eedb5 add replicaN to pilosa server and test 2017-03-17 16:43:04 -05:00
Matt Jaffee
372b7ca1c4 full testing support for pilosa server
1. fixed a couple bugs with config file reading.
2. made cmd.Serve a global variable so tests could inspect it.
3. added table style testing for pilosa server
4. added the ability to stop server programmatically which also causes the cobra
command running it to return.
2017-03-17 16:43:04 -05:00
Matt Jaffee
076cc0960a add some proof of concept command tests 2017-03-17 16:43:04 -05:00
Matt Jaffee
961d18a3bf convert all subcommands to nonglobal style 2017-03-17 16:43:04 -05:00
Matt Jaffee
c3b7710d67 WIP on converting commands to be non-global and testable 2017-03-17 16:43:04 -05:00
Matt Jaffee
943e8ece1e add data-dir flag and simplify server/server.go
Now that the default data dir is defined by the flag, we don't need to set it
explicitly if it isn't set. We also stop reading the config file explicitly in
server.go since viper will read it - we do need to define all the config options
though before the config file will work properly.
2017-03-17 16:43:04 -05:00
Matt Jaffee
26a900843a move setAllConfig and it's invocation to root cmd 2017-03-17 16:43:04 -05:00
Matt Jaffee
232cf53781 rename config function and have it return error 2017-03-17 16:43:04 -05:00
Matt Jaffee
e1a582ad2c experimenting with cascading config
2 changes unrelated to cascading config:

1. using cobra.Command.RunE instead of just Run - similar behavior to log + exit,
but simpler. Also prints error message, then usage, then error again which is
nice.

2. getting serveCmd.Flags() once, and re-using it. More readable methinks.

For cascading config, I'm trying to set things up so that we can define the
flags once, and have them work from a config file, environment variable, or
command line. I also don't want references to viper scattered throughout our
code, so I want to set the config at startup, and not touch it from then on.

The idea here is to iterate through the set up command line flags, and then set
their values from viper which knows about the commmand line, the environment,
and the config file, and will pick the right one. The command line flags were
set pointing to the correct config values in the pilosa object, so the right
values will be set automatically.
2017-03-17 16:43:04 -05:00
Matt Jaffee
72de534c8c remove duplicate Version/BuildTime from pilosa/server
use only the pilosa/cmd Version and BuildTime which are populated by the ldflags
in the Makefile
2017-03-09 11:39:11 -06:00
Matt Jaffee
fa9586f64f remove useless print 2017-03-07 13:18:51 -06:00
Matt Jaffee
555a514e37 code review tweaks 2017-03-07 11:30:31 -06:00
Matt Jaffee
c7caea6b30 fix short help strings on commands 2017-03-06 16:45:37 -06:00
Matt Jaffee
f463ab9d9b make inspect behave like pilosactl version 2017-03-06 16:37:41 -06:00
Matt Jaffee
756c44c17d fix bugs with pilosa server -config and remove dead code 2017-03-06 10:19:50 -06:00
Matt Jaffee
a47f93329e remove pilosactl and add version/build to root cmd 2017-03-03 15:24:39 -06:00
Matt Jaffee
64f007547e move bench to subcommand 2017-03-03 15:14:02 -06:00
Matt Jaffee
01020d06a8 mvoe check to subcommand 2017-03-03 15:05:59 -06:00
Matt Jaffee
ff532f2064 fix help text in restore command 2017-03-03 15:01:29 -06:00
Matt Jaffee
2c1929a063 move inspect to subcommand 2017-03-03 15:00:54 -06:00
Matt Jaffee
21478cb852 move restore to subcommand 2017-03-03 14:53:35 -06:00
Matt Jaffee
6dc164da69 fix copy/paste bug in export subcommand 2017-03-03 14:47:47 -06:00
Matt Jaffee
f20e6c193d move backup to subcommand 2017-03-03 14:46:45 -06:00
Matt Jaffee
312a9a5334 move sort to subcommand 2017-03-03 14:38:44 -06:00
Matt Jaffee
362539fe2d make export a subcommand 2017-03-03 14:21:17 -06:00
Matt Jaffee
e349dca06a move import to subcommand 2017-03-03 14:11:12 -06:00
Matt Jaffee
ed43eca004 move "config" to subcommand 2017-03-03 13:35:06 -06:00
Matt Jaffee
02c3c6d3e6 use cobra/viper and move cmd/pilosa to server subcommand 2017-03-03 13:03:57 -06:00
Matthew Jaffee
13d0b42c49 Merge pull request #346 from jaffee/273-breakout-pilosactl
273 breakout pilosactl
2017-03-03 10:48:36 -06:00
Ben Johnson
246649b0c8 Merge pull request #329 from benbjohnson/schema
Add basic schema support.
2017-02-28 12:27:39 -07:00
Matt Jaffee
77372fe3cc remove creator/bagent/bspawn 2017-02-24 15:50:26 -06:00
Ben Johnson
7de0293034 Add basic schema support.
Databases and frames now require explicit creation and have the
option of setting row & column labels. If no labels are provided
then the default `id` and `profileID` labels are used.
2017-02-20 13:55:03 -07:00
Cody Soyland
8258ffbea4 Remove random seed call that was accidentally committed 2017-02-17 16:55:01 -06:00
Cody Soyland
2d09731dfd Add Makefile and versioning/build time in pilosa/pilosactl 2017-02-17 16:37:36 -06:00
Matt Jaffee
545a0cff4b Revert "pilosactl builds - fixed compatibility with pql changes"
This reverts commit d6e2be97b1.
2017-02-10 09:11:23 -06:00
Matt Jaffee
8beb5e0707 pilosactl builds - fixed compatibility with pql changes
remove randquery benchmark entirely and modify sliceheight to work with latest
pql changes.
2017-02-09 15:59:18 -06:00
Travis
71d3074b38 for the default version number, include the v 2017-02-03 09:23:15 -06:00
Travis
d0bdea11c5 use the Build parameter as the Version in handler
Standardize on `Version` for the build version
2017-02-02 12:08:03 -06:00
jaffee
8e9ccb0422 use temp location for pilosactl and pilosa binaries
I did it this way instead of using mktemp because
a) mktemp would have created a different filename on every host, which would
make the client side logic much more confusing
b) mktemp isn't guaranteed to be available everywhere, so we're not losing much
by assuming /tmp exists.
2017-01-25 15:17:06 -06:00