Commit Graph
2979 Commits
Author SHA1 Message Date
Richard Alpe 39de797b10 test: specify test specification in top suite
Signed-off-by: Richard Alpe <richard@bit42.se>
2025-01-21 15:02:08 +01:00
Richard Alpe de9b1cdd2d CI: Generate and publish 9pm test report
Signed-off-by: Richard Alpe <richard@bit42.se>
2025-01-21 15:02:07 +01:00
Richard Alpe f0c57da4ab test: bump 9pm submodule
Signed-off-by: Richard Alpe <richard@bit42.se>
2025-01-21 15:02:05 +01:00
Mattias WalströmandGitHub b5218f7149 Merge pull request #893 from kernelkit/add-merge-script
Add script for merging defconfigs
2025-01-21 14:39:01 +01:00
Mattias WalströmandGitHub 7cb311b5bc Merge pull request #900 from rical/test-add-git-to-docker
test: add git to docker container
2025-01-21 14:21:52 +01:00
Richard Alpe 254c922254 test: add git to docker container
Intended to be used when fetching version information for the test
report.

Signed-off-by: Richard Alpe <richard@bit42.se>
2025-01-21 14:00:12 +01:00
Mattias Walström 4fb26b1119 Add script to merge defconfigs
Useful to only create a new image with only small diff with for example
aarch64_defconfig.

example:
If the only diff is the VENDOR, instead of KernelKit you want 'foobar'.
create a file with the change:
INFIX_VENDOR="foobar"

and call ./utils/generate-defconfig.sh -b aarch64_defconfig -c foobar-diff.conf -o configs/foobar_defconfig
2025-01-21 13:59:39 +01:00
Mattias WalströmandGitHub ad262459b7 Merge pull request #894 from kernelkit/upgrade-netopeer2
Bump sysrepo, netopeer,libyang and libnetconf2
2025-01-21 11:16:39 +01:00
Mattias WalströmandGitHub 71b89d06d7 Merge pull request #898 from kernelkit/fix-memory-leaks
confd: Fix memory leaks in ietf-system.c
2025-01-21 11:16:22 +01:00
Mattias Walström 72b3058774 confd: Fix memory leaks in ietf-system.c 2025-01-21 10:12:20 +01:00
Mattias Walström 5cc73ab97c Bump sysrepo, netopeer,libyang and libnetconf2
A lot of changes in sysrepo, required to add extra patches (bugfixes) to sysrepo,
sysrepo-cpp and rousette.
2025-01-20 09:18:09 +01:00
Tobias WaldekranzandGitHub 94cd526772 Merge pull request #888 from kernelkit/vxlan
Add simple VXLAN support
2025-01-15 10:36:00 +01:00
Mattias Walström 4782cee201 Add support for simple VXLAN tunnels
This is just a first step to add VXLAN tunnels, much more remains.
Implemented right now is as GRE, local, remote and a VNI.

Also refactor gre_basic and gre_bridged to generic tunnel tests,
the same test now tests VXLAN as well.
2025-01-14 14:31:21 +01:00
Mattias Walström 907401f6f2 generate_spec: Allow to run script manually and show all output 2025-01-14 13:43:59 +01:00
Mattias Walström 9a831217e4 test-specification: Add support for python f-strings in step and description
This is only availible for tests that require paramters. If the test have a
parameter --data the description and test steps can contain {data} which will
be replaced with tha actual data of the parameter data in the test specification.
2025-01-14 10:54:05 +01:00
Joachim WibergandMattias Walström 1aab75d86a test: spec: remove .tmp files when done
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-01-13 20:16:37 +01:00
Tobias WaldekranzandGitHub 147cb713ed Merge pull request #884 from kernelkit/test-spec-ng
Test specification refactor
2025-01-11 23:40:06 +01:00
Mattias Walström 12b6146551 Add new generated specification files 2025-01-10 21:42:10 +01:00
Mattias Walström 29031be4e9 test-specification: Generate test specification from suite file
The suite can also contain meta data for the test specification,
One meta data that is implemented is title, which is used when the
same test code is used twice with parameters.

Also if a test case should not be present in the test specification
for some case. You can add specification: False as meta data.
2025-01-10 21:42:10 +01:00
Mattias Walström b2db59f3bc infamy: Add support for parameters to tests
All test added parameters is required and no default behaviour is allowed.
2025-01-10 21:40:42 +01:00
Tobias WaldekranzandGitHub cf129d1f9c Merge pull request #883 from kernelkit/yanger
Yanger Modularization
2025-01-10 11:21:35 +01:00
Tobias Waldekranz 41b96e8a01 utils/ixyang: Simplify linting of infix YANG models
Usage examples:

Run yanglint on all infix models:

    ixyang check

Lint a single model:

    ixyang lint infix-interfaces

Dump a tree of ietf-interfaces with all infix augments:

    ixyang lint infix-interfaces ietf-interfaces -- -f tree
2025-01-10 10:12:22 +01:00
Tobias Waldekranz 805ddf6c92 utils: Make srop's output directory resolution reusable 2025-01-10 10:12:22 +01:00
Tobias Waldekranz 547a9cd632 yanger: Remove dead code remaining after modularization 2025-01-10 10:12:22 +01:00
Tobias Waldekranz 2ec226640e yanger: Move ietf-{interfaces,routing} implementations to separate modules
Should this have been two commits: yes.

Should we spend time on splitting them after the fact because yours
truly dropped the ball: no.
2025-01-10 10:12:22 +01:00
Tobias Waldekranz a0e4e813dd yanger: Move ietf-ospf implementation to separate module 2025-01-10 09:57:40 +01:00
Tobias Waldekranz 8812ae7052 yanger: Move ietf-hardware implementation to separate module 2025-01-10 09:57:40 +01:00
Tobias Waldekranz 28bf2d6c3c yanger: Move infix-containers implementation to separate module 2025-01-09 23:59:20 +01:00
Tobias Waldekranz dadf0e2d16 yanger: Start the modularization process with ietf-system
The yanger source grown significantly, code is disorganized, the
namespace is all over the place, etc.

Take a stab at remedying the situation by splitting out the individual
YANG models in separate Python modules, starting with ietf-system.
2025-01-09 23:59:20 +01:00
Tobias Waldekranz c4a79766b7 statd: Make sure subpackages in python packages are distributed
Rather than explicitly defining the sources, specify the package names
and let poetry figure out the details. Otherwise, subpackages are not
included, which we want to start using in yanger.
2025-01-09 16:23:26 +01:00
Tobias Waldekranz 385eab2016 statd: Ignore generated Python byte code files
When interactively running, for exampe, yanger interactively from the
source tree, we end up with compiled files in our working tree. Make
sure to ignore these.
2025-01-09 16:02:43 +01:00
Tobias Waldekranz bc33d8bc8a confd: Reactivate supported interface counter in-total-frames
This was always supported, but was accendentally marked as
not-supported.
2025-01-09 16:02:36 +01:00
Tobias Waldekranz 061fa5fc72 confd: Add missing module dependencies
These are also provided by other packages (sysrepo, netopeer, etc.)
but having them in here allows us to lint all of our own models
without the need for a build tree.
2025-01-09 16:02:36 +01:00
Tobias WaldekranzandGitHub ac0acfe7c1 Merge pull request #867 from kernelkit/stp
STP
2025-01-08 11:25:14 +01:00
Tobias Waldekranz f3f313bb98 infamy: Fix default transport selection
Using `sys.argv[0]` does not quite achieve the effect we want, namely
that any (test-case, $PYTHONHASHSEED) tuple should always default to
the same transport.

For example, the following two examples should always use the same
transport:

    $ make PYTHONHASHSEED=1337 test-sh
    infamy0:test$ ./case/ietf_system/hostname/test.py

    $ make PYTHONHASHSEED=1337 test-sh
    infamy0:test$ cd ./case/ietf_system/hostname
    infamy0:hostname$ ./test.py

But, since their argv[0]'s are different, they don't.

Therefore use the _last two components_ of argv[0]'s full path
instead. This should:

- Spread the allocation over an entire suite run, since the
  penultimate component is usually the test name.

- Keep the allocation stable when test code is modified (which is
  common during debugging of failing tests)

- Avoid instabilities stemming from the local storage location (i.e.,
  home directory names etc.)
2025-01-08 10:14:46 +01:00
Tobias Waldekranz 3ef40031dd test: bridge_stp_basic: Add 2025-01-08 10:14:46 +01:00
Tobias Waldekranz 44b60956a8 test: upgrade: Add .gitignore for package symlink 2025-01-08 10:14:46 +01:00
Tobias Waldekranz e4535aa856 test: infamy: Make it easier to resolve mapped port names
The somewhat clumsy construct of resolving a logical port name to its
physical counterpart has been with us from Infamy's inception:

    _, physical_port = env.ltop.xlate(logical_node, logical_port)

This is needlessly verbose. Since devices already have access to the
mappings which applies to it, make them easy to access:

    target = env.attach("target")

    # Get physical port names via the subscript operator
    target["data0"]
2025-01-08 10:14:46 +01:00
Tobias Waldekranz 343400c5fe test: infamy: Default to attaching to DUTs via the "mgmt" port
This convention is now well established, so it seems silly to have to
repeat it in every test.
2025-01-08 10:14:46 +01:00
Tobias Waldekranz bfeeade43b confd: bridge: Add STP/RSTP support 2025-01-08 10:14:46 +01:00
Tobias Waldekranz b425edffce libsrx: Add lyx versions of lyd_find_xpath
- Helper to get a set of nodes, using a formatted path
- Helper to get a single node, using a formatted path
2025-01-08 09:57:55 +01:00
Tobias Waldekranz f041d009b5 defconfig: all: Build mstpd 2025-01-08 09:57:55 +01:00
Tobias Waldekranz 26d06bd13b skeleton: mstpd: Let /sbin/bridge-stp add/remove bridges 2025-01-08 09:57:55 +01:00
Joachim WibergandTobias Waldekranz 9d51470ee2 utils: add srop, for operating on target sysrepo db
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-01-08 09:57:55 +01:00
Tobias WaldekranzandGitHub 49a003088b Merge pull request #881 from kernelkit/gre-tunnels
GRE tunnels
2025-01-07 17:02:37 +01:00
Joachim WibergandMattias Walström c099d887af Add support for GRE tunnels
Basic support GRE and GRETAP tunnels both for IPv4 and IPv6.
Limited support right now, only possible to configure local
ip address and remote ip address.
2025-01-07 15:33:37 +01:00
Mattias Walström 08990556e2 confd: Fix typo in veth code
Should check if any node under veth is changed instead
of peer (does not exist).
2024-12-20 19:47:18 +01:00
Mattias WalströmandGitHub cd5b076751 Merge pull request #879 from kernelkit/update-buildroot
Update buildroot to 2024.02.9
2024-12-20 19:46:23 +01:00
Mattias Walström 081f8e8412 Update buildroot to 2024.02.9 2024-12-20 14:28:02 +01:00
Mattias WalströmandGitHub 465d8cbc82 Merge pull request #838 from kernelkit/add-ssh-config
Add ssh config
2024-12-20 10:44:12 +01:00