Hi,

While checking and refining some older bugs and feature request with
David and Ancor, we came across an interesting one:

  *Prevent the same YaST module from running twice at the same time*

We've been discussing the topic back and forth, identified some
use-cases in which it would make sense, a few technical solutions and
even more obstacles, but we decided it would make sense to ask for
opinions at YaST Devel first.

Why to prevent from running the same twice?

- Some may click too fast and run two or more at the same time -> here
  you instantly see more modules starting
- Some may start a YaST module, then do something else, overlook the
  first one, start another, ... then hard to say which one wins at the
  end and what would be the changes --> is that likely?
- Two admins could run the same module without knowing about each other
  --> this may happen in remote session at COVID times

How to prevent from running them more times?

- Logging the PID, storing it at some file (module/client name),
  checking at startup (more PIDs in case of more sessions of the same?)
- Either at YaST startup scripts (easier) or YaST core (some might skip
  using a startup script, is that likely?)
- Showing a message (another special client) and offering some options,
  e.g., kill the other session, exiting
- Offering a read-only mode (quite hard) for the second session
- Another idea was to bring the UI to the front (only possible with Qt)
  instead of starting a new one

Some possible problems

- Some admins really just run YaST to see the current configuration, so
  preventing from running something twice might not be an option
- Some YaST modules can be called from within another ones, e.g.,
  Repositories from the Packager, what to do with that?
- Some YaST modules can be called as a user; what if the user differs?

Quite some unknowns as you may see :) Is that worth it? Is there a
simpler solution? Would that fit?

Links
- https://bugzilla.suse.com/show_bug.cgi?id=959866
- https://jira.suse.com/browse/SLE-2999 (internal)

Thanks for your opinions
Lukas

-- 

Lukas Ocilka, Systems Mgmt & Consulting Team Leader & YaST Product Owner
SLE Department, SUSE Linux

Reply via email to