# 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.