Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Zombienet: paritydb test #5310

Merged
merged 18 commits into from
Jul 18, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -729,6 +729,33 @@ zombienet-tests-parachains-disputes:
tags:
- zombienet-polkadot-integration-test

zombienet-tests-misc-paritydb:
stage: stage3
image: "${ZOMBIENET_IMAGE}"
<<: *kubernetes-env
<<: *zombienet-refs
needs:
- job: publish-polkadot-debug-image
- job: publish-test-collators-image
variables:
GH_DIR: "https://github.com/paritytech/polkadot/tree/${CI_COMMIT_SHORT_SHA}/zombienet_tests/misc"
before_script:
- echo "Zombie-net Tests Config"
- echo "${ZOMBIENET_IMAGE_NAME}"
- echo "${PARACHAINS_IMAGE_NAME} ${PARACHAINS_IMAGE_TAG}"
- echo "${GH_DIR}"
- export DEBUG=zombie,zombie::network-node
- export ZOMBIENET_INTEGRATION_TEST_IMAGE=${PARACHAINS_IMAGE_NAME}:${PARACHAINS_IMAGE_TAG}
- export COL_IMAGE=${COLLATOR_IMAGE_NAME}:${COLLATOR_IMAGE_TAG}
script:
- /home/nonroot/zombie-net/scripts/ci/run-test-env-manager.sh
--github-remote-dir="${GH_DIR}"
--test="0001-paritydb.feature"
allow_failure: false
retry: 2
tags:
- zombienet-polkadot-integration-test

zombienet-tests-malus-dispute-valid:
stage: stage3
image: "${ZOMBIENET_IMAGE}"
Expand Down
102 changes: 102 additions & 0 deletions zombienet_tests/misc/0001-paritydb.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
Description: Check that paritydb works without affecting finality lag and block production.
Network: ./0001-paritydb.toml
Creds: config

# Check configuration enables ParityDB.
validator-0: log line contains "💾 Database: ParityDb"
validator-1: log line contains "💾 Database: ParityDb"
validator-2: log line contains "💾 Database: ParityDb"
validator-3: log line contains "💾 Database: ParityDb"
validator-4: log line contains "💾 Database: ParityDb"
validator-5: log line contains "💾 Database: ParityDb"
validator-6: log line contains "💾 Database: ParityDb"
validator-7: log line contains "💾 Database: ParityDb"
validator-8: log line contains "💾 Database: ParityDb"
validator-9: log line contains "💾 Database: ParityDb"

validator-0: is up
validator-1: is up
validator-2: is up
validator-3: is up
validator-4: is up
validator-5: is up
validator-6: is up
validator-7: is up
validator-8: is up
validator-9: is up

# Check authority status and peers.
validator-0: reports node_roles is 4
validator-1: reports node_roles is 4
validator-2: reports node_roles is 4
validator-3: reports node_roles is 4
validator-4: reports node_roles is 4
validator-5: reports node_roles is 4
validator-6: reports node_roles is 4
validator-7: reports node_roles is 4
validator-8: reports node_roles is 4
validator-9: reports node_roles is 4

# Ensure parachains are registered.
validator-0: parachain 2000 is registered
validator-0: parachain 2001 is registered
validator-0: parachain 2002 is registered
validator-0: parachain 2003 is registered
validator-0: parachain 2004 is registered
validator-0: parachain 2005 is registered
validator-0: parachain 2006 is registered
validator-0: parachain 2007 is registered
validator-0: parachain 2008 is registered
validator-0: parachain 2009 is registered

# Check if network is fully connected.
validator-0: reports peers count is at least 19 within 20 seconds
validator-1: reports peers count is at least 19 within 20 seconds
validator-2: reports peers count is at least 19 within 20 seconds
validator-3: reports peers count is at least 19 within 20 seconds
validator-4: reports peers count is at least 19 within 20 seconds
validator-5: reports peers count is at least 19 within 20 seconds
validator-6: reports peers count is at least 19 within 20 seconds
validator-7: reports peers count is at least 19 within 20 seconds
validator-8: reports peers count is at least 19 within 20 seconds
validator-9: reports peers count is at least 19 within 20 seconds

# Wait for progress.
sleep 120 seconds

# Ensure parachains made progress.
validator-0: parachain 2000 block height is at least 10 within 30 seconds
sandreim marked this conversation as resolved.
Show resolved Hide resolved
validator-0: parachain 2001 block height is at least 10 within 30 seconds
validator-0: parachain 2002 block height is at least 10 within 30 seconds
validator-0: parachain 2003 block height is at least 10 within 30 seconds
validator-0: parachain 2004 block height is at least 10 within 30 seconds
validator-0: parachain 2005 block height is at least 10 within 30 seconds
validator-0: parachain 2006 block height is at least 10 within 30 seconds
validator-0: parachain 2007 block height is at least 10 within 30 seconds
validator-0: parachain 2008 block height is at least 10 within 30 seconds
validator-0: parachain 2009 block height is at least 10 within 30 seconds


# Check lag - approval
validator-0: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-1: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-2: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-3: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-4: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-5: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-6: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-7: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-8: reports polkadot_parachain_approval_checking_finality_lag is 0
validator-9: reports polkadot_parachain_approval_checking_finality_lag is 0

# Check lag - dispute conclusion
validator-0: reports polkadot_parachain_disputes_finality_lag is 0
sandreim marked this conversation as resolved.
Show resolved Hide resolved
validator-1: reports polkadot_parachain_disputes_finality_lag is 0
validator-2: reports polkadot_parachain_disputes_finality_lag is 0
validator-3: reports polkadot_parachain_disputes_finality_lag is 0
validator-4: reports polkadot_parachain_disputes_finality_lag is 0
validator-5: reports polkadot_parachain_disputes_finality_lag is 0
validator-6: reports polkadot_parachain_disputes_finality_lag is 0
validator-7: reports polkadot_parachain_disputes_finality_lag is 0
validator-8: reports polkadot_parachain_disputes_finality_lag is 0
validator-9: reports polkadot_parachain_disputes_finality_lag is 0
40 changes: 40 additions & 0 deletions zombienet_tests/misc/0001-paritydb.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
[settings]
timeout = 1000
bootnode = true

[relaychain.genesis.runtime.runtime_genesis_config.configuration.config]
max_validators_per_core = 1
needed_approvals = 3

[relaychain]
default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}"
chain = "rococo-local"
chain_spec_command = "polkadot build-spec --chain rococo-local"
default_command = "polkadot"

[relaychain.default_resources]
limits = { memory = "4G", cpu = "2" }
requests = { memory = "2G", cpu = "1" }

[[relaychain.node_groups]]
name = "validator"
count = 10
args = ["-lparachain=debug", "--db=paritydb"]

{% for id in range(2000,2010) %}
[[parachains]]
id = {{id}}
addToGenesis = true
genesis_state_generator = "undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}"
[parachains.collator]
name = "collator"
image = "{{COL_IMAGE}}"
command = "undying-collator"
args = ["-lparachain=debug", "--pov-size={{10000*(id-1999)}}", "--parachain-id={{id}}", "--pvf-complexity={{id - 1999}}"]

{% endfor %}

[types.Header]
number = "u64"
parent_hash = "Hash"
post_state = "Hash"