CassandraUpgradeTest ups and verifies that a Cassandra StatefulSet behaves well across upgrades.
type CassandraUpgradeTest struct {
// contains filtered or unexported fields
}
func (CassandraUpgradeTest) Name() string
Name returns the tracking name of the test.
func (t *CassandraUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup creates a Cassandra StatefulSet and a PDB. It also brings up a tester ReplicaSet and associated service and PDB to guarantee availability during the upgrade. It waits for the system to stabilize before adding two users to verify connectivity.
func (CassandraUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool
Skip returns true when this test can be skipped.
func (t *CassandraUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown does one final check of the data's availability.
func (t *CassandraUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test is called during the upgrade. It launches two goroutines, one continuously writes to the db and one reads from the db. Each attempt is tallied and at the end we verify if the success ratio is over a certain threshold (0.75). We also verify that we get at least the same number of rows back as we successfully wrote.
DaemonSetUpgradeTest tests that a DaemonSet is running before and after a cluster upgrade.
type DaemonSetUpgradeTest struct {
// contains filtered or unexported fields
}
func (DaemonSetUpgradeTest) Name() string
Name returns the tracking name of the test.
func (t *DaemonSetUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup creates a DaemonSet and verifies that it's running
func (t *DaemonSetUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown cleans up any remaining resources.
func (t *DaemonSetUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test waits until the upgrade has completed and then verifies that the DaemonSet is still running
DeploymentUpgradeTest tests that a deployment is using the same replica sets before and after a cluster upgrade.
type DeploymentUpgradeTest struct {
// contains filtered or unexported fields
}
func (DeploymentUpgradeTest) Name() string
Name returns the tracking name of the test.
func (t *DeploymentUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup creates a deployment and makes sure it has a new and an old replicaset running.
func (t *DeploymentUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown cleans up any remaining resources.
func (t *DeploymentUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test checks whether the replicasets for a deployment are the same after an upgrade.
EtcdUpgradeTest tests that etcd is writable before and after a cluster upgrade.
type EtcdUpgradeTest struct {
// contains filtered or unexported fields
}
func (EtcdUpgradeTest) Name() string
Name returns the tracking name of the test.
func (t *EtcdUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup creates etcd statefulset and then verifies that the etcd is writable.
func (EtcdUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool
Skip returns true when this test can be skipped.
func (t *EtcdUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown does one final check of the data's availability.
func (t *EtcdUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test waits for upgrade to complete and verifies if etcd is writable.
JobUpgradeTest is a test harness for batch Jobs.
type JobUpgradeTest struct {
// contains filtered or unexported fields
}
func (JobUpgradeTest) Name() string
Name returns the tracking name of the test.
func (t *JobUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup starts a Job with a parallelism of 2 and 2 completions running.
func (t *JobUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown cleans up any remaining resources.
func (t *JobUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test verifies that the Jobs Pods are running after the an upgrade
MySQLUpgradeTest implements an upgrade test harness that polls a replicated sql database.
type MySQLUpgradeTest struct {
// contains filtered or unexported fields
}
func (MySQLUpgradeTest) Name() string
Name returns the tracking name of the test.
func (t *MySQLUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup creates a StatefulSet, HeadlessService, a Service to write to the db, and a Service to read from the db. It then connects to the db with the write Service and populates the db with a table and a few entries. Finally, it connects to the db with the read Service, and confirms the data is available. The db connections are left open to be used later in the test.
func (MySQLUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool
Skip returns true when this test can be skipped.
func (t *MySQLUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown performs one final check of the data's availability.
func (t *MySQLUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test continually polls the db using the read and write connections, inserting data, and checking that all the data is readable.
ReplicaSetUpgradeTest tests that a replicaset survives upgrade.
type ReplicaSetUpgradeTest struct { UID types.UID }
func (ReplicaSetUpgradeTest) Name() string
Name returns the tracking name of the test.
func (r *ReplicaSetUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup creates a ReplicaSet and makes sure it's replicas ready.
func (r *ReplicaSetUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown cleans up any remaining resources.
func (r *ReplicaSetUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test checks whether the replicasets are the same after an upgrade.
StatefulSetUpgradeTest implements an upgrade test harness for StatefulSet upgrade testing.
type StatefulSetUpgradeTest struct {
// contains filtered or unexported fields
}
func (StatefulSetUpgradeTest) Name() string
Name returns the tracking name of the test.
func (t *StatefulSetUpgradeTest) Setup(ctx context.Context, f *framework.Framework)
Setup creates a StatefulSet and a HeadlessService. It verifies the basic SatefulSet properties
func (StatefulSetUpgradeTest) Skip(upgCtx upgrades.UpgradeContext) bool
Skip returns true when this test can be skipped.
func (t *StatefulSetUpgradeTest) Teardown(ctx context.Context, f *framework.Framework)
Teardown deletes all StatefulSets
func (t *StatefulSetUpgradeTest) Test(ctx context.Context, f *framework.Framework, done <-chan struct{}, upgrade upgrades.UpgradeType)
Test waits for the upgrade to complete and verifies the StatefulSet basic functionality