Compare commits

...

4 Commits

Author SHA1 Message Date
tycho garen
9bba1c6aa2 foo 2021-10-22 08:09:33 -04:00
tycho garen
26af88ac67 fix compile 2021-10-22 08:08:59 -04:00
tycho garen
919ee5ed17 remove all statesync/catchup 2021-10-22 08:04:54 -04:00
tycho garen
4b75f2eedc e2e: limit scope of test 2021-10-22 07:57:37 -04:00
2 changed files with 32 additions and 30 deletions

View File

@@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
group: ['00', '01', '02', '03']
group: ['00', '01', '02']
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
@@ -34,7 +34,7 @@ jobs:
- name: Generate testnets
working-directory: test/e2e
# When changing -g, also change the matrix groups above
run: ./build/generator -g 4 -d networks/nightly/
run: ./build/generator -g 3 -d networks/nightly/
- name: Run ${{ matrix.p2p }} p2p testnets
working-directory: test/e2e

View File

@@ -14,7 +14,7 @@ var (
// testnetCombinations defines global testnet options, where we generate a
// separate testnet for each combination (Cartesian product) of options.
testnetCombinations = map[string][]interface{}{
"topology": {"single", "quad", "large"},
"topology": {"quad", "large"},
"queueType": {"priority"}, // "fifo"
"initialHeight": {0, 1000},
"initialState": {
@@ -26,32 +26,32 @@ var (
// The following specify randomly chosen values for testnet nodes.
nodeDatabases = weightedChoice{
"goleveldb": 35,
"badgerdb": 35,
"boltdb": 15,
"rocksdb": 10,
"cleveldb": 5,
// "goleveldb": 35,
"badgerdb": 35,
// "boltdb": 15,
// "rocksdb": 10,
// "cleveldb": 5,
}
nodeABCIProtocols = weightedChoice{
"builtin": 50,
"tcp": 20,
"grpc": 20,
"unix": 10,
// "tcp": 20,
// "grpc": 20,
// "unix": 10,
}
nodePrivvalProtocols = weightedChoice{
"file": 50,
"grpc": 20,
"tcp": 20,
"unix": 10,
// "grpc": 20,
// "tcp": 20,
// "unix": 10,
}
nodeMempools = weightedChoice{
"v0": 20,
// "v0": 20,
"v1": 80,
}
nodeStateSyncs = weightedChoice{
e2e.StateSyncDisabled: 10,
e2e.StateSyncP2P: 45,
e2e.StateSyncRPC: 45,
// e2e.StateSyncDisabled: 10,
e2e.StateSyncP2P: 45,
e2e.StateSyncRPC: 45,
}
nodePersistIntervals = uniformChoice{0, 1, 5}
nodeSnapshotIntervals = uniformChoice{0, 5}
@@ -66,9 +66,9 @@ var (
"kill": 0.1,
"restart": 0.1,
}
evidence = uniformChoice{0, 1, 10}
evidence = uniformChoice{0} // , 1, 10
txSize = uniformChoice{1024, 4096} // either 1kb or 4kb
ipv6 = uniformChoice{false, true}
ipv6 = uniformChoice{false} // , true
keyType = uniformChoice{types.ABCIPubKeyTypeEd25519, types.ABCIPubKeyTypeSecp256k1}
)
@@ -128,7 +128,7 @@ func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, er
numValidators = 4
case "large":
// FIXME Networks are kept small since large ones use too much CPU.
numSeeds = r.Intn(1)
numSeeds = 0 // r.Intn(1)
numLightClients = r.Intn(2)
numValidators = 4 + r.Intn(4)
numFulls = r.Intn(4)
@@ -147,14 +147,14 @@ func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, er
// Next, we generate validators. We make sure a BFT quorum of validators start
// at the initial height, and that we have two archive nodes. We also set up
// the initial validator set, and validator set updates for delayed nodes.
nextStartAt := manifest.InitialHeight + 5
// nextStartAt := 0 // manifest.InitialHeight + 5
quorum := numValidators*2/3 + 1
for i := 1; i <= numValidators; i++ {
startAt := int64(0)
if i > quorum && numSyncingNodes < 2 && r.Float64() >= 0.25 {
numSyncingNodes++
startAt = nextStartAt
nextStartAt += 5
// numSyncingNodes++
// startAt = nextStartAt
// nextStartAt += 5
}
name := fmt.Sprintf("validator%02d", i)
node := generateNode(r, manifest, e2e.ModeValidator, startAt, i <= 2)
@@ -184,9 +184,9 @@ func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, er
for i := 1; i <= numFulls; i++ {
startAt := int64(0)
if numSyncingNodes < 2 && r.Float64() >= 0.5 {
numSyncingNodes++
startAt = nextStartAt
nextStartAt += 5
// numSyncingNodes++
// startAt = nextStartAt
// nextStartAt += 5
}
node := generateNode(r, manifest, e2e.ModeFull, startAt, false)
@@ -250,9 +250,11 @@ func generateTestnet(r *rand.Rand, opt map[string]interface{}) (e2e.Manifest, er
// lastly, set up the light clients
for i := 1; i <= numLightClients; i++ {
startAt := manifest.InitialHeight + 5
startAt := manifest.InitialHeight /// + 5
node := generateLightNode(r, startAt+(5*int64(i)), lightProviders)
node := generateLightNode(r,
startAt, // +(5*int64(i)),
lightProviders)
manifest.Nodes[fmt.Sprintf("light%02d", i)] = node