diff options
author | Christian Breunig <christian@breunig.cc> | 2024-07-19 13:54:26 +0200 |
---|---|---|
committer | Christian Breunig <christian@breunig.cc> | 2024-07-22 21:57:10 +0200 |
commit | 9516ae6ffafa5107ff7e6639c2a2303dc6bc9ae4 (patch) | |
tree | 8e70b50fa845612b5e885c17c1fd916f7cdfbdf5 /interface-definitions/service_dhcp-relay.xml.in | |
parent | 6db6f2451ac8cbd26a90f5da1609b4563ca607a2 (diff) | |
download | vyos-1x-9516ae6ffafa5107ff7e6639c2a2303dc6bc9ae4.tar.gz vyos-1x-9516ae6ffafa5107ff7e6639c2a2303dc6bc9ae4.zip |
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)
Diffstat (limited to 'interface-definitions/service_dhcp-relay.xml.in')
0 files changed, 0 insertions, 0 deletions