Documentation ¶
Index ¶
- type Farmer
- func (f *Farmer) AbsLogDir() string
- func (f *Farmer) Add(nodes, writers int) error
- func (f *Farmer) Addr(i int) string
- func (f *Farmer) Assert(t *testing.T)
- func (f *Farmer) AssertAndStop(t *testing.T)
- func (f *Farmer) CollectLogs()
- func (f *Farmer) Destroy() error
- func (f *Farmer) Exec(i int, cmd string) error
- func (f *Farmer) ExecRoot(i int, cmd []string) error
- func (f *Farmer) FirstInstance() string
- func (f *Farmer) InternalIP(i int) net.IP
- func (f *Farmer) Kill(i int) error
- func (f *Farmer) MustDestroy()
- func (f *Farmer) NewClient(t *testing.T, i int) (*client.DB, *stop.Stopper)
- func (f *Farmer) Nodes() (hosts []string)
- func (f *Farmer) NumNodes() int
- func (f *Farmer) NumWriters() int
- func (f *Farmer) PGUrl(i int) string
- func (f *Farmer) Resize(nodes, writers int) error
- func (f *Farmer) Restart(i int) error
- func (f *Farmer) URL(i int) string
- func (f *Farmer) WaitReady(d time.Duration) error
- func (f *Farmer) Writers() (hosts []string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Farmer ¶
type Farmer struct { Output io.Writer Cwd, LogDir string KeyName string Stores string // Prefix will be prepended all names of resources created by Terraform. Prefix string // StateFile is the file (under `Cwd`) in which Terraform will stores its // state. StateFile string // AddVars are additional Terraform variables to be set during calls to Add. AddVars map[string]string KeepClusterAfterTest bool // contains filtered or unexported fields }
A Farmer sets up and manipulates a test cluster via terraform.
func (*Farmer) Assert ¶
Assert verifies that the cluster state is as expected (i.e. no unexpected restarts or node deaths occurred). Tests can call this periodically to ascertain cluster health. TODO(tschottdorf): unimplemented when nodes are expected down.
func (*Farmer) AssertAndStop ¶
AssertAndStop performs the same test as Assert but then proceeds to dismantle the cluster.
func (*Farmer) CollectLogs ¶
func (f *Farmer) CollectLogs()
CollectLogs copies all possibly interesting files from all available peers if LogDir is not empty.
func (*Farmer) Exec ¶
Exec executes the given command on the i-th node, returning (in that order) stdout, stderr and an error.
func (*Farmer) FirstInstance ¶
FirstInstance returns the address of the first instance.
func (*Farmer) InternalIP ¶
InternalIP returns the address used for inter-node communication.
func (*Farmer) Kill ¶
Kill terminates the cockroach process running on the given node number. The given integer must be in the range [0,NumNodes()-1].
func (*Farmer) MustDestroy ¶
func (f *Farmer) MustDestroy()
MustDestroy calls Destroy(), panicking on error.
func (*Farmer) NumWriters ¶
NumWriters returns the number of block writers.
func (*Farmer) Resize ¶
Resize is the counterpart to Add which resizes a cluster given the desired number of nodes and writers.
func (*Farmer) Restart ¶
Restart terminates the cockroach process running on the given node number, unless it is already stopped, and restarts it. The given integer must be in the range [0,NumNodes()-1].