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

Exclusive execution plugin isn't compatible with multi-configuration projects tied to slaves

      Steps to repro:

      1) Install https://wiki.jenkins-ci.org/display/JENKINS/Exclusive+Execution+Plugin
      2) Create a multi-configuration project
      3) Configure the project from step 2, in the "Configuration Matrix section" click "Add axis".
      4) Choose "Slaves".
      5) At this point you might be bitten by https://issues.jenkins-ci.org/browse/JENKINS-9689 - see comments for the workaround
      6) Choose at least 2 build servers (ie. master and slave).
      7) Build the project from step 2.

      The project is dispatched to both the master and slave build servers, but neither ever complete.

      Slave's console output says:
      09:47:13 [ExclusiveBuildWrapper] Executing on slavePC1
      09:47:13 [ExclusiveBuildWrapper] Putting Jenkins in shutdown mode...

      Master's console output says:
      09:47:13 [ExclusiveBuildWrapper] Executing on master
      09:47:13 [ExclusiveBuildWrapper] Putting Jenkins in shutdown mode...

      The system never exits from this state.

          [JENKINS-9919] Exclusive execution plugin isn't compatible with multi-configuration projects tied to slaves

          Marco Ambu added a comment -

          Hi, yes you are right, it is not compatible, because you assigned the 'same' job to two different hosts.
          The way the plugin works is to wait until all job are finished and then if the only job is the one that should run 'exclusively' then it starts.

          Marco Ambu added a comment - Hi, yes you are right, it is not compatible, because you assigned the 'same' job to two different hosts. The way the plugin works is to wait until all job are finished and then if the only job is the one that should run 'exclusively' then it starts.

          Thomas Fields added a comment -

          Hi Marco, Is there anyway the plugin can be updated to fix the problem? Failing that, do you know of any other plugin/idea I can use to handle my use case?

          Thanks, Tom.

          Thomas Fields added a comment - Hi Marco, Is there anyway the plugin can be updated to fix the problem? Failing that, do you know of any other plugin/idea I can use to handle my use case? Thanks, Tom.

          Marco Ambu added a comment -

          Hi, this plugin was developed to run a backup script when no other jobs were running. So it wasn't designed to take into account multiple builds in slaves. I'll need some time to take a look into that to see if the plugin can be modified to suit your needs.
          I cannot suggest any workaround because I don't know your needs.

          Marco Ambu added a comment - Hi, this plugin was developed to run a backup script when no other jobs were running. So it wasn't designed to take into account multiple builds in slaves. I'll need some time to take a look into that to see if the plugin can be modified to suit your needs. I cannot suggest any workaround because I don't know your needs.

          Thomas Fields added a comment -

          Hi Marco,

          Thanks for your reply. I needed a plugin that basically lets me run the same job on the master and all slave nodes when no other jobs are running. In my case, the job I want to run forces Perforce to sync a new development SDK, which can't happen mid build for obvious reasons.

          Updating the plugin would be great or if you could suggest an alternative plugin to use that would also be very useful.

          Thanks,
          Tom.

          Thomas Fields added a comment - Hi Marco, Thanks for your reply. I needed a plugin that basically lets me run the same job on the master and all slave nodes when no other jobs are running. In my case, the job I want to run forces Perforce to sync a new development SDK, which can't happen mid build for obvious reasons. Updating the plugin would be great or if you could suggest an alternative plugin to use that would also be very useful. Thanks, Tom.

          Thomas Fields added a comment -

          Hi Marco,

          Did you manage to find the time to modify the plugin to support my needs?

          Cheers,
          Tom.

          Thomas Fields added a comment - Hi Marco, Did you manage to find the time to modify the plugin to support my needs? Cheers, Tom.

          Andy Bigos added a comment -

          Hi,

          I have a similar request to Tom's. I'm using a matrix project and the Elastic Axes plugin to run a job on all the slaves with a particular label. The job is a housekeeping job and I want to ensure that no other jobs are running while it runs. The Exclusive Execution plugin would be ideal for this if multi-configuration projects were supported. Do you have any plans to add the support?

          Ta
          Andy

          Andy Bigos added a comment - Hi, I have a similar request to Tom's. I'm using a matrix project and the Elastic Axes plugin to run a job on all the slaves with a particular label. The job is a housekeeping job and I want to ensure that no other jobs are running while it runs. The Exclusive Execution plugin would be ideal for this if multi-configuration projects were supported. Do you have any plans to add the support? Ta Andy

            mambu Marco Ambu
            tfields Thomas Fields
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: