Conversation
Use directly the hostname instead of querying for the ip Signed-off-by: pablo <pablo@odkq.com>
Entrypoint calls the json for "in compose" tests Signed-off-by: pablo <pablo@odkq.com>
Dockerfile to create boardfarm docker image and docker-compose.yml with the configuration for boardfarm, controller and extender Signed-off-by: pablo <pablo@odkq.com>
It wraps docker-compose tests - Verifies versions of docker and docker-compose - Creates and launches boardfarm image with the correct environment variables - Cleans images after building - Returns value from boardfarm process inside the image Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
The status are failing in CI. The name of the container was hardcoded by mistake, use docker_name instead. Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: odkq <pablo@odkq.com> Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
rmelotte
left a comment
There was a problem hiding this comment.
Lots of small comments, but I marked most of them as nitpicks because we anyway need a follow-up PR to remove the old boardfarm job among other things.
|
Also I didn't mention it, but flake8 is complaining so you'll have to address that before you can merge: https://gitlab.com/prpl-foundation/prplMesh/-/jobs/674432838 |
|
I also didn't repeat it here (yet?) but in the future please try to describe what you do in the commit description. |
Signed-off-by: pablo <pablo@odkq.com>
Reordered the file with this ordering, from the less likely to change to the most: - Dependencies to install docker and docker-compose - Installation of docker and docker-compose - Installation of boardfarm (from github) - Debian dependencies to install python packages (for tests) - Installation of the python packages (for tests) - Debian dependencies used by the tests themselves Signed-off-by: pablo <pablo@odkq.com>
This change scans prplmesh_config_compose.js for device names and creates the log directory for each of them found. The scanning is also used to look for the previous run ID when running locally, by looking for logs/<first device name>-<X>, and then using X+1 as the new ID. Signed-off-by: pablo <pablo@odkq.com>
|
The boardfarm tests were passing (in the sense that there were 2 failing tests and 2 passing ones, the 2 failing ones were disabled on master) with this commit: Then all 4 started failing, among which initial AP config failed with run-tests however has been failing since the beginning of this branch's history. |
tests/boardfarm_plugins/boardfarm_prplmesh/devices/prplmesh_compose.py
Outdated
Show resolved
Hide resolved
| # NOTE: name arg can be also extracted from the device class itself, but test_flows.py | ||
| # don't have it. We can remove this arg as soon, as we drop test_flows.py | ||
| def __init__(self, name: str, device: None = None, is_controller: bool = False): | ||
| def __init__(self, name: str, device: None = None, is_controller: bool = False, |
There was a problem hiding this comment.
This comment is still required.
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
f383add to
a0d8fe7
Compare
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Use relative path on docker-compose invocation, not using /usr/local/bin/... Signed-off-by: pablo <pablo@odkq.com>
This prevents more than one --clean, --test, --build, etc being ran at the same time Signed-off-by: pablo <pablo@odkq.com>
When working on the docker-compose version of the boardfarm tests, we thought the ALEntity names had to be the same as the name boardfarm uses for boardfarm to be able to access them. It turns out that boardfarm only needs PrplMeshCompose to get its name from the boardfarm configuration file, and the ALEntity can use another one. Since test_flows doesn't pass a "device" parameter when constructing an ALEntity, it HAS to use "name" instead of going through the device to access the docker_name. environment.py: - Use the name of the ALEntityDocker and RadioDocker in instead of accessing "device". prplmesh_compose.py: - When creating the ALEntity, use docker_name as the name to make the different docker commands work. This will make the ALEntity usable again regardless of whether the tests runs with boardfarm or test_flows.py. Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
With apt-get upgrade before Signed-off-by: pablo <pablo@odkq.com>
Renamed CURRENT_UID to CURRENT_UID_GID as suggested and removed CURRENT_ID wich was not used by agent/controller images Signed-off-by: pablo <pablo@odkq.com>
As suggested from PR comment. Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Pass self.docker_name instead of fixed "controller-rme" when performing device_get_info, as suggested by PR comment. Signed-off-by: pablo <pablo@odkq.com>
On prplmesh_compose entry of prplmesh_config_compose.json Signed-off-by: pablo <pablo@odkq.com>
Was removed but it is still pertinent Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
tools/docker/boardfarm-ci/Dockerfile
Outdated
| software-properties-common curl gcc libsnmp-dev wireshark-common tshark \ | ||
| -y && apt-get clean |
There was a problem hiding this comment.
Do we still need wireshark and tshark inside the boardfarm-ci image? We already know that sniffer doesn't work when we try that way. Maybe we can keep it and I'll exclude it in the PR fixing PPM-331.
There was a problem hiding this comment.
Yes, I can think it is better removed on the same branch that is depending on having dumpcap installed alongside python 3.5 on the host for dctest to work (and checking the dependency -- that the executable exists -- as it is done for docker and docker-compose)
Missing the n when restoring the original format string with \n ... Signed-off-by: pablo <pablo@odkq.com>
An unused include and some spacess missing for PEP-8 compliance Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
boardfarm-ci: Merging master into PPM-30-boardfarm-docker-compose Fixing two conflicts in tests/environment.py Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
Signed-off-by: pablo <pablo@odkq.com>
This branch wraps the boardfarm tests using a python 3.5 script, dctest.py, that runs docker-compose.
The script allows for setting up the bridge with the physical device and cleaning up testing images seamlessly.
As the script is not running inside docker itself, it only uses Python 3.5 (introduced in 2015) features and no external libraries.