The PCP configuration dialog has support for enabling pmproxy this requires firewalld rules to be enabled and packages to be installed.
When packages need to be installed the config dialog is closed, and the install_dialog component is shown to ask if the user wants to install the redis package. When agreeing redis is installed, then firewalld rules enabled but the dialog itself is already closed so any errors won't be shown:
Note this also happens when redis was pre-installed but pmproxy not enabled.
This issue came to light in https://github.com/cockpit-project/cockpit/pull/21075 where we stopped re-logging in to install PCP support. The test would fail as the previous dialog which installed pcp was still running while we opened the pcp config dialog again to enable pmproxy thus closing the dialog.
This is impossible to fix as there is no way to wait on the dialog to "finish" it's operation in the test as when enabling pmlogger no firewall rule is enabled.
But the big issue here is that we don't see firewalld errors and that this is racy.
Explain what happens
The PCP configuration dialog has support for enabling
pmproxy
this requires firewalld rules to be enabled and packages to be installed.When packages need to be installed the config dialog is closed, and the
install_dialog
component is shown to ask if the user wants to install the redis package. When agreeing redis is installed, then firewalld rules enabled but the dialog itself is already closed so any errors won't be shown:https://github.com/cockpit-project/cockpit/blob/2ba803af0119b100dfa625e143cba8d5b57a949c/pkg/metrics/metrics.jsx#L1471
Note this also happens when redis was pre-installed but
pmproxy
not enabled.This issue came to light in https://github.com/cockpit-project/cockpit/pull/21075 where we stopped re-logging in to install PCP support. The test would fail as the previous dialog which installed
pcp
was still running while we opened the pcp config dialog again to enablepmproxy
thus closing the dialog.This is impossible to fix as there is no way to wait on the dialog to "finish" it's operation in the test as when enabling
pmlogger
no firewall rule is enabled.But the big issue here is that we don't see firewalld errors and that this is racy.
Version of Cockpit
No response
Where is the problem in Cockpit?
None
Server operating system
None
Server operating system version
No response
What browsers are you using?
No response
System log
No response