HomeVyOS Platform

wireless: T6597: improve hostapd startup and corresponding smoketests

This commit has been deleted in the repository: it is no longer reachable from any branch, tag, or ref.

Description

wireless: T6597: improve hostapd startup and corresponding smoketests

This was found during smoketesting as thoase started to repeadingly fail in the last weeks

File "/usr/libexec/vyos/tests/smoke/cli/test_interfaces_wireless.py", line 534, in test_wireless_security_station_address
    self.assertTrue(process_named_running('hostapd'))
AssertionError: None is not true

Digging into this revealed that this is NOT related to the smoketest coding but
to hostapd/systemd instead. With a configured WIFI interface and calling:
"sudo systemctl reload-or-restart hostapd@wlan1" multiple times in a short
period caused systemd to report:
"Jul 18 16:15:32 systemd[1]: hostapd@wlan1.service: Deactivated successfully."

According to the internal systemd logic used in our version this is explained by:

/* If there's a stop job queued before we enter the DEAD state, we shouldn't act on Restart=, in order to not
 * undo what has already been enqueued. */
if (unit_stop_pending(UNIT(s)))
        allow_restart = false;

if (s->result == SERVICE_SUCCESS)
        s->result = f;

if (s->result == SERVICE_SUCCESS) {
        unit_log_success(UNIT(s));
        end_state = SERVICE_DEAD;`

Where unit_log_success() generates the log message in question.

Improve the restart login in the wireless interface script and an upgrade to
hostapd solved the issue.

(cherry picked from commit a67f49d99eda00998c425f9a663e138dbd0f7755)

Details

Provenance
c-poAuthored on Jul 19 2024, 11:54 AM
Parents
rVYOSONEXc2cc60cab8f3: smoketest: T6406: use check_kmod() helper over native call()
Branches
Loading...
Tags
Loading...