Documentation ¶
Index ¶
- func AttemptUnsealCore(c *vault.TestCluster, core *vault.TestClusterCore) error
- func AttemptUnsealCores(c *vault.TestCluster) error
- func AwaitLeader(t testing.T, cluster *vault.TestCluster) (int, error)
- func DeriveActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
- func DeriveStableActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
- func DeriveStandbyCores(t testing.T, cluster *vault.TestCluster) []*vault.TestClusterCore
- func EnsureCoreSealed(t testing.T, core *vault.TestClusterCore)
- func EnsureCoreUnsealed(t testing.T, c *vault.TestCluster, core *vault.TestClusterCore)
- func EnsureCoresSealed(t testing.T, c *vault.TestCluster)
- func EnsureCoresUnsealed(t testing.T, c *vault.TestCluster)
- func EnsureStableActiveNode(t testing.T, cluster *vault.TestCluster)
- func GenerateDebugLogs(t testing.T, client *api.Client) chan struct{}
- func GenerateRoot(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) string
- func GenerateRootWithError(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) (string, error)
- func NewHardcodedServerAddressProvider(numCores, baseClusterPort int) raftlib.ServerAddressProvider
- func RaftAppliedIndex(core *vault.TestClusterCore) uint64
- func RaftClusterJoinNodes(t testing.T, cluster *vault.TestCluster)
- func RandomWithPrefix(name string) string
- func RekeyCluster(t testing.T, cluster *vault.TestCluster, recovery bool) [][]byte
- func RetryUntil(t testing.T, timeout time.Duration, f func() error)
- func SealCores(t testing.T, cluster *vault.TestCluster)
- func SetNonRootToken(client *api.Client) error
- func TestMetricSinkProvider(gaugeInterval time.Duration) func(string) (*metricsutil.ClusterMetricSink, *metricsutil.MetricsHelper)
- func VerifyRaftConfiguration(core *vault.TestClusterCore, numCores int) error
- func VerifyRaftPeers(t testing.T, client *api.Client, expected map[string]bool) error
- func WaitForActiveNode(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
- func WaitForActiveNodeAndStandbys(t testing.T, cluster *vault.TestCluster)
- func WaitForNCoresSealed(t testing.T, cluster *vault.TestCluster, n int)
- func WaitForNCoresUnsealed(t testing.T, cluster *vault.TestCluster, n int)
- func WaitForRaftApply(t testing.T, core *vault.TestClusterCore, index uint64)
- func WaitForStandbyNode(t testing.T, core *vault.TestClusterCore)
- type GenerateRootKind
- type HardcodedServerAddressProvider
- type SysMetricsJSON
- type TestRaftServerAddressProvider
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AttemptUnsealCore ¶
func AttemptUnsealCore(c *vault.TestCluster, core *vault.TestClusterCore) error
func AttemptUnsealCores ¶
func AttemptUnsealCores(c *vault.TestCluster) error
func AwaitLeader ¶
func AwaitLeader(t testing.T, cluster *vault.TestCluster) (int, error)
AwaitLeader waits for one of the cluster's nodes to become leader.
func DeriveActiveCore ¶
func DeriveActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
func DeriveStableActiveCore ¶
func DeriveStableActiveCore(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
func DeriveStandbyCores ¶
func DeriveStandbyCores(t testing.T, cluster *vault.TestCluster) []*vault.TestClusterCore
func EnsureCoreSealed ¶
func EnsureCoreSealed(t testing.T, core *vault.TestClusterCore)
func EnsureCoreUnsealed ¶
func EnsureCoreUnsealed(t testing.T, c *vault.TestCluster, core *vault.TestClusterCore)
func EnsureCoresSealed ¶
func EnsureCoresSealed(t testing.T, c *vault.TestCluster)
func EnsureCoresUnsealed ¶
func EnsureCoresUnsealed(t testing.T, c *vault.TestCluster)
func EnsureStableActiveNode ¶
func EnsureStableActiveNode(t testing.T, cluster *vault.TestCluster)
func GenerateDebugLogs ¶
func GenerateRoot ¶
func GenerateRoot(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) string
Generates a root token on the target cluster.
func GenerateRootWithError ¶
func GenerateRootWithError(t testing.T, cluster *vault.TestCluster, kind GenerateRootKind) (string, error)
func NewHardcodedServerAddressProvider ¶
func NewHardcodedServerAddressProvider(numCores, baseClusterPort int) raftlib.ServerAddressProvider
NewHardcodedServerAddressProvider is a convenience function that makes a ServerAddressProvider from a given cluster address base port.
func RaftAppliedIndex ¶
func RaftAppliedIndex(core *vault.TestClusterCore) uint64
func RaftClusterJoinNodes ¶
func RaftClusterJoinNodes(t testing.T, cluster *vault.TestCluster)
func RandomWithPrefix ¶
RandomWithPrefix is used to generate a unique name with a prefix, for randomizing names in acceptance tests
func RekeyCluster ¶
func RekeyCluster(t testing.T, cluster *vault.TestCluster, recovery bool) [][]byte
func RetryUntil ¶
RetryUntil runs f until it returns a nil result or the timeout is reached. If a nil result hasn't been obtained by timeout, calls t.Fatal.
func SealCores ¶
func SealCores(t testing.T, cluster *vault.TestCluster)
func SetNonRootToken ¶
SetNonRootToken sets a token on :client: with a fairly generic policy. This is useful if a test needs to examine differing behavior based on if a root token is passed with the request.
func TestMetricSinkProvider ¶
func TestMetricSinkProvider(gaugeInterval time.Duration) func(string) (*metricsutil.ClusterMetricSink, *metricsutil.MetricsHelper)
func VerifyRaftConfiguration ¶
func VerifyRaftConfiguration(core *vault.TestClusterCore, numCores int) error
VerifyRaftConfiguration checks that we have a valid raft configuration, i.e. the correct number of servers, having the correct NodeIDs, and exactly one leader.
func VerifyRaftPeers ¶
VerifyRaftPeers verifies that the raft configuration contains a given set of peers. The `expected` contains a map of expected peers. Existing entries are deleted from the map by removing entries whose keys are in the raft configuration. Remaining entries result in an error return so that the caller can poll for an expected configuration.
func WaitForActiveNode ¶
func WaitForActiveNode(t testing.T, cluster *vault.TestCluster) *vault.TestClusterCore
func WaitForActiveNodeAndStandbys ¶
func WaitForActiveNodeAndStandbys(t testing.T, cluster *vault.TestCluster)
WaitForActiveNodeAndStandbys does nothing more than wait for the active node on OSS. On enterprise it waits for perf standbys to be healthy too.
func WaitForNCoresSealed ¶
func WaitForNCoresSealed(t testing.T, cluster *vault.TestCluster, n int)
func WaitForNCoresUnsealed ¶
func WaitForNCoresUnsealed(t testing.T, cluster *vault.TestCluster, n int)
func WaitForRaftApply ¶
func WaitForRaftApply(t testing.T, core *vault.TestClusterCore, index uint64)
func WaitForStandbyNode ¶
func WaitForStandbyNode(t testing.T, core *vault.TestClusterCore)
Types ¶
type GenerateRootKind ¶
type GenerateRootKind int
const ( GenerateRootRegular GenerateRootKind = iota GenerateRootDR GenerateRecovery )
type HardcodedServerAddressProvider ¶
type HardcodedServerAddressProvider struct {
Entries map[raftlib.ServerID]raftlib.ServerAddress
}
HardcodedServerAddressProvider is a ServerAddressProvider that uses a hardcoded map of raft node addresses.
It is useful in cases where the raft configuration is known ahead of time, but some of the cores have not yet had startClusterListener() called (via either unsealing or raft joining), and thus do not yet have a ClusterAddr() assigned.
func (*HardcodedServerAddressProvider) ServerAddr ¶
func (p *HardcodedServerAddressProvider) ServerAddr(id raftlib.ServerID) (raftlib.ServerAddress, error)
type SysMetricsJSON ¶
type SysMetricsJSON struct { Gauges []gaugeJSON `json:"Gauges"` Counters []counterJSON `json:"Counters"` // note: this is referred to as a "Summary" type in our telemetry docs, but // the field name in the JSON is "Samples" Summaries []summaryJSON `json:"Samples"` }
func SysMetricsReq ¶
func SysMetricsReq(client *api.Client, cluster *vault.TestCluster, unauth bool) (*SysMetricsJSON, error)
type TestRaftServerAddressProvider ¶
type TestRaftServerAddressProvider struct {
Cluster *vault.TestCluster
}
TestRaftServerAddressProvider is a ServerAddressProvider that uses the ClusterAddr() of each node to provide raft addresses.
Note that TestRaftServerAddressProvider should only be used in cases where cores that are part of a raft configuration have already had startClusterListener() called (via either unsealing or raft joining).
func (*TestRaftServerAddressProvider) ServerAddr ¶
func (p *TestRaftServerAddressProvider) ServerAddr(id raftlib.ServerID) (raftlib.ServerAddress, error)