Documentation ¶
Index ¶
- Variables
- type Cluster
- type Container
- func (c *Container) Addr(name string) *net.TCPAddr
- func (c *Container) GetJSON(port, path string, v interface{}) error
- func (c *Container) Inspect() (*dockerclient.ContainerInfo, error)
- func (c *Container) Kill() error
- func (c *Container) Logs(w io.Writer) error
- func (c *Container) Pause() error
- func (c *Container) Remove() error
- func (c *Container) Restart(timeoutSeconds int) error
- func (c *Container) Start(binds []string, dns, vols *Container) error
- func (c *Container) Stop(timeoutSeconds int) error
- func (c *Container) Unpause() error
- func (c *Container) Wait() error
- type Event
Constants ¶
This section is empty.
Variables ¶
var HTTPClient = http.Client{ Timeout: base.NetworkTimeout, Transport: &http.Transport{ TLSClientConfig: &tls.Config{ InsecureSkipVerify: true, }, }}
HTTPClient is an http.Client configured for querying the running local cluster.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct { Nodes []*Container CertsDir string LogDir string ForceLogging bool // Forces logging to disk on a per test basis // contains filtered or unexported fields }
Cluster manages a local cockroach cluster running on docker. The cluster is composed of a "dns" container which automatically registers dns entries for the cockroach nodes, a "volumes" container which manages the persistent volumes used for certs and node data and N cockroach nodes.
func Create ¶
Create creates a new local cockroach cluster. The stopper is used to gracefully shutdown the channel (e.g. when a signal arrives). The cluster must be started before being used.
func (*Cluster) Assert ¶
Assert drains the Events channel and compares the actual events with those expected to have been generated by the operations performed on the nodes in the cluster (restart, kill, ...). In the event of a mismatch, the passed Tester receives a fatal error. Currently, the only events generated (and asserted against) are "die" and "restart", to maximize compatibility across different versions of Docker.
func (*Cluster) AssertAndStop ¶
AssertAndStop calls Assert and then stops the cluster. It is safe to stop the cluster multiple times.
type Container ¶
Container provides the programmatic interface for a single docker container.
func (*Container) GetJSON ¶
GetJSON retrieves the URL specified by https://Addr(<port>)<path> and unmarshals the result as JSON.
func (*Container) Inspect ¶
func (c *Container) Inspect() (*dockerclient.ContainerInfo, error)
Inspect retrieves detailed info about a container.
func (*Container) Remove ¶
Remove removes the container from docker. It is an error to remove a running container.
func (*Container) Restart ¶
Restart restarts a running container. Container will be killed after 'timeout' seconds if it fails to stop.
func (*Container) Start ¶
Start starts a non-running container.
TODO(pmattis): Generalize the setting of parameters here.