Commit Graph
1604 Commits
Author SHA1 Message Date
Joachim Wiberg cb1054e4a3 .github: use /mnt as output directory for builds
- Clean up any lingering docker images
 - Redirect output to /mnt/$arch-$flavor

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:39:48 +01:00
Joachim Wiberg 24549d149c .github: split into multiple selectable jobs
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:33:22 +01:00
Mattias WalströmandJoachim Wiberg 2bf6ec7d1a test: ipv4_autoconf: Fix racecondition on slow test-PCs
Refactor test, remove fragile solution with tcpdump started AFTER
the linklocal was activated, this opened for a race condition since
it was listening for a message sent once.

Now wait for the linklocal address instead.
2024-02-28 18:25:43 +01:00
Mattias WalströmandJoachim Wiberg ac97ce01a5 test: iface: Fix bug in function address_exist()
did not allow any other protocol to checked except DHCP
2024-02-28 18:25:43 +01:00
Joachim Wiberg a730cc0439 .github: peek & poke
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:24:35 +01:00
Joachim Wiberg 3c8879cbdf .github: take inventory also after checkout & cache restore
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 18:18:40 +01:00
Joachim Wiberg c9dc5b928a .github: check disk
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 17:01:01 +01:00
Joachim Wiberg a9458f79b1 .github: run cleanup *after* taking inventory
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 15:35:49 +01:00
Joachim Wiberg 1b1ca208e1 .github: give Manny a broom
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 15:34:03 +01:00
Joachim Wiberg 5ee342849d .github: add warehouse manager
TODO: add optional cleanup input argument.

[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 15:09:41 +01:00
Joachim WibergandMattias Walström 2bcb02d3ef .github: temporarily disable Infix Classic builds
Debugging build/runner problems with GitHub Actions.  Resolution pending
self-hosted runner becoming operational.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 13:55:57 +01:00
Joachim WibergandMattias Walström c1787622a1 test: fix running on systems without /dev/kvm
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 13:55:57 +01:00
Joachim WibergandMattias Walström e0f97b1840 .github: run regression tests only once, either push or pull-request
Currently the regression tests runs twice when branches and PR:s originate
from the same repo.  This commit adopts a fix suggested at

https://wildwolf.name/github-actions-how-to-avoid-running-the-same-workflow-multiple-times/

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 13:55:57 +01:00
Mattias Walström d1b9f1fb45 Add new test start_from_startup.py to just see that the device can boot from startup config
Useful to run in a loop.
2024-02-28 13:18:51 +01:00
Mattias Walström e77772e8c5 test: usb: Refactor to use a common function to wait boot 2024-02-28 13:18:51 +01:00
Mattias Walström c6d9c68726 Add new function that only waits for boot (reboot) to complete
This since it can take an undefined time to reboot the DUT.
2024-02-28 13:18:51 +01:00
Mattias Walström 103398f070 make run: Increase default memory for qemu
This since the image has gotten larger.
2024-02-28 13:13:32 +01:00
Joachim WibergandMattias Walström 2f844f9ac7 Revert ".github: switch regression test to self-hosted runner"
This reverts commit 4b2acdedc5 since the
self-hosted runner(s) are not yet working properly.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-28 11:21:53 +01:00
Richard AlpeandMattias Walström 27a4278cce statd: add good-octets counters
This patch adds out-good-octets and in-good-octets as augment in
the infix-ethernet-interface yang model. These counters represents
OctetsTransmittedOK and OctetsReceivedOK from ethtool.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-28 11:21:53 +01:00
Joachim Wiberg 3a04bec92d test: drop --interactive in non-interactive docker sessions
With a self-hosted runner we get the following classic error when
calling `make test-unit`:

    make[1]: Entering directory '/home/runner/_work/infix/infix/buildroot'
    /home/runner/_work/infix/infix/test/env /home/runner/_work/infix/infix/test/9pm/9pm.py /home/runner/_work/infix/infix/test/case/all-repo.yaml /home/runner/_work/infix/infix/test/case/all-unit.yaml
    the input device is not a TTY
    make[2]: *** [/home/runner/_work/infix/infix/board/x86_64/board.mk:14: test-unit] Error 1

This patch drops interactive from all non-interactive docker sessions.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 12:33:20 +01:00
Joachim Wiberg 9aa9a60aca test: replace hard-coded dependency on podman in Infamy
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 12:05:31 +01:00
Joachim Wiberg 954d26a7e2 statd: fix build without containers
Some customers do not need, or do not want, to be able to run
containers, so all NETCONF related daemons and applications
need to take this into consideration.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 11:47:07 +01:00
Joachim Wiberg 4b2acdedc5 .github: switch regression test to self-hosted runner
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 11:46:44 +01:00
Joachim Wiberg 0741d2a655 .github: simplify PR template slightly add reminder of YANG changes
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 10:39:22 +01:00
Joachim Wiberg e38063c0ac Minor update/clarification now that content has shifted downwards
[skip ci]

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 10:27:19 +01:00
Joachim Wiberg a2bc3bef61 .github: reduce number of caches required by CI builds
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 10:08:20 +01:00
Joachim Wiberg eceeb8c59f confd: fix cni_popen() when building without container support
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg d12d66b013 package/klish-plugin-sysrepo: display default value in help text
When available, show the default value of a leaf node after the
description when issuing 'help leaf-node'.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg e73742504d Add new intro blurb from homepage to README
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg 6cde353029 Drop unicode from tagline, does not survive syslog
The tagline is read by Finit at boot, from /etc/os-release, and
logged when changing runlevel.  The unicode charachter does not
survive the trip via syslog to log file.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg a9e78aa329 patches/iproute2: backport ip address 'accept symbolic names'
This change completes the backport of symbolic names for ip address
protocol field:

    ip addr add IFADDR proto 5
=>
    ip addr add IFADDR proto dhcp

Ref:
https://lore.kernel.org/netdev/20230602155419.8958-1-stephen@networkplumber.org/

Fix #286

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg 7a52f49c7d execd: fix printf format specifier for systemf()
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg ba76103c7f execd: refactor to autotools
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg b0b1a79aa5 statd: refactor to autotools, same as confd
Fix issue #299

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg 5762a73c45 package/confd: reduce sysrepo default log level
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim Wiberg 4909a9e553 patches: backport finit silence udevd by default
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-27 08:14:41 +01:00
Joachim WibergandTobias Waldekranz 83821def3b confd: always create bridge with default_pvid 0
Fix #310
2024-02-26 16:36:29 +01:00
Richard AlpeandJoachim Wiberg f1ab05a86f yanger: remove stray variables and brackets (cosmetic)
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-26 13:01:06 +01:00
Richard AlpeandJoachim Wiberg 412ee33f09 yanger: fix indentation (cosmetic)
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-26 13:01:06 +01:00
Richard AlpeandJoachim Wiberg 0f3433e9a0 yanger: remove stray semicolons (cosmetic)
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-26 13:01:06 +01:00
Richard AlpeandJoachim Wiberg 807b113d4e yanger: refactor test backend
Simplify the code a bit by passing the test file to the runner
function instead of checking it in every caller.

Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-26 13:01:06 +01:00
Richard AlpeandJoachim Wiberg 5f25c063d5 yanger: introduce main function
Signed-off-by: Richard Alpe <richard@bit42.se>
2024-02-26 13:01:06 +01:00
Joachim Wiberg 5038cd47e5 .github: proposed pull request template/checklist
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg 5386ec9a3a test,doc,board: Infamy Made Easy
As of 4768cae6, we can use conserver/telnet to connect to the docker0
bridge IP:90XX, where XX is DUTXX.  This was a great UX improvement
and this patch set aims to further the experience by:

 - allow running Infamy (infix-test container) completely rootless¹
 - reduce the expsed port range 50->10 (can be improved further)
 - use 'podman --publish-all' ports, which allocates ten random
   ports for the exposed Qemu telnet ports
 - add Quick Start Guide to doc/testing.md

This restores the possiblity of running multiple "make test-sh"
instances, e.g., when multiple users share the same server.

The 'console' script included in this commit uses 'podman inspect' to
find the port number for a given DUT, and optional instance.  It takes
either the console/dut number (1-N), or the dut name from the topology.

Also in this commit:
 - set hostname for easy identification (for console script)
 - set conatainer --name to hostname
 - adjust workdir from buildroot to infix/test
 - simplify PS1 and add time to prompt (when did the test finish?)

When running 'make test-sh' the prompt now tells you which instance you
are running, e.g., infmay10.  Calling 'console 1 infamy10' connects to
console 1 (port 9001) on the infamy10 instance.

For more information, see the Quick Start Guide in doc/testing.md.  It
shows how to use the new helper scripts: console and shell.

Fix #227

_______
¹) devs using podman, instead of docker, with slirp4netns installed, can
   run the infix-test container completely rootless.  We like this, and
   as of today podman is our recommendation.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg 00c2c0c608 test/case: new test, container connected using physical interface
Verifies that a regular/physical port/interface can be handed over to a
container.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg 4856705803 test/case: new test, plain bridge + veth connection for container
Vanilla bridge and veth pair managed entirely by Infix.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg a38f5902c8 test/case: new test, verify connectivity behind docker0 masquerade
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg ec4c1b1d70 test/case: new test, basic container test
- New helper class for container testing
 - New helper class to urllib, Furl

Due to extremely weak Python-fu in the undersigned, this patch changes
the __init__.py file to add new helper classes for container tests.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg bdbbfcb50f test/infamy: improved logging for connect + factory-default
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00
Joachim Wiberg f8b4a858bc test/infamy: pep-8 cleanup and simplification
- Fix most of what pylint complains about
 - Simplify constructs and add missing whitespace
 - Simplify output of YANG model downloader

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-02-25 19:49:27 +01:00