# Staker network TESTING ### Test with global envs (backwards compatibility) **Setup** 1. Select a staker **production** configuration in any network (such as holesky) 2. Install dappmanager update or use dev mode **Test** - [ ] Check logs: docker networks must have been created ```bash docker network ls NETWORK ID NAME DRIVER SCOPE 65dfa2f07400 dncore_network bridge local 4399853f8f5d dnpublic_network bridge local ad61f542c6d2 gnosis_network bridge local 3c2c71cc413f holesky_network bridge local 86117638085a lukso_network bridge local 7f8018147ce0 mainnet_network bridge local 6b3b9ef3cb70 prater_network bridge local ``` - [ ] Staker packages from selected network in previous step must be connected to such network , i.e: ```bash docker network inspect holesky_network ``` ```json "Containers": { "89c18608c8f52c98f70ebe2865620bf4264b5085dcd543a4680a2fd1667bc9bb": { "Name": "DAppNodePackage-brain.web3signer-holesky.dnp.dappnode.eth", "EndpointID": "866aabe036f9861f48d94a56fcacbaf4766e79115561cf4acd7875f9f717aacd", "MacAddress": "02:42:ac:1c:00:06", "IPv4Address": "172.28.0.6/16", "IPv6Address": "" }, "a502fc3ce9d361611ac0d7720530b8f71365a77cac10b4a7ebbb1ddc8e862f88": { "Name": "DAppNodePackage-beacon-chain.prysm-holesky.dnp.dappnode.eth", "EndpointID": "f35e805d55ea7bfcf641b061f8fc8e264471da776e992adc7363149e4d42b297", "MacAddress": "02:42:ac:1c:00:04", "IPv4Address": "172.28.0.4/16", "IPv6Address": "" }, "bf2823a995dee8f837f056eb507fbba8e92c72869ec89b8581429859a1edf68a": { "Name": "DAppNodePackage-geth.holesky-geth.dnp.dappnode.eth", "EndpointID": "de7b5bdb30dc0353e36cb2ef8604b993821bb13d95e4e7446f0bf3a967ddfb4d", "MacAddress": "02:42:ac:1c:00:02", "IPv4Address": "172.28.0.2/16", "IPv6Address": "" }, "c9ec203c7b10ace46f66f43c30a62b5c53d1a69a69d44e946d3d4d5f14c9160f": { "Name": "DAppNodePackage-web3signer.web3signer-holesky.dnp.dappnode.eth", "EndpointID": "baaadffec2a80dcd1fa3aa9edc28e6fb49fefea2fa34d2b3fdcbcb7e1627141f", "MacAddress": "02:42:ac:1c:00:07", "IPv4Address": "172.28.0.7/16", "IPv6Address": "" }, "d502504d002a591e170d98c66e99da1b5e2cff9169f3bac377876a101971a827": { "Name": "DAppNodePackage-mev-boost.mev-boost-holesky.dnp.dappnode.eth", "EndpointID": "97f901709c52f6c24328e1da2b124c7220af1fa2235318bddf714b919c6df6a8", "MacAddress": "02:42:ac:1c:00:08", "IPv4Address": "172.28.0.8/16", "IPv6Address": "" }, "e5cb9384d2f8b5549c5cdacf3da50469dc2b338d543ac5b501c45adf02549b8e": { "Name": "DAppNodePackage-validator.prysm-holesky.dnp.dappnode.eth", "EndpointID": "a4c4477612bf009f2b5498918af1a6020b736e5f90fc475989a50c48a4f1fc91", "MacAddress": "02:42:ac:1c:00:03", "IPv4Address": "172.28.0.3/16", "IPv6Address": "" }, "f8c03ceb467d2740987dfc26e4f6f06725ccaee8df59e5960977493b51d97227": { "Name": "DAppNodePackage-postgres.web3signer-holesky.dnp.dappnode.eth", "EndpointID": "84dcd39f3cceffa651f1c2551e223de8c115f11550bf49ce097e938d4731adbf", "MacAddress": "02:42:ac:1c:00:05", "IPv4Address": "172.28.0.5/16", "IPv6Address": "" } ``` - [ ] Staker packages must have fullnode aliases for both docker networks, specially execution and consensus: ```bash docker inspect --format='{{range $k, $v := .NetworkSettings.Networks}}{{if eq $k "holesky_network"}}{{$v.Aliases}}{{end}}{{end}}' container_name_or_id ``` Result must be: - Execution: - dncore_network -> execution.holesky.dncore.dappnode - holesky_network -> execution.holesky.staker.dappnode - Consensus - dncore_network -> beacon-chain.holesky.dncore.dappnode and validator.holesky.dncore.dappnode - hoelsky_network -> beacon-chain.holesky.staker.dappnode and validator.holesky.dncore.dappnode - [ ] Switch clients in stakers UI. The configuration checked above must have changed to the selected clients so repeat the test. - [ ] Check that the clients (execution and consensus) are connected. - [ ] Update a execution/consensus client and make sure the **compose file configuration** have persisted after the update ### Test without global envs (staker network) **Setup** 1. Install dappmanager update 2. Install all clients from holesky network: - besu ` /ipfs/QmeAra9vSoQ8vzsNP4dkgyyCBt5VUwtw75tVhZSxjmiQQn` - erigon ` /ipfs/QmWAfSqVvoUSYLdNqdZvPqFy271LNZtiRPoKmjTnuY3A8R` - geth `/ipfs/QmTmXSx7akej6ojL3iFKyQ1h6Ae5SgMC74MszRgmyiEFkA` - nethermind `/ipfs/Qme4QouK5xiBJRaJ8WeWo2cqQ1m4XfhMMubguyiYK1CBZt` - lighthouse `/ipfs/Qmay7t4ddmBG32UPhqnE56Ko9EZsTzPTaufNjcFWn92aae` - teku `/ipfs/QmZzzXuuLNki2CzBrHwKpoPX8sVe87PoFWR2yv6CEQB4wD` - nimbus ` /ipfs/QmRcjb8ranoGW1aoCqVcCikxC4tajQA1Pst13244atp3gC` - prysm ` /ipfs/QmQ41t3cZgCvquT6j8ueXdpEuzCojEpQmgqWzk9bL2mxyf` - signer - mevboost **Test** - [ ] Test all clients combinations and make sure that they work as expected: - Check logs - Check docker aliases - Inspect docker networks - Start non-selected consensus and check that there are no issues ### Test release with optional dependencies - [ ] Rollback staker pkgs to production - [ ] Select production staker configuration - [ ] Install staker pkg with optional dependencies: `/ipfs/QmX9ajQTJ1RDvQER96KVn4h9dz4RhN6Cm5GtdfVrRBSVBN` - [ ] Check that after installing previous package: - [ ] The EC and CC keep syncing - [ ] The staker compose configuration of all the clients is correct - [ ] All the clients from the network has been updated fro production to `/ipfs/something` ### Test docker compose edit **Test staker package update** - [ ] Select a staker package combination and force the update of one of the clients (EC or CC) - [ ] Check that the containers are still connected to the staker network - [ ] Check that the compose file still includes the staker network inside the root and the service(s) - [ ] Check dappmanager logs and look for any errors **Test no-network package update** - [ ] Download sepolia geth: http://my.dappnode/installer/dnp/sepolia-geth.dnp.dappnode.eth - [ ] Check what networks are added to its docker compose (dncore only) - [ ] Now install http://my.dappnode/installer/dnp/%2Fipfs%2FQmRFp77RXRCyeGzPeZ3DbNiWZZLNYhzqFRgNTKZ2ePJJHT - [ ] Check that the update has been successful and the networks remain the same in the docker compose and check that the container is connected to the dncore_network with the proper aliases # DMS dashboards fix Test ## Setup - [ ] Uninstall DMS & dappnode exporter packages - [ ] Doublecheck that you dont have exporter manifest available: at http://my.dappnode/package-manifest/dappnode-exporter.dnp.dappnode.eth You should see: _No DNP was found for name dappnode-exporter.dnp.dappnode.eth_ - [ ] Install dappmanager with the fix https://github.com/dappnode/DNP_DAPPMANAGER/releases/tag/v0.2.89 ## Test - [ ] Install DMS through dappstore (this will also install dappnode exporter) - [ ] Once the DMS is installed, check here http://my.dappnode/package-manifest/dappnode-exporter.dnp.dappnode.eth that exporter's manifest includes a "grafanaDashboards" field. It is important to doublecheck that this field is a json array. This means that it should start with "\[" and end with "\]" characters. - [ ] Check that "grafanaDashboards" JSON array has two entries/elements - [ ] Go to http://dms.dappnode/dashboards. Confirm that exporter folder has two dashboards, Host & Docker. - [ ] Install from 0 other packages that also have grafana dashboards, like Prysm holesky (has 1 dashboard) or lighthouse holesky (has 2 dashboards). Doublecheck that these appear in your grafana too - [ ] Install from 0 other packages without dashboards, check that everything went Okay and nothing is broken. This is important to confirm that DMS fix didnt break anything for packages without dashboards.