Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Checklist for device integration testing #1434

Closed
mweinelt opened this issue Jun 13, 2018 · 17 comments
Closed

Checklist for device integration testing #1434

mweinelt opened this issue Jun 13, 2018 · 17 comments
Labels
3. topic: docs Topic: Documentation

Comments

@mweinelt
Copy link
Contributor

mweinelt commented Jun 13, 2018

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 rotanid added the 3. topic: docs Topic: Documentation label Jun 13, 2018
@rotanid
Copy link
Member

rotanid commented Jun 13, 2018

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

@Brother-Lal
Copy link
Contributor

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
Copy link
Contributor

Adorfer commented Jun 14, 2018

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
Copy link
Contributor

Adorfer commented Jun 14, 2018

  • [ ] Config-mode is listeninging on a wired interface
  • [ ] WAN/LAN ports are not inverted by accident. (perhaps change to "working WAN/LAN" to "working LAN/WAN and mapped correctly")

@rotanid
Copy link
Member

rotanid commented Jun 19, 2018

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

@rubo77
Copy link
Contributor

rubo77 commented Jun 20, 2018

- [ ] tested with x clients
- [ ] tested with x neighbors
- [ ] tested with x Mbit throughput

@csamsel
Copy link

csamsel commented Jun 21, 2018

- [ ] tested fastd: x Mbit VPN throughput
- [ ] tested tunneldigger: x Mbit VPN throughput

@T-X
Copy link
Contributor

T-X commented Jun 21, 2018

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
Copy link
Contributor

Brother-Lal commented Jun 21, 2018

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
Copy link

csamsel commented Jun 21, 2018

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
Copy link
Contributor Author

mweinelt commented Jun 21, 2018

My opinion below:

Yay:

  • must be flashable from vendor firmware
    • webinterface
    • tftp
    • other:
  • must support upgrade mechanism
    • must have working sysupgrade
      • must keep/forget configuration (if applicable)
        think sysupgrade [-n] or firstboot
    • must have working autoupdate
      usually means: gluon profile name must match image name
  • wired network
    • should support all network ports on the device
    • must have correct port assignment (WAN/LAN)
  • wifi (if applicable)
    • association with AP must be possible on all radios
    • association with 802.11s mesh must be working on all radios
    • ap/mesh mode must work in parallel on all radios
  • led mapping
    • power/sys led
    • radio leds
      • should map to their respective radio
      • should show activity
    • switchport leds
      • should map to their respective port (or switch, if only one led present)
      • should show link state and activity
  • reset/wps button must return device into config mode
  • primary mac should match address on device label (or packaging) (https://gluon.readthedocs.io/en/latest/dev/hardware.html#notes)

Optional:

  • flash back to stock, no strong opinion on that
    • shouldn't that be a request brought up with openwrt device integrators?

Nay:

  • performance metrics (throughput, client count, neighbour count)
    • they depends on too many variables
    • performance limitations usually result from buying hardware that is too weak (in terms of cpu, memory, radios, antennas, etc.)
    • ...or generic load issues

@skorpy2009
Copy link
Member

skorpy2009 commented Jun 21, 2018

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
Copy link
Contributor

rubo77 commented Jun 21, 2018

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):

  • [] test device while running a lot of traffic

@mweinelt
Copy link
Contributor Author

mweinelt commented Jun 21, 2018

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
Copy link
Member

rotanid commented Jun 21, 2018

i vote for the current proposal by @mweinelt .

@rotanid
Copy link
Member

rotanid commented Aug 23, 2018

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

@rotanid
Copy link
Member

rotanid commented Nov 25, 2018

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

@rotanid rotanid closed this as completed Nov 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. topic: docs Topic: Documentation
Projects
None yet
Development

No branches or pull requests

8 participants