freifunk-gluon / gluon

a modular framework for creating OpenWrt-based firmwares for wireless mesh nodes
https://gluon.readthedocs.io
Other
551 stars 325 forks source link

Checklist for device integration testing #1434

Closed mweinelt closed 5 years ago

mweinelt commented 6 years ago

What needs to be verified to do integration testing for a new device. Let's create a checklist.

@Brother-Lal wanted to take care of that.

Make use of our notes from the meeting here: https://md.darmstadt.ccc.de/gluon-device-support-policy#

rotanid commented 6 years ago

additional ideas for this from my forum post: https://forum.freifunk.net/t/archer-c7-v-4-0/16384/7

Brother-Lal commented 6 years ago

Checklist for now:

- [ ] Flash from stock possible
- [ ] Flash back to stock possible
- [ ] sysupgrade is working (check with flashing + erasing settings)
- [ ] autoupdater working (implied by sysupgrade working?)
- [ ] Working WAN/LAN Ports + associated LED(s)
- [ ] Wifi LED working and blinking
- [ ] Wifi: 11s and AP Mode working in tandem / at least one of them
- [ ] Is there a possibility for user triggered reset (button,POE-Reset, etc)
- [ ] MAC: Is the official MAC(usually wlan0) the same as printed on the device/packaging?
- [ ] ... More?

Any other additions I might have missed?

Adorfer commented 6 years ago

MAC: clarifiy this point that this should be checked like "idem to meshid" (=default routername-suffix, i do not know how this will be on the map for babel)

Adorfer commented 6 years ago
rotanid commented 6 years ago

@blocktrron @achterin maybe you can contribute to the suggested checklist

rubo77 commented 6 years ago
- [ ] tested with x clients
- [ ] tested with x neighbors
- [ ] tested with x Mbit throughput
csamsel commented 6 years ago
- [ ] tested fastd: x Mbit VPN throughput
- [ ] tested tunneldigger: x Mbit VPN throughput
T-X commented 6 years ago

Throughput tests sounds like a nice idea! However I think we would need to specify and document how to do them then as we would otherwise get varying results.

Brother-Lal commented 6 years ago

Throughput tests will vary with several factor: MTU,bandwidth available, encryption, load on gateways, etc... I wouldn't add that, as it's really depending on too many factors. A general area (10-13 MBits) would be ok, but not really dependable anyway.... The same with the clients, neighbours and different VPNs - without a real world scenario over a good timeframe (2/3 weeks) no conclusions can be drawn.

So, in my opinion: stick to basic yes/no function tests

csamsel commented 6 years ago

Throughput is a dealbreaker. If everything works in principle, but you can only achieve 2 mbit/s, the node is not usable. Sure you could change the question to

[ ] VPN throughput at least 10 mbit/s

but you'll have to measure it anyways. Might as well enter result then.

mweinelt commented 6 years ago

My opinion below:

Yay:

Optional:

Nay:

skorpy2009 commented 6 years ago

First a comment on @mweinelt:
wired network: should correctly map LEDs to ports: In my opinion all LEDs should be mapped correctly.
primary mac should match address on device (or packaging)

rubo77 commented 6 years ago

Nay=No?

About throughput: I think it is important to test not the throughput, but test if the device is not crashing once there is much load (for example the Fonera Router runs fine with all tests, but it crashes, as soon as there are more than some clients and they start causing traffic):

mweinelt commented 6 years ago

I'd like the developers to focus on getting devices to work. The userbase should start testing that integration asap and report back issues. The userbase are many people that can far better find bottlenecks. I'd like to remind you of #125 where a proper limit to client counts couldn't be found as there are too many variables to that.

rotanid commented 6 years ago

i vote for the current proposal by @mweinelt .

rotanid commented 6 years ago

current status: we decided to put the checklist on github as part of a pull request template, see #1433 for progress on this

rotanid commented 5 years ago

fixed by adding it to the gluon github wiki: https://github.com/freifunk-gluon/gluon/wiki/Device-Integration-checklist ( done by @mweinelt )