| Age | Commit message (Collapse) | Author |
|
The s390x netboot initramfs ships virtio_net but not virtio_blk; the
block driver only becomes available after the modloop image is
downloaded over the network at boot. When that download fails, sshd
still comes up but /dev/vda never appears and setup-disk dies with
"/dev/vda is not a block device suitable for partitioning".
- Wait for /sys/block/vda/device before running setup-alpine,
restarting the modloop and hwdrivers services on each retry.
- Log the QEMU console (screen -L) for both VM launches and dump the
logs at the end of the job, so failures of the second boot (the
other recurring flake, where ssh never comes back after reboot)
are debuggable.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
The boot-time RETBleed: WARNING: Spectre v2 mitigation...
line matches the broad WARNING: regex.
The intent of that pattern was to catch kernel WARN_ON() splats,
which always begin with WARNING: CPU:. We can tighten checks, to avoid false positive.
Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
|
|
Recently i wasted several hours searching bug in workflows/userspace.
Turned out in dmesg we had highly visible WARNING that we dont watch.
After each test run, dump dmesg and grep for canonical kernel-issue
markers (WARNING, BUG, Oops, kernel panic, GPF, KASAN, kernel UBSAN,
soft/hard lockup, hung tasks, bad page state, invalid opcode). Fail
the job if any are present, with a GitHub Actions error annotation.
Until now, kernel WARNs from out-of-tree drivers (e.g. vlan_mon
tripping the new ETH_P_ALL ptype_head WARN_ON in 6.6+) were silently
swallowed by the existing 'Display processes and dmesg after tests'
steps -- visible only if a human inspected the log. The check runs
with if: always() so it triggers both on test failure and on test
completion.
Applied to all four workflows that load kernel modules:
run-tests-asan-ubsan.yml, run-tests.yml (Test-in-Qemu, Test-in-Alpine,
Test-in-GH, Test-in-GH-Coverage), run-tests-32bit.yml, and
run-tests-bigendian.yml.
P.S. Some whitespace churn included.
Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
|
|
|
|
|
|
|
|
|
|
(workflows): Ubuntu 20.04 is deprecated, removing it
|
|
This tests failing now with following message:
```
This is a scheduled Ubuntu 20.04 retirement.
Ubuntu 20.04 LTS runner will be removed on 2025-04-15.
For more details, see https://github.com/actions/runner-images/issues/11101
```
Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
|
|
|
|
|
|
ci: fix build on alpine be (s390x)
|
|
ci: add build in ubuntu:devel container
|
|
bump libpcre, disable chap_secrets in tests
|
|
Building in ubuntu:devel container might help to find the issues
related to newest kernels and other software updates
|
|
radius and chap-secrets can't work together due to musl library limiations
This patch disables chap-secrets related tests on alpine
ref: https://github.com/accel-ppp/accel-ppp/pull/190#issuecomment-2331036461
|
|
ci: run tests on alpine s390x (big-endian)
|
|
|
|
|
|
s390x is the only big-endian platform supported by major Linux vendors.
Alpine s390x is the only major distro that includes pppoe kernel module.
Ubuntu, Debian, RHEL (and Fedora) removed pppoe from kernel config so
alpine s390x is used. Alpine doesn't provide cloud-image for s390x that
is why netboot installed is used.
It is almost zero probability that someone will run accel-ppp on s390x
IBM mainframe, but testing on big-endian platform is useful for another
platforms (e.g. mips-be and ppc-be which is still in use on home gateways
and supported by openwrt).
|
|
Alpine Linux uses musl libc so now accel-ppp is tested under musl
Currently, Alpine Linux doesn't provide a link to the latest stable version
so direct link to Alpine 3.20 is used
Improved musl support might be used to run on platforms like openwrt
without additional patches
|
|
ci: add build in gentoo container
|
|
|
|
|
|
github now allows kvm and cpu passthrough, enable it to speedup ci
|
|
Debian10 LTS is EoL (ref: https://wiki.debian.org/LTS) so it is removed
from CI.
Debian10 ELTS is maintained by third-party organization, only some packages
are maintained so there is no reason to support Debian10 in CI
|
|
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|
|
musl: Add musl compatibility
|
|
This patch fixes debian10 build
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|
|
As we fixed musl compatibility, we can add also basic check
if accel keep working in Alpine Linux
Also update default config, enable connlimit and place it
before pptp, otherwise Alpine generate error:
```
[2024-04-09 22:30:09.911]loader: failed to load 'pptp': Error relocating /usr/local/lib64/accel-ppp/libpptp.so: connlimit_check: symbol not found
```
Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
|
|
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|
|
third-party mainline ubuntu kernel package is broken so disable it
|
|
|
|
|
|
|
|
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|
|
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|
|
Ubuntu 18.04 is EOL so CI support is not necessary anymore
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|
|
add tests and ci workflow for running tests
|
|
|
|
This commit adds tests (using python3 pytest framework):
1. Test basic accel-cmd commands (show version, show stat, etc)
2. Test ipoe shared session up (dhcpv4) without radius
3. Test pppoe discovery (without PADO delay)
4. Test pppoe discovery (without PADO delay)
5. Test pppoe session up (ipv4) without radius
6. Test vlan creation using vlan-mon (pppoe)
These tests require external utils. Please read tests/README.md how to setup
environment, how to run the tests and how to generate coverage report
Also, run-tests.yml contains step-by-step instruction how to run the tests
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|
|
Added build on:
1. Ubuntu 20.04, 22.04 (github runners)
2. Ubuntu 18.04, 20.04, 22.04 (in official containers from dockerhub)
3. Debian 10, 11, 12 (in official containers from dockerub)
Build jobs do:
1. Build (cmake, make)
2. Packaging (cpack)
3. Install
4. Run
5. Check using 'show stat' command
6. Upload built .deb package as artifact
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
|