Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-62570

vSphere plugin: saving configuration for a running build node leaks secondary computer launcher

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • vsphere-cloud-plugin
    • None
    • Jenkins: 2.222.3 on ubuntu 16.04
      Java: openjdk 1.8.0_252-8u252-b09-1~16.04-b09
      vsphere-cloud-plugin: 2.23

      Repro:

      • Spin up vSphere-based build node, with SSH Launcher as its "secondary launcher".
      • When the build node is running, navigate to its configuration page (ex: http://jenkins/computer/MyVSphereBuildNode/configure)
      • Click "Save"
      • The reference to the existing ComputerLauncher is lost, and leaked.

      This has the effect of the ComputerLauncher instance not being torn down at the conclusion of the build node's lifecycle. 

       

      Some notes I have based on my debugging:

      • When we save a new configuration for a running vSphere build node, an existing vSphereCloudProvisionedSlave instance is replaced with a new vSphereCloudProvisionedSlave instance.
      • When replacing an existing vSphereCloudProvisionedSlave instance, a new vSphereCloudProvisionedSlave is constructed with a null ComputerLauncher, when it should be getting the previous launcher instance (in my case, an SSHLauncher instance).
      • The problem appears to reside somewhere in the configure-entries.jelly for vSphereCloudProvisionedSlave. Something about the delegateLauncher's descriptor is being lost in the process, and when you click "save", it believes that it has been configured with a null delegateLauncher.

            Unassigned Unassigned
            mikeryan_tan Mike Ryan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: