• Pipeline - July/August

      One-shot provisioner is not compatible with Pipeline restart feature because OneShotSlave implements EphemeralNode which prevents it from being persisted (and prevents the agent to reconnect after Jenkins restart).

          [JENKINS-41319] Not compatible with Pipeline restart feature

          OneShotSlave is an EphemeralNode by design. Would need to be able to (re)create such a node as pipeline is restarted, i.e.

          1. identify an AfterRestartTask enters the Queue
          2. look into associated WorkflowRun.flowExecution to know about expected node() on resume
          3. create a OneShotSlave with exact same name

          Nicolas De Loof added a comment - OneShotSlave is an EphemeralNode by design. Would need to be able to (re)create such a node as pipeline is restarted, i.e. identify an AfterRestartTask enters the Queue look into associated WorkflowRun.flowExecution to know about expected node() on resume create a OneShotSlave with exact same name

          Doesn't seem to work.

          Looks to me there's no simple option to support pipeline re-hydrate that - by nature - is incompatible with this idea of an ephemeral node allocated to a build.

          Nicolas De Loof added a comment - Doesn't seem to work. Looks to me there's no simple option to support pipeline re-hydrate that - by nature - is incompatible with this idea of an ephemeral node allocated to a build.

          One-shot executor is designed to change the build:slave paradigm, relying on plain ephemeral nodes. The way pipeline expect executor to resurrect after a reboot just is incompatible, one-shot should just not be used in this context.

          Nicolas De Loof added a comment - One-shot executor is designed to change the build:slave paradigm, relying on plain ephemeral nodes. The way pipeline expect executor to resurrect after a reboot just is incompatible, one-shot should just not be used in this context.

          Jesse Glick added a comment -

          Under discussion with kohsuke.

          Jesse Glick added a comment - Under discussion with kohsuke .

          Met with ndeloof and jglick today to discuss the way forward. During the meeting, we discussed relevant part of the code and a possible way to fix this.

          I think that gave Nicolas some directions and ideas and he is going to give it some more shot.

          The current plan is for me to check back in with Nicolas later this week, and if it doesn't work out, put this to the OSS team's queue and ask Jesse to look into this. Jesse is more optimistic that this is fixable, just that he currently lacks the context of one-shot-executor.

           

          Kohsuke Kawaguchi added a comment - Met with  ndeloof and jglick today to discuss the way forward. During the meeting, we discussed relevant part of the code and a possible way to fix this. I think that gave Nicolas some directions and ideas and he is going to give it some more shot. The current plan is for me to check back in with Nicolas later this week, and if it doesn't work out, put this to the OSS team's queue and ask Jesse to look into this. Jesse is more optimistic that this is fixable, just that he currently lacks the context of one-shot-executor.  

          I talked to ndeloof and he's making good progress, but still more work to do.

          Kohsuke Kawaguchi added a comment - I talked to  ndeloof and he's making good progress, but still more work to do.

          Mark Strasser added a comment - - edited

          Looks like Nicolas made a commit in October 2017 to the One Shot Executor Plugin, but it is not part of any official release of that plugin.  Is issue fixed?

          Mark Strasser added a comment - - edited Looks like Nicolas made a commit in October 2017 to the One Shot Executor Plugin, but it is not part of any official release of that plugin.  Is issue fixed?

          Jesse Glick added a comment -

          I cannot definitely speak for ndeloof but I believe that plugin is abandoned. You can try dockerNode from the docker-plugin as a conceptual successor.

          Jesse Glick added a comment - I cannot definitely speak for ndeloof but I believe that plugin is abandoned. You can try dockerNode from the docker-plugin as a conceptual successor.

          Mark Strasser added a comment -

          Thanks Jesse.

          Mark Strasser added a comment - Thanks Jesse.

            Unassigned Unassigned
            vlatombe Vincent Latombe
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: