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

Commit

Permalink
Zombienet: paritydb test (#5310)
Browse files Browse the repository at this point in the history
* Add test

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* gitlab integration

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* tune test

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Try waiting for nodes to be up before checks

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Use js check for paritydb folder

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* artifacts true

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* change error message

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* debug

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* try again

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* use log line contains for test

* bump zombienet verision for test

* Is approval checking lag 0 on rocksdb ?

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* Is approval checking lag 1 with paritydb ?

Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>

* update zombienet test for parityDb

* Update zombienet_tests/misc/0001-check_paritydb.sh

Co-authored-by: Chevdor <chevdor@users.noreply.github.com>

Co-authored-by: Javier Viola <javier@parity.io>
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
  • Loading branch information
3 people authored Jul 18, 2022
1 parent bf54653 commit eed45cf
Show file tree
Hide file tree
Showing 4 changed files with 160 additions and 0 deletions.
28 changes: 28 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -755,6 +755,34 @@ zombienet-test-parachains-upgrade-smoke-test:
tags:
- zombienet-polkadot-integration-test

zombienet-tests-misc-paritydb:
stage: stage3
<<: *kubernetes-env
<<: *zombienet-refs
image: "docker.io/paritytech/zombienet:v1.2.49"
needs:
- job: publish-polkadot-debug-image
- job: publish-test-collators-image
artifacts: true
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
1 change: 1 addition & 0 deletions zombienet_tests/misc/0001-check_paritydb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ls /data/chains/rococo_local_testnet/paritydb/full 2>/dev/null
91 changes: 91 additions & 0 deletions zombienet_tests/misc/0001-paritydb.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
Description: Check that paritydb works without affecting finality lag and block production.
Network: ./0001-paritydb.toml
Creds: config

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 if we are using ParityDB.
validator: log line contains "Database: ParityDb"
validator: run ./0001-check_paritydb.sh within 60 seconds

# 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

# Ensure parachains made some progress.
validator-0: parachain 2000 block height is at least 3 within 30 seconds
validator-0: parachain 2001 block height is at least 3 within 30 seconds
validator-0: parachain 2002 block height is at least 3 within 30 seconds
validator-0: parachain 2003 block height is at least 3 within 30 seconds
validator-0: parachain 2004 block height is at least 3 within 30 seconds
validator-0: parachain 2005 block height is at least 3 within 30 seconds
validator-0: parachain 2006 block height is at least 3 within 30 seconds
validator-0: parachain 2007 block height is at least 3 within 30 seconds
validator-0: parachain 2008 block height is at least 3 within 30 seconds
validator-0: parachain 2009 block height is at least 3 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 parachain_candidate_disputes_total is 0
validator-1: reports parachain_candidate_disputes_total is 0
validator-2: reports parachain_candidate_disputes_total is 0
validator-3: reports parachain_candidate_disputes_total is 0
validator-4: reports parachain_candidate_disputes_total is 0
validator-5: reports parachain_candidate_disputes_total is 0
validator-6: reports parachain_candidate_disputes_total is 0
validator-7: reports parachain_candidate_disputes_total is 0
validator-8: reports parachain_candidate_disputes_total is 0
validator-9: reports parachain_candidate_disputes_total 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"

0 comments on commit eed45cf

Please sign in to comment.