polkadot
polkadot copied to clipboard
Integration test for DB upgrades
In the light of https://github.com/paritytech/polkadot/issues/5168 it would be good to have zombienet tests in place to test DB version upgrades for both rocksdb and paritydb.
cc @pepoviola
Hi @cheme, we can use this config to test a network of two validators, with one validator using paritydb.
[settings]
timeout = 1000
bootnode = false
[relaychain]
default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}"
chain = "rococo-local"
[[relaychain.nodes]]
name = "alice"
args = [ "-lparachain=debug", "--database=paritydb-experimental" ]
[[relaychain.nodes]]
name = "bob"
args = [ "-lparachain=debug" ]
[[parachains]]
id = 100
addToGenesis = false
[[parachains.collator_groups]]
count = 1
[parachains.collator_groups.collator]
name = "collator"
command = "adder-collator"
image = "{{COL_IMAGE}}"
And we can test that both nodes are up and other metric that you need.
Thanks!
@pepoviola we have a paritydb test in our suite right now. I think we just need support to use restard a node with a different image tag in the same test. Are you tracking this feature in Zombienet ?
Hi @sandreim, restarting the node with a diff image tag isn't supported because we don't use any kind of persistence disk for the pods. But we can download the new binary and restart the process (in the same pod) using this new version. I created a PoC in this pr. Let me know what you think.
Thanks!
I don't think we need to persist the data, just changing the binary should be sufficient.
Looks like a good idea to look at this as well https://github.com/paritytech/polkadot/issues/5367 . Sounds like something we could test implicitly based on network config, only that we need more assertions.
ping @cheme/ @dvdplm this should be covered by https://github.com/paritytech/polkadot/pull/5970 Thanks!