-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Minor
-
Component/s: core, ssh-slaves-plugin
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
-