Skip to content

Commit

Permalink
tests/real_cluster: refine reboot cluster (#8311)
Browse files Browse the repository at this point in the history
close #8310

Signed-off-by: husharp <[email protected]>
  • Loading branch information
HuSharp authored Jun 20, 2024
1 parent 9804702 commit 8c2bb02
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 34 deletions.
24 changes: 14 additions & 10 deletions tests/integrations/client/http_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -569,22 +569,26 @@ func (suite *httpClientTestSuite) TestSetStoreLabels() {
defer cancel()
resp, err := client.GetStores(ctx)
re.NoError(err)
setStore := resp.Stores[0]
re.Empty(setStore.Store.Labels, nil)
re.NotEmpty(resp.Stores)
firstStore := resp.Stores[0]
re.Empty(firstStore.Store.Labels, nil)
storeLabels := map[string]string{
"zone": "zone1",
}
err = client.SetStoreLabels(ctx, 1, storeLabels)
err = client.SetStoreLabels(ctx, firstStore.Store.ID, storeLabels)
re.NoError(err)

resp, err = client.GetStores(ctx)
getResp, err := client.GetStore(ctx, uint64(firstStore.Store.ID))
re.NoError(err)
for _, store := range resp.Stores {
if store.Store.ID == setStore.Store.ID {
for _, label := range store.Store.Labels {
re.Equal(label.Value, storeLabels[label.Key])
}
}

labelsMap := make(map[string]string)
for _, label := range getResp.Store.Labels {
re.NotNil(label)
labelsMap[label.Key] = label.Value
}

for key, value := range storeLabels {
re.Equal(value, labelsMap[key])
}
}

Expand Down
2 changes: 2 additions & 0 deletions tests/integrations/realcluster/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ if [ ! -d "bin" ] || [ ! -e "bin/tikv-server" ] && [ ! -e "bin/tidb-server" ] &&
--pd.binpath ./bin/pd-server \
> $CUR_PATH/playground.log 2>&1 &
else
# CI will download the binaries in the prepare phase.
# ref https://github.com/PingCAP-QE/ci/blob/387e9e533b365174962ccb1959442a7070f9cd66/pipelines/tikv/pd/latest/pull_integration_realcluster_test.groovy#L55-L68
color-green "using existing binaries..."
$TIUP_BIN_DIR playground nightly --kv 3 --tiflash 1 --db 1 --pd 3 --without-monitor \
--pd.binpath ./bin/pd-server --kv.binpath ./bin/tikv-server --db.binpath ./bin/tidb-server --tiflash.binpath ./bin/tiflash --tag pd_test \
Expand Down
48 changes: 24 additions & 24 deletions tests/integrations/realcluster/reboot_pd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,37 +38,37 @@ func TestReloadLabel(t *testing.T) {
re := require.New(t)
ctx := context.Background()

resp, _ := pdHTTPCli.GetStores(ctx)
setStore := resp.Stores[0]
resp, err := pdHTTPCli.GetStores(ctx)
re.NoError(err)
re.NotEmpty(resp.Stores)
firstStore := resp.Stores[0]
// TiFlash labels will be ["engine": "tiflash"]
storeLabel := map[string]string{
// So we need to merge the labels
storeLabels := map[string]string{
"zone": "zone1",
}
for _, label := range setStore.Store.Labels {
storeLabel[label.Key] = label.Value
for _, label := range firstStore.Store.Labels {
storeLabels[label.Key] = label.Value
}
err := pdHTTPCli.SetStoreLabels(ctx, setStore.Store.ID, storeLabel)
re.NoError(err)
re.NoError(pdHTTPCli.SetStoreLabels(ctx, firstStore.Store.ID, storeLabels))

resp, err = pdHTTPCli.GetStores(ctx)
re.NoError(err)
for _, store := range resp.Stores {
if store.Store.ID == setStore.Store.ID {
for _, label := range store.Store.Labels {
re.Equal(label.Value, storeLabel[label.Key])
}
}
}
checkLabelsAreEqual := func() {
resp, err := pdHTTPCli.GetStore(ctx, uint64(firstStore.Store.ID))
re.NoError(err)

restartTiUP()
labelsMap := make(map[string]string)
for _, label := range resp.Store.Labels {
re.NotNil(label)
labelsMap[label.Key] = label.Value
}

resp, err = pdHTTPCli.GetStores(ctx)
re.NoError(err)
for _, store := range resp.Stores {
if store.Store.ID == setStore.Store.ID {
for _, label := range store.Store.Labels {
re.Equal(label.Value, storeLabel[label.Key])
}
for key, value := range storeLabels {
re.Equal(value, labelsMap[key])
}
}
// Check the label is set
checkLabelsAreEqual()
// Restart TiUP to reload the label
restartTiUP()
checkLabelsAreEqual()
}

0 comments on commit 8c2bb02

Please sign in to comment.