-
Improvement
-
Resolution: Unresolved
-
Minor
Slave Installer module installs GUI to any SlaveComputer type for which any SlaveInstallerFactory is able to provide SlaveInstallerFactory. For unix agents we have launchd, upstart and systemd factories in modules, which contribute this installer.
There is no much sense to install GUI to headless agents. According to the analysis by campbellr, such issue may be also one of the culprits of JENKINS-27514, because GUI installation happens synchronously in onOnline() listeners.
Code links:
- Listener invocation: https://github.com/jenkinsci/jenkins/blob/0a2d6ca2bad601c2ad80502e0f4de861e93c6f2c/core/src/main/java/hudson/slaves/SlaveComputer.java#L588
- GUI Installer: https://github.com/jenkinsci/slave-installer-module/blob/8a31a65a1ca294ca0ca9b01a63a4a0bd3f132b3a/src/main/java/org/jenkinsci/modules/slave_installer/impl/ComputerListenerImpl.java#L28-L33
- SlaveInstallerFactory implementations: https://github.com/search?q=org%3Ajenkinsci+%22extends+SlaveInstallerFactory%22&type=Code
Proposal
- Jenkins should not try to install GUI if the agent runs in the headless mode.
- If required, add forward-compatible API in Jenkins-core for that (e.g. Default method to SlaveComputer or Launcher)
- relates to
-
JENKINS-15697 1.487: Automatic JNLP installation breaks Xserve OS X slaves
- Open
-
JENKINS-48574 Agent installer GUI should not be installed on headless agents
- Open