Skip to content

Commit

Permalink
Add a new cancelAfterDowngradingAndUpgrading scenario for downgrade e…
Browse files Browse the repository at this point in the history
…2e test

Address #19252 (comment)

Tested with the following command:
clear; PASSES="release e2e" PKG=./tests/e2e TESTCASE="TestDowngradeCancellation" TIMEOUT=20m ./scripts/test.sh -v -failfast

Signed-off-by: Chun-Hung Tseng <[email protected]>
  • Loading branch information
Chun-Hung Tseng committed Feb 9, 2025
1 parent b2d352b commit 442e7e7
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions tests/e2e/cluster_downgrade_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ const (
cancelRightBeforeEnable
cancelRightAfterEnable
cancelAfterDowngrading
cancelAfterDowngradingAndUpgrading
)

func TestDowngradeUpgradeClusterOf1(t *testing.T) {
Expand Down Expand Up @@ -88,6 +89,14 @@ func TestDowngradeCancellationAfterDowngrading2InClusterOf3(t *testing.T) {
testDowngradeUpgrade(t, 2, 3, false, cancelAfterDowngrading)
}

func TestDowngradeCancellationAfterDowngradingAndUpgrading1InClusterOf3(t *testing.T) {
testDowngradeUpgrade(t, 1, 3, false, cancelAfterDowngradingAndUpgrading)
}

func TestDowngradeCancellationAfterDowngradingAndUpgrading2InClusterOf3(t *testing.T) {
testDowngradeUpgrade(t, 2, 3, false, cancelAfterDowngradingAndUpgrading)
}

func testDowngradeUpgrade(t *testing.T, numberOfMembersToDowngrade int, clusterSize int, triggerSnapshot bool, triggerCancellation CancellationState) {
currentEtcdBinary := e2e.BinPath.Etcd
lastReleaseBinary := e2e.BinPath.EtcdLastRelease
Expand Down Expand Up @@ -203,6 +212,12 @@ func testDowngradeUpgrade(t *testing.T, numberOfMembersToDowngrade int, clusterS
require.NoError(t, err)
t.Log("Upgrade complete")

if triggerCancellation == cancelAfterDowngradingAndUpgrading {
e2e.DowngradeCancel(t, epc)
t.Log("Downgrade cancelled, validating if cluster is in the right state")
e2e.ValidateMemberVersions(t, epc, generatePartialCancellationVersions(clusterSize, membersToChange, lastClusterVersion))
}

afterMembers, afterKV = getMembersAndKeys(t, cc)
assert.Equal(t, beforeKV.Kvs, afterKV.Kvs)
assert.Equal(t, beforeMembers.Members, afterMembers.Members)
Expand Down

0 comments on commit 442e7e7

Please sign in to comment.