Commit Graph
2358 Commits
Author SHA1 Message Date
Ahmed KaricandTobias Waldekranz ed6f0b4dce test: update ietf_routing .png 2024-09-10 14:59:12 +02:00
Ahmed KaricandTobias Waldekranz 4efe89b3ea test: update ietf_syslog topologies 2024-09-10 14:59:12 +02:00
Ahmed KaricandMattias Walström b963788fbc test: update infix_dhcp test topologies 2024-09-09 19:15:21 +02:00
Mattias WalströmandJoachim Wiberg f5884098fb Bump rousette to latest GIT hash
Since we are using an old GCC we need to add a new requirement for rousette 'date'
this is included in GCC 14+.
2024-09-09 17:02:51 +02:00
Mattias Walström c456fa1c75 test: spec: Update all test specifications with relative path 2024-09-09 15:11:36 +02:00
Mattias Walström d79d6b7f4d test: spec: Always generate specifications with relative path 2024-09-09 15:11:36 +02:00
Mattias Walström 257c2ac3a1 test: case: Use common topologies for some tests
No need to have seperate topology for theese tests
2024-09-09 15:11:36 +02:00
Ahmed KaricandMattias Walström 47bbc1431a test: update ietf_routing test topologies 2024-09-09 11:50:57 +02:00
Ahmed KaricandMattias Walström 77cd7c6860 test/infamy: cosmetic update in topology (.dot) files 2024-09-09 11:50:57 +02:00
Mattias Walström 1b46444e0b doc: Documentation for test specifcation generate 2024-09-06 10:18:16 +02:00
Mattias Walström b47bbf0221 doc: Update developers guide
Add required tools to build the test specification.
2024-09-06 10:18:16 +02:00
Mattias Walström e4e7dbd714 tests: Add test specification
Add minor changes in all testscripts, to add name and description
Add generated test specification
Add generated topology image
2024-09-06 10:18:16 +02:00
Mattias Walström 4e41663987 test: USB: Refactor general USB test
Better instructions means better test specification
Also add header, used when generate test specification.
2024-09-06 10:18:16 +02:00
Mattias Walström 91d6a7be85 test: USB: Add new test to test systems with two USB ports
Break out this from the general USB test. Test if you can
modify the ports independent of eachother.
2024-09-06 10:18:16 +02:00
Mattias Walström b3831ebe9f Add generation of test specification
The test specifcation is written in Asciidoc and is autogenerated from the content
in the test scripts.

Fonts imported from https://github.com/adobe-fonts/source-code-pro/

To generate the test script:

$ make test-spec
2024-09-06 10:18:16 +02:00
Tobias Waldekranz f77f5852c1 confd: Use system timeout value when loading startup/failure
Now that we have a unified timeout value that all front-ends should
honor, make sure to do so when loading startup-config and
failure-config during boot.

This fixes an issue where the system would fallback to failure-config
even though a legitimate startup-config was available, but took more
than 10s to apply.
2024-09-05 23:41:19 +02:00
Tobias Waldekranz 8d13effbe5 confd: Accept a custom timeout when loading startup/failure
This will enable us to align this timeout with the other front-ends in
the system.
2024-09-05 23:41:19 +02:00
Tobias Waldekranz eb3f8ce711 confd: Break out front-end timeout to common environment file
While sysrepo's architecture places the responsibility of choosing a
timeout on each front-end, we want to control it centrally since the
majority of the time is spend actually applying the config to the
system - which is front-end agnostic.

Therefore, create a single definition of the timeout, which can be
included by all front-ends.
2024-09-05 23:41:19 +02:00
Joachim Wiberg 436b9f20f2 doc: open v24.09 release cycle
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 10:38:06 +02:00
Joachim Wiberg 6752ff4d2f cli: regression in ospf show commands
With the recent changes in Infix v24.08 to tighten up permissions, a
regression in the 'show ospf' family of commands was introduced.

This patch adds a 'doas' prefix to all vtysh commands.  The 'doas' tool
wraps sudo in a way such than unauthorized users do not get a sudo error
thrown as result.

A better fix might be to either include all admin group users also in
the UNIX group 'frrvty', or even better, change the default group of
vtysh to 'wheel'.  Affected files are /etc/frr/vtysh.conf and all
/run/frr/*.vty sockets, the latter are created at runtime by zebra,
ospfd, etc.  This require modifying the buildroot/package/frr/frr.mk
file, which unfortunately have the group hard coded.

    admin@R2:~$ ls -l /etc/frr/vtysh.conf
    -rw-r-----    1 frr      frrvty    32 Sep  3 05:27 /etc/frr/vtysh.conf

    admin@R2:~$ ls -l /run/frr/*.vty
    srwxrwx---    1 frr      frrvty     0 Sep  5 04:37 /run/frr/ospfd.vty
    srwxrwx---    1 frr      frrvty     0 Sep  5 04:37 /run/frr/zebra.vty

Fixes #601

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 10:38:06 +02:00
Joachim Wiberg d856fc8dbc board/common: shellcheck fixes to 'doas' sudo wrapper
Passing $@ to sudo requires quoting to prevent splitting arguments like
this:

    admin@R2:~$ doas vtysh -c 'show ip ospf routes'
    % Command incomplete: show

After this patch:

    admin@R2:~$ doas vtysh -c 'show ip ospf route'
    ============ OSPF network routing table ============
    N    192.168.50.0/24       [1] area: 0.0.0.0
			       directly attached to e7

    ============ OSPF router routing table =============
    R    192.168.100.1         [1] area: 0.0.0.0, ASBR
			       via 192.168.50.1, e7

    ============ OSPF external routing table ===========
    N E2 192.168.10.0/24       [1/20] tag: 0
			       via 192.168.50.1, e7
    N E2 192.168.100.1/32      [1/20] tag: 0
			       via 192.168.50.1, e7

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 10:38:06 +02:00
Joachim Wiberg 56a12d13c4 .github: show size of resulting build tree
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg ba1143cf9b .github: allow defconfig control using manual dispatch
Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg 7ddef25013 .github: control defconfig using pull request labels
Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg 89f6a8f0fb .github: derive build flavor from branch name
Always build the minimal flavor for branches != main, otherwise use the
default defconfigs so latest build has the correct image.

Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg fb96888538 .github: switch default builds to minimal defconfigs
Issue ##597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg 53df903689 test: skip container tests if target lacks support
Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg 804df9373f test: adjust hard-coded transports
RESTCONF, or NETCONF, may not always be available.  Break out and
refactor transport detection/reachability.

NOTE: The shared code paths between wait.py and util.py:wait_boot()
      have been refactored as well to reduce code duplication.

Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg f071dacf8b test: add __str__ to Device class for reading device name
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg a69f1c9272 test: autodetect available transports from .config
With the addition of minimal defconfigs without RESTCONF support, detect
transport when 'make test' and 'make test-sh' are called.

We set the new variable INFAMY_TRANSPORT so Infamy can detect protocol
also when in interactive test mode ('make test-sh').

Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg 5e03b20bb2 test: minor, cleanup & pep-8 fixes
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg 12b62f7803 configs: add minimal defconfigs for tier one platforms
Fixes #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg 09e8fad970 configs: pristine copies for minimal build
The name 'minimal' was chosen after a long AFK discussion where names
like 'generic', 'reference', 'testing', 'mod', and others were tossed
around and quickly discarded.

The minimal name can also be extended upon in customer trees, e.g., a
aarch64_minimal_styx_defconfig would indicate something built on the
upstream minimal Aarch64 build of Infix, but with Styx additions.

Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg d0f3a5c8b4 board/common: include .config as /usr/share/infix/config.gz
Issue #597

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Joachim Wiberg b363d0f0f7 doc: update, INFIX_TESTS=.. -> TESTS=..
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-05 07:04:58 +02:00
Tobias Waldekranz 24fe4e2d4d utils/gh-dl-artifact.sh: Add support script to download artifacts
This will make it easier to locally test images when reviewing PRs,
and will also be a useful tool when running tests on physical test
rigs.

[skip ci]
2024-09-04 15:37:48 +02:00
Ahmed KaricandMattias Walström 46ad19793b test: refactor test environment 2024-09-03 12:13:32 +02:00
Joachim Wiberg e7c9f59582 confd: unchecked return value from remove()
Not much we can do, other than log and report.

Found by Coverity Scan

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-02 11:18:27 +02:00
Joachim Wiberg 480172612a confd: fix possible NULL pointer dereference
The srx_get_str() function may return NULL, which goes unchecked in
both fxlate() and sxlate(), as well as the calls to free().

Found by Coverity Scan

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-02 11:18:27 +02:00
Joachim Wiberg b1d69b69a7 confd: minor, reduce complexity
- Silence linter, add braces
 - Unindent code block to reduce complexity

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-02 11:18:27 +02:00
Joachim Wiberg 3c3c3c95f2 confd: reduce scope of local variables
Found by clang-tidy

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-02 11:18:27 +02:00
Joachim Wiberg ca310589ad confd: fix variable overloading, global xpath unused
Found by clang-tidy

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-02 11:18:27 +02:00
Joachim Wiberg 5baec171c2 confd: constify, found by clang-tidy
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-09-02 11:18:27 +02:00
Mattias Walström dc4c38ede6 test: Adapt tests/infamy for the new test config
Instead of copy factoy config to reset between tests,
use the new test-config.cfg.

Change the logic in the factory config since the default values have changed.
2024-08-30 17:40:02 +02:00
Mattias Walström 3c045460ef Add implementation to control test mode functions using an action
This intoduce a new sysrepo plugin to handle a new YANG
model 'infix-test'. Today only contains the actions.

This is required to run tests on infix using infamy.

This is a part of #561

Signed-off-by: Mattias Walström <lazzer@gmail.com>
2024-08-30 17:40:02 +02:00
Joachim Wiberg 8a09b3e22c confd: fix audit logs using proper facility
The LOG_SECURITY facility was set wrong (1 << 13) instead of (13 << 3), see
https://github.com/kernelkit/sysklogd/blob/0fc6656/src/syslog.h#L120 for
details.  This caused all audit log messages to be logged in LOG_USER.

Also, rename LOG_SECURITY -> LOG_AUDIT and log macro SECURITY() -> AUDIT()
to match RFC5424 terminology.

Similar fix to sysrepo, LOG_AUDIT facility instead of daemon + WARNING.
Additionally, drop the leading [severity] prefix to sysrepo logs.  Only
needed when logging to stdout.

Follow-up to issue #521

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
v24.08.0-rc1 v24.08.0
2024-08-30 15:29:11 +02:00
Joachim Wiberg 7d95da7657 confd,statd: fix invalid option to openlog()
LOG_DAEMON is a facility not an option.  Replace with NDELAY option and
set facility properly in call to openlog() instead.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-08-30 15:29:11 +02:00
Joachim Wiberg cf1c4c32f1 board/common: disable unused pam_lastlog.so from PAM login
Fixes the following recurring login warning in syslog.  (We cannot use
pam_lastlog.so since it does not rotate its /var/log/lastlog file.)

login[2819]: PAM unable to dlopen(/lib/security/pam_lastlog.so): /lib/security/pam_lastlog.so: cannot open shared object file: No such file or directory

Follow-up to issue #542

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-08-30 15:29:11 +02:00
Joachim Wiberg e0483be38c Update ChangeLog for v24.08.0 release
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-08-30 15:29:11 +02:00
Joachim Wiberg 773ee7f479 confd: drop local aliases for "audit" and "cron2"
The backported patches to sysklogd now support the RFC facilities
natively, so we can focus on local facilities (and 'all').

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2024-08-30 15:29:11 +02:00