nsfarm issueshttps://gitlab.nic.cz/turris/nsfarm/-/issues2022-06-06T13:58:50+02:00https://gitlab.nic.cz/turris/nsfarm/-/issues/42Add test case for Turris SFP2022-06-06T13:58:50+02:00Josef SchlehoferAdd test case for Turris SFPWe will start selling Turris SFP soon. We need to prepare and write a few tests for it.
Currently, I tested it with Turris OS 5.3.0 and it works. It does not work 6.0.
5.3.
```
[ 10.815637] sfp sfp: module Turris RTSFP-10G...We will start selling Turris SFP soon. We need to prepare and write a few tests for it.
Currently, I tested it with Turris OS 5.3.0 and it works. It does not work 6.0.
5.3.
```
[ 10.815637] sfp sfp: module Turris RTSFP-10G rev A sn 2106090032 dc 31-05-21
[ 10.825000] sfp sfp: unknown connector, encoding 64b66b, nominal bitrate 10.3Gbps +0% -0%
[ 10.833379] sfp sfp: 1000BaseSX- 1000BaseLX- 1000BaseCX- 1000BaseT- 100BaseTLX- 1000BaseFX- BaseBX10- BasePX-
[ 10.843495] sfp sfp: 10GBaseSR+ 10GBaseLR- 10GBaseLRM- 10GBaseER-
[ 10.849775] sfp sfp: Copper length: unsupported/unspecified
[ 10.855539] sfp sfp: Options: txdisable, txfault, los+
[ 10.860863] sfp sfp: Diagnostics: ddm, intcal, rxpwravg
```
6.0.
```
[ 11.323200] sfp sfp: module Turris RTSFP-10G rev A sn 2106090130 dc 210531
[ 16.850760] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[ 16.860034] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[ 16.869662] ath10k_pci 0000:02:00.0: firmware ver 10.2.4-1.0-00047 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 35bd9258
[ 16.920395] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[ 18.060082] ath10k_pci 0000:02:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1
[ 18.184918] usbcore: registered new interface driver option
[ 18.190555] usbserial: USB Serial support registered for GSM modem (1-port)
[ 18.199411] usbcore: registered new interface driver qcserial
[ 18.205222] usbserial: USB Serial support registered for Qualcomm USB modem
[ 18.221074] pci 0000:00:01.0: enabling device (0140 -> 0142)
[ 18.327314] ieee80211 phy1: Atheros AR9287 Rev:2 mem=0xf0b10000, irq=83
[ 18.334541] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 20.914528] mvneta f1034000.ethernet eth2: validation with support 00,00000000,00000000 failed: -22
[ 20.923657] sfp sfp: sfp_add_phy failed: -22
```https://gitlab.nic.cz/turris/nsfarm/-/issues/28Automate flash from the Internet test2021-06-01T22:28:33+02:00Vojtech MyslivecAutomate flash from the Internet testAutomatically test and detect issues with [flash from the Internet reset mode](https://docs.turris.cz/hw/mox/rescue-modes/#flash-from-the-internet)Automatically test and detect issues with [flash from the Internet reset mode](https://docs.turris.cz/hw/mox/rescue-modes/#flash-from-the-internet)https://gitlab.nic.cz/turris/nsfarm/-/issues/35Basic firewall testing2022-03-15T14:38:49+01:00Karel KociBasic firewall testingWe should test firewall.
* [ ] Zone separation and forwarding
* [ ] Port forwarding
* [ ] Block and accept network rule
* [ ] MasquaradeWe should test firewall.
* [ ] Zone separation and forwarding
* [ ] Port forwarding
* [ ] Block and accept network rule
* [ ] Masquaradehttps://gitlab.nic.cz/turris/nsfarm/-/issues/46Black checker complains about invalid usage of None2022-01-18T10:01:02+01:00Karel KociBlack checker complains about invalid usage of None```
nsfarm/lxd/container.py:143: error: Item "None" of "Optional[NetworkInterface]" has no attribute "addresses"
nsfarm/lxd/container.py:144: error: Item "None" of "Optional[NetworkInterface]" has no attribute "interfaces"
nsfarm/web/con...```
nsfarm/lxd/container.py:143: error: Item "None" of "Optional[NetworkInterface]" has no attribute "addresses"
nsfarm/lxd/container.py:144: error: Item "None" of "Optional[NetworkInterface]" has no attribute "interfaces"
nsfarm/web/container.py:62: error: Item "None" of "Optional[NetworkInterface]" has no attribute "proxy"
```https://gitlab.nic.cz/turris/nsfarm/-/issues/32Click through reForis2021-09-07T14:26:39+02:00Karel KociClick through reForisWe should go through all the reForis pages and make sure that they work. This can be a sequence of openning the index, navigating to the tested page and checking some content.We should go through all the reForis pages and make sure that they work. This can be a sequence of openning the index, navigating to the tested page and checking some content.https://gitlab.nic.cz/turris/nsfarm/-/issues/12Connectivity test script tests2021-09-29T15:22:32+02:00Karel KociConnectivity test script testsWe should test that connectivity test script works as expected. This means to break various parts of connection and see if it detects it. Of course we should do that with various wan configurations to prevent possible problems such as ro...We should test that connectivity test script works as expected. This means to break various parts of connection and see if it detects it. Of course we should do that with various wan configurations to prevent possible problems such as route detection for PPPOE and suchhttps://gitlab.nic.cz/turris/nsfarm/-/issues/9Devise tests writing guidelines2021-09-07T14:28:32+02:00Karel KociDevise tests writing guidelinesWe need some general tests writing guidelines to have all parts of test framework somewhat consistent. This should document how tests looklike, what API they can use and how to use it. It should be introduction at the same time as style ...We need some general tests writing guidelines to have all parts of test framework somewhat consistent. This should document how tests looklike, what API they can use and how to use it. It should be introduction at the same time as style definition.
It should document some common patterns found in code and describe why they were used.https://gitlab.nic.cz/turris/nsfarm/-/issues/20Diagnostics testing2019-10-14T17:54:15+02:00Karel KociDiagnostics testingTest that we collect diagnostics as expected. That it collects some essential info and also that it ends.Test that we collect diagnostics as expected. That it collects some essential info and also that it ends.https://gitlab.nic.cz/turris/nsfarm/-/issues/15DNS client tests2019-10-14T17:42:59+02:00Karel KociDNS client testsTest that various clients are able to contact our DNS server. This should be just by installing various DNS resolvers on client and sending it against our router DNS resolver.Test that various clients are able to contact our DNS server. This should be just by installing various DNS resolvers on client and sending it against our router DNS resolver.https://gitlab.nic.cz/turris/nsfarm/-/issues/14DNS uplink tests2021-12-16T17:17:54+01:00Karel KociDNS uplink testsVarious tests of DNS settings
* [ ] using ISP DNS
* [ ] using CZ.NIC
* [ ] using Cloudflare
* [ ] not forwarding
With various broken ISPs:
* [ ] broken DNSSECVarious tests of DNS settings
* [ ] using ISP DNS
* [ ] using CZ.NIC
* [ ] using Cloudflare
* [ ] not forwarding
With various broken ISPs:
* [ ] broken DNSSEChttps://gitlab.nic.cz/turris/nsfarm/-/issues/24Farm rack preparation2021-09-08T10:13:37+02:00Karel KociFarm rack preparationWe now have nice shining (ok not shining) rack to put nsfarm in to. These are steps to get it available to all of us.
![IMG_20191114_153245](/uploads/7bd7316d60068006ef008b81568d7331/IMG_20191114_153245.jpg)
* [x] mount two remaining s...We now have nice shining (ok not shining) rack to put nsfarm in to. These are steps to get it available to all of us.
![IMG_20191114_153245](/uploads/7bd7316d60068006ef008b81568d7331/IMG_20191114_153245.jpg)
* [x] mount two remaining shelf to rack
* [x] get velcro strip to attach the Turris Omnia boxes
* [x] buy 1 m long patch cables (20 pieces) in blue and grey colors (OFC preffered)
* [x] attach the power supplies to the bottom of the shelves
* [ ] move PC to bottom of rack
* [x] install Debian unstable to PC
* ansible PC
* [x] Install and configure LXD for NSFarm
* [x] Create users (at least kkoci and jbetik)
* [x] grand those users access to LXD and to serial devices (groups lxd and dialout)
* [ ] make server accessible trough turris domain (possibly `nsfarm.turris.cz`?)
* [ ] generate central configuration for nsfarm (`/etc/nsfarm.yml`) (blocked by https://gitlab.labs.nic.cz/turris/nsfarm/issues/7)
* [ ] connect and configure both omnias we have so farLukas JelinekLukas Jelinek2020-10-23https://gitlab.nic.cz/turris/nsfarm/-/issues/34Find a better way of obtaining pytest state (`setup`, `call`, `teardown`)2021-08-03T15:59:16+02:00Jan Miksikjan.miksik@nic.czFind a better way of obtaining pytest state (`setup`, `call`, `teardown`)- See `screenshot` fixture in `/conftest.py`
- [ ] check possible solutions and write them down
- [ ] choose a solution or make one. _It would be better to write a small library than to have this._- See `screenshot` fixture in `/conftest.py`
- [ ] check possible solutions and write them down
- [ ] choose a solution or make one. _It would be better to write a small library than to have this._https://gitlab.nic.cz/turris/nsfarm/-/issues/40Fixture client_board should rather return function that opens connections ove...2021-10-21T15:16:46+02:00Karel KociFixture client_board should rather return function that opens connections over single connectionThe current test inherits shell instance from `client_board` that can be tainted by any previous one. There is no reason why we could not open a unique connection (shell instance) for every test.
The implementation has to take into cons...The current test inherits shell instance from `client_board` that can be tainted by any previous one. There is no reason why we could not open a unique connection (shell instance) for every test.
The implementation has to take into consideration that we always have to enter password. The option is either to use ssh agent or master ssh instance.https://gitlab.nic.cz/turris/nsfarm/-/issues/3IPv6 support2022-12-26T15:11:25+01:00Karel KociIPv6 supportWe should test all these IPv6 configuration options:
* [ ] static IPv6 with delegated prefix
* [ ] DHCPv6 without delegated prefix
* [ ] DHCPv6 with delegated prefix
* [ ] 6to4
* [ ] 6in4
IPv4 support is base line and is expected to be ...We should test all these IPv6 configuration options:
* [ ] static IPv6 with delegated prefix
* [ ] DHCPv6 without delegated prefix
* [ ] DHCPv6 with delegated prefix
* [ ] 6to4
* [ ] 6in4
IPv4 support is base line and is expected to be done by just creating NAT layer to emulate some ISP network. In IPv4 network this is expected and normal.
On the other hand the question is how should we test IPv6 network. There is of course possibility that we use practically discouraged IPv6 NAT. This has few advantages such as that it is pretty much same solution as for IPv4 and also that there would probably be lover requirements on host computer (single IPv6 address would be enough, no need to have delegated range). The second option is clean but kind of problematic where PC is going to have delegated range and this is going to be used to delegate additional range to router as well as address of the router and WAN container.https://gitlab.nic.cz/turris/nsfarm/-/issues/50Issue in DHCP tests, that not all IP addresses are assigned2022-01-27T19:56:45+01:00Jan Miksikjan.miksik@nic.czIssue in DHCP tests, that not all IP addresses are assignedIn `tests/network/test_dhcp.py::TestIPv4Addresses::test_dhcp_static_leases` is failing. But when stopped all IP addresses are assigned (or at least last time I checked).
- there may be something like `wait4network` added for each client,...In `tests/network/test_dhcp.py::TestIPv4Addresses::test_dhcp_static_leases` is failing. But when stopped all IP addresses are assigned (or at least last time I checked).
- there may be something like `wait4network` added for each client, after udhcpc restart.
There are also problems with asserts before the final assert (the messages are wrong) and that they sometimes fail.https://gitlab.nic.cz/turris/nsfarm/-/issues/43Medkit cache on USB storage device2022-06-06T13:57:10+02:00Karel KociMedkit cache on USB storage deviceThe idea behind this is to fix these two issues:
* Uboot implementation of TFTP is slow and download of image takes a long time
* In some cases it is not possible to download image at all as we do not have access to network from uboot (...The idea behind this is to fix these two issues:
* Uboot implementation of TFTP is slow and download of image takes a long time
* In some cases it is not possible to download image at all as we do not have access to network from uboot (such as in case of SFP)
The design is to have one USB storage device connected to the board. It has to be formated to FAT32 (so we can read and write files to it from uboot). We can use files on it instead of medkit pushed from network. The idea is to download sha256sum file and use sum from there to see if we don't have it all prepared on cache storage (check that we have files `HASH.{image,dtb,initrd}`). We can use cache if they are there. When they are not available in cache then we have to either download those images to board over network and save them to cache or boot rescue and download images that way and try again. The second approach targets the second issue (the inability to download image from uboot over the network)https://gitlab.nic.cz/turris/nsfarm/-/issues/44Multiple (V)LAN networks DHCP test2022-01-04T15:17:02+01:00Jan Miksikjan.miksik@nic.czMultiple (V)LAN networks DHCP testThere is issue when there are multiple VLANs on router (3 and more) and DHCP server does not assign addresses (JH has the issue).
Generate test with:
- multiple VLANs
- multiple LAN networks
- client or clients to obtain addresses from ...There is issue when there are multiple VLANs on router (3 and more) and DHCP server does not assign addresses (JH has the issue).
Generate test with:
- multiple VLANs
- multiple LAN networks
- client or clients to obtain addresses from different subnets
Possible failure:
- VLAN setting
- DHCP is not somehow working on multiple networks
- DHCP is overwhelmed by amount of clients/traffichttps://gitlab.nic.cz/turris/nsfarm/-/issues/19Netmetr testing2022-06-06T14:26:13+02:00Karel KociNetmetr testingWe should check that netmetr works as expected.
* [ ] do measurement with prepare uuid
* [ ] generate new uuid (and sync code)
* [ ] download resultsWe should check that netmetr works as expected.
* [ ] do measurement with prepare uuid
* [ ] generate new uuid (and sync code)
* [ ] download resultshttps://gitlab.nic.cz/turris/nsfarm/-/issues/16Notification system tests2019-10-14T17:45:34+02:00Karel KociNotification system tests* [ ] test notification creation
* [ ] test notification listing
* [ ] test sending by mail
* [ ] trough turris service
* [ ] trough thirdparty service* [ ] test notification creation
* [ ] test notification listing
* [ ] test sending by mail
* [ ] trough turris service
* [ ] trough thirdparty servicehttps://gitlab.nic.cz/turris/nsfarm/-/issues/13NTP tests2020-07-15T15:15:16+02:00Karel KociNTP testsScrew up time and try to sync it from NTP.
We should do that with both fully working Internet connection as well as with broken DNS (to simulate problems with DNSSEC).Screw up time and try to sync it from NTP.
We should do that with both fully working Internet connection as well as with broken DNS (to simulate problems with DNSSEC).