This repository has been archived by the owner on Sep 7, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 32
test_flows for ap-metrics-response as part of the refactoring #1442
Closed
RanRegev
wants to merge
28
commits into
refactor/ap_link_metrics_isolated
from
refactor/ap_link_metrics_isolated_tests
Closed
test_flows for ap-metrics-response as part of the refactoring #1442
RanRegev
wants to merge
28
commits into
refactor/ap_link_metrics_isolated
from
refactor/ap_link_metrics_isolated_tests
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Vitaly Bukhovsky <[email protected]>
According to the test plan and source code create the UML diagram which describes data flow and methods for Backhaul STA steering. Signed-off-by: Vladyslav Tupikin <[email protected]>
Add "prplWRT" device "rax40-1" to boardfarm config. In order to this config to work, you have to: 1. Create docker bridge network with name "prplMesh-net-rax40-1". `docker network create --driver=bridge prplMesh-net-rax40-1` 2. Include interface connected to the board in docker network. `ip link set $RAX40_IFACE master $DOCKER_BRIDGE` 3. Config relies on RAX40 consoles to be at "/dev/ttyUSB0". You may have to adjust this path to fit your system. Those steps are required, as regular user is not permitted to attach interfaces to the bridge. Signed-off-by: Anton Bilohai <[email protected]>
Add prplWRT class which represents device running prplWRT with prplMesh installed. This class has required methods to init the board and execute InitialApConfig test on board. Signed-off-by: Anton Bilohai <[email protected]>
prplWRT entities are not debugged, as there was no way to test them at the moment of commit. `_device_wait_for_log` method: count in start_line given to it, format return as it's expected by callers. `ALEntityPrplWrt` constructor: get main bridge name from config. Parse output of console in Python to be less dependent on board. `RadioHostapd` constructor: remove usage of `ip -o` as `-o` option is bugged on RAX40 and mutes output of `ip` command. Signed-off-by: Anton Bilohai <[email protected]>
Currently, test is trying to match r".* Controller configuration \(WSC M2 Encrypted Settings\)") which is greedy and captures all chars before key message. Chars captured by `.*` are not important for us. Get rid of `.*` in the beginning of regex. Reorder expected logs to match them in right order. Signed-off-by: Anton Bilohai <[email protected]>
Currently, boardfarm tests are using UART (serial) connection as main channel to interact with the board. Sadly, but UART on RAX40 board frequently suffers from tty overruns. Hence, tests are frequently failed due to corrupted input line. Moving to ssh as primary channel resolves issue above. It's faster, so chance of meeting input overruns is significantly low. But, via ssh we are unable to see logs from the Intel WiFi driver. Logs from the driver are used to detect when device has prplMesh in operational state. As those logs are not longer shown, we have to come up with other way to check when prplMesh is operational. Add fallback mechanism: if IP address of DUTs wan is not set - retrieve IP subnet from docker network of set up and choose .245 address. This configuration happens over UART. Move from UART to SSH as primary communication channel. Add prplmesh_status_check method to tests, to check if prplMesh on device is operational. Signed-off-by: Anton Bilohai <[email protected]>
Teardown section of InitialAPConfig test introduced by port of this test to prplWRT devices is incompatible with dockerized devices. It uses `device.send` method which is not available for docker devices. Also, prplmesh_status_check method isn't working for docker devices due to missing link between AlEntityDocker and PrplMeshDocker device. Following EAFP strategy, surround sent of Ctrl+C in try-catch block. Add link between AlEntityDocker and PrplMeshDocker as it done for prplWRT device and restore prplmesh_status_check method functionality. Signed-off-by: Anton Bilohai <[email protected]>
ghost
added this to the M3 - Workable product milestone
Jun 17, 2020
Modify transport to include which interface the message was received on. Interface index will later be stored in topology database whenever a Topology Discovery message is received. Signed-off-by: Mario Maz <[email protected]>
When processing Topology Discovery message we must store the IEEE 1905.1 AL MAC address of the transmitting device together with the MAC address of the interface on which the message is transmitted and the interface on which such message is received. Currently we are storing AL MAC address only. This additional information is required to build Topology Response and Link Metric Response messages properly. Signed-off-by: Mario Maz <[email protected]>
SStaStats values were not initialized, which could have lead to unexpected results if they are read before being assigned to. Signed-off-by: Raphaël Mélotte <[email protected]>
The previous parsing of SNR and ShortTermRSSIAverage was failing, leading to a segmentation fault of beerocks_fronthaul. Parse them as strings instead. Since they contain space-separated values, split them later. Fixes #1438 MAP-4.3.2_ETH_FH24G:netgear-rax40 Signed-off-by: Raphaël Mélotte <[email protected]>
Latest changes introduced dependecies to new tools that are not currently installed in the devcontainer. Install the missing tools as part of the creation of the devcontainer. Signed-off-by: Vitaly Bukhovsky <[email protected]>
Change beerocks_monitor attach tasks to beerocks_fronthaul Signed-off-by: Vitaly Bukhovsky <[email protected]>
arnout
reviewed
Jun 18, 2020
@@ -2201,6 +2208,7 @@ bool backhaul_manager::handle_1905_1_message(ieee1905_1::CmduMessageRx &cmdu_rx, | |||
} | |||
case ieee1905_1::eMessageType::MULTI_AP_POLICY_CONFIG_REQUEST_MESSAGE: { | |||
return handle_multi_ap_policy_config_request(cmdu_rx, src_mac); | |||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you make a small PR with just this fix?
here:
#1451
|
github.com/prplfoundation/prplMesh/pull/1451
|
fixed a strange code in handle_1905_1_message's switch case Signed-off-by: Ran Regev <[email protected]>
This is a preparative commit for "common: prplmesh_utils.sh: use BML for operational check" Add execute BML function Signed-off-by: itay elenzweig <[email protected]>
prplmesh_utils.sh status returns an operational status determined by parsing the logs. In some platforms logs wrap around could return "fail" status although system is operational state. To resolve this issue, the status check should use the BML command bml_get_device_operational_radios which returns the status of the current device using the bridge's MAC address. Use BML to check operational status Signed-off-by: itay elenzweig <[email protected]>
Currently prplmesh_utills.sh stop sends SIGKILL to all processes. Since SIGKILL cannot be handled monitor/agent/controller processes are not shutdown properly. As a result old wpa ctrl socket are not detached and files are not deleted. Change killall_program() to send SIGTERM instead on default. Signed-off-by: Alex Kanter <[email protected]>
RanRegev
force-pushed
the
refactor/ap_link_metrics_isolated_tests
branch
2 times, most recently
from
June 21, 2020 09:44
bb289e6
to
ea92e3c
Compare
We have a requirement for mergify that no status checks should fail. This is kind of redundant, because mergify will only do the merge if no *required* status checks fail anyway. Since we now have a non-required status check (UTAF) that often fails, we really need to remove that redundant requirement. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
Change the type of field tlv_mac_tlv from tlvAlMacAddressType to tlvMacAddress. Note that this change does not affect to autogenerated files nor to source code. Signed-off-by: Mario Maz <[email protected]>
No TLV type ends with prefix 'Type' except this one. Rename it to look like the rest of TLVs Signed-off-by: Mario Maz <[email protected]>
Method linux_get_iface_index() is a wrapper for if_nametoindex but return types differ. Change return type of linux_get_iface_index from int to uint32_t and also write a message to log in case of error. This is a preparatory commit. This method is currently not used but it will be in next commits. Signed-off-by: Mario Maz <[email protected]>
Add new iface_name parameter to send_cmdu() functions to specify on which interface the transport should send given CMDU. This is a preparatory commit to later implement neighbor multicast of Topology Discovery message. Signed-off-by: Mario Maz <[email protected]>
Currently, we sent a single Topology Discovery message through the bridge. However, according to IEEE1905.1, the message should include a MAC Address TLV which contains the address of the interface on which you send the message. Thus, a different message should be sent on each interface. Therefore, the agent should send a separate Discovery message on each interface. Signed-off-by: Mario Maz <[email protected]>
For auto-generating TLV for Backhaul STA Steering Request/Response needs to add yaml files to the tlv_conf.yaml. It is turning on auto-generation code from those TLV. Signed-off-by: Vladyslav Tupikin <[email protected]>
In the method parseNextTlv() missing cases for Backhaul STA Steering Request/Response TLV's. Add missing cases with correct values for message types. Signed-off-by: Vladyslav Tupikin <[email protected]>
RanRegev
force-pushed
the
refactor/ap_link_metrics_isolated_tests
branch
from
June 22, 2020 13:26
7fabb41
to
59e3336
Compare
…SAGE Create new class ExpectedApMetricsResponse for easy handling of the logic of AP Metrics query and response. The class saves the expected bssids responses and collect them together before sending the combined response to the controller Signed-off-by: Vladyslav Tupikin <[email protected]> Signed-off-by: Ran Regev <[email protected]>
added test for ap metrics query/response tests that there is exactly one response from each agent within the time of the interval MAP-4.7.4_ETH_FH24G:netgear-rax40 MAP-4.7.4_ETH_FH5GL:netgear-rax40 MAP-4.7.4_ETH_FH5GH:netgear-rax40 MAP-4.7.5_ETH_FH24G:netgear-rax40 MAP-4.7.5_ETH_FH5GL:netgear-rax40 MAP-4.7.5_ETH_FH5GH:netgear-rax40 MAP-4.7.6_ETH_FH24G:netgear-rax40 MAP-4.7.6_ETH_FH5GL:netgear-rax40 MAP-4.7.6_ETH_FH5GH:netgear-rax40
RanRegev
force-pushed
the
refactor/ap_link_metrics_isolated_tests
branch
from
June 22, 2020 14:22
59e3336
to
4207979
Compare
This PR is too messy. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
added first few lines:
confing request and checking for ACK
the test fails at the moment