• Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • jenkinsfile-runner
    • jenkins version <version>2.164.1</version>

      followed the steps from https://github.com/jenkinsci/jenkinsfile-runner/blob/master/README.md

      1. git clone https://github.com/jenkinsci/jenkinsfile-runner.git
      2. run the mvn package command
      3. cd /local/test/jenkins
      4.  wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
      5. unzip jenkins.war -d /local/test/jenkins/jenkins_home
      6. export JENKINS_HOME=/local/test/jenkins/jenkins_home
      7. {{run java -jar jenkins.war to install  suggested plugins}}
      8. create Jenkinsfile
      9. /local/test/git/jenkinsfile-runner/app/target/appassembler/bin/jenkinsfile-runner -w /local/test/jenkins -p /local/test/jenkins/jenkins_home/plugins -f /local/test/jenkins/foo -a "param1=Test&param2=MyTest"

      Then you will get messages like below, although my jenkins version is 2.164.1 and not 2.89. see the attached out file for the complete output

      1.436 [id=55] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: Step API v2.19 (workflow-step-api)
      java.io.IOException: Pipeline: Step API v2.19 failed to load.
      {{ - You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin.}}
      {{ at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:626)}}
      {{ at hudson.PluginManager$2$1$1.run(PluginManager.java:513)}}
      {{ at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)}}
      {{ at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)}}
      {{ at jenkins.model.Jenkins$5.runTask(Jenkins.java:1065)}}
      {{ at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)}}
      {{ at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)}}
      {{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}}
      {{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}}
      {{ at java.lang.Thread.run(Thread.java:748)}}
      {{ 1.439 [id=50] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: API v2.33 (workflow-api)}}
      java.io.IOException: Pipeline: API v2.33 failed to load.

        1. mvn_build.log
          2.28 MB
        2. out
          106 kB

          [JENKINS-56858] unable to load plugins

          Hi ykuo, thanks for using Jenkinsfile Runner!

          I see you have used "-w /local/test/jenkins" while you unzipped the WAR file in "/local/test/jenkins/jenkins_home". Could you please unzip the WAR in the first one and see whats is the result after that?

          Thanks!

           

           

          Evaristo Gutierrez added a comment - Hi ykuo , thanks for using Jenkinsfile Runner! I see you have used "-w /local/test/jenkins" while you unzipped the WAR file in "/local/test/jenkins/jenkins_home". Could you please unzip the WAR in the first one and see whats is the result after that? Thanks!    

          Yufen Kuo added a comment -

          Unzipping the war file into <directory> and set -w <directory> works.

          But setting -w option to directory contains war file does not work, setting -w option to full path to war file does not work either.

          setting -v 2.164.1  instead of -w option fails too.

          Running pipeline on jenkins 2.164.1
          1.405 [id=50] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: Step API v2.19 (workflow-step-api)
          java.io.IOException: Pipeline: Step API v2.19 failed to load.

          • You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin.
            at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:626)
            at hudson.PluginManager$2$1$1.run(PluginManager.java:513)

          Yufen Kuo added a comment - Unzipping the war file into <directory> and set -w <directory> works. But setting -w option to directory contains war file does not work, setting -w option to full path to war file does not work either. setting -v 2.164.1  instead of -w option fails too. Running pipeline on jenkins 2.164.1 1.405 [id=50] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: Step API v2.19 (workflow-step-api) java.io.IOException: Pipeline: Step API v2.19 failed to load. You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin. at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:626) at hudson.PluginManager$2$1$1.run(PluginManager.java:513)

          Setting -w <directory> where <directory> is there the WAR was unzipped is the way to go. If you do that, then you get the error you just provided?

          Evaristo Gutierrez added a comment - Setting -w <directory> where <directory> is there the WAR was unzipped is the way to go. If you do that, then you get the error you just provided?

          Yufen Kuo added a comment -

          the help text says:

          v (-version) VAL : jenkins version to use. Defaults to latest LTS.
          w (-jenkins-war) FILE : path to jenkins.war or exploded jenkins war directory

           

          So it seems if you use -w option and pass path to jenkins.war, it would not work.

          Using -v option does not work either

          Both seems to be bugs to me, or help text needs to be updated.

          Yufen Kuo added a comment - the help text says: v ( -version) VAL : jenkins version to use. Defaults to latest LTS. w ( -jenkins-war) FILE : path to jenkins.war or exploded jenkins war directory   So it seems if you use -w option and pass path to jenkins.war, it would not work. Using -v option does not work either Both seems to be bugs to me, or help text needs to be updated.

          ykuo I have reviewed and you are right, the help text is not appropriate. I have raised https://github.com/jenkinsci/jenkinsfile-runner/pull/104 to fix it.

           

          Now that we've understood that, if you specify the exploded directory with the 2.164.1 version extracted, which is the behaviour?

          Evaristo Gutierrez added a comment - ykuo I have reviewed and you are right, the help text is not appropriate. I have raised https://github.com/jenkinsci/jenkinsfile-runner/pull/104  to fix it.   Now that we've understood that, if you specify the exploded directory with the 2.164.1 version extracted, which is the behaviour?

          Yufen Kuo added a comment -

          If I specify the exploded directory with the -w option, it works.

           

          But if I just specify the -v option (without -w option), I get the same error message.

          Running pipeline on jenkins 2.164.1
          1.405 [id=50] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: Step API v2.19 (workflow-step-api)
          java.io.IOException: Pipeline: Step API v2.19 failed to load.

          • You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin.
            at

          Yufen Kuo added a comment - If I specify the exploded directory with the -w option, it works.   But if I just specify the -v option (without -w option), I get the same error message. Running pipeline on jenkins 2.164.1 1.405 [id=50] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: Step API v2.19 (workflow-step-api) java.io.IOException: Pipeline: Step API v2.19 failed to load. You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin. at

          ykuo could you please check if you can see these messages in the logs?

          • "Running pipeline on jenkins 2.164.1"
          • "Downloading jenkins 2.164.1"

          Thanks!

          Evaristo Gutierrez added a comment - ykuo could you please check if you can see these messages in the logs? "Running pipeline on jenkins 2.164.1" "Downloading jenkins 2.164.1" Thanks!

          Yufen Kuo added a comment -

          Yes, I do see the messages when running jenkinsfile-runner with -v option

          $ /usr/local/git/jenkinsfile-runner/app/target/appassembler/bin/jenkinsfile-runner -v 2.164.1 -p /var/jenkins_home/plugins -f /var/jenkins_home/foo -a param1=Test -a param2=MyTest

          Running pipeline on jenkins 2.164.1
          Downloading jenkins 2.164.1...
          1.792 [id=32] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: Step API v2.19 (workflow-step-api)
          java.io.IOException: Pipeline: Step API v2.19 failed to load.

          • You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin.
            at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:626)
            at hudson.PluginManager$2$1$1.run(PluginManager.java:513)
            at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
            at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
            at jenkins.model.Jenkins$5.runTask(Jenkins.java:1065)
            at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
            at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            at java.lang.Thread.run(Thread.java:748)
            1.794 [id=52] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: API v2.33 (workflow-api)
            java.io.IOException: Pipeline: API v2.33 failed to load.
          • You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin.
          • Pipeline: Step API v2.19 failed to load. Fix this plugin first.

          Yufen Kuo added a comment - Yes, I do see the messages when running jenkinsfile-runner with -v option $ /usr/local/git/jenkinsfile-runner/app/target/appassembler/bin/jenkinsfile-runner -v 2.164.1 -p /var/jenkins_home/plugins -f /var/jenkins_home/foo -a param1=Test -a param2=MyTest Running pipeline on jenkins 2.164.1 Downloading jenkins 2.164.1... 1.792 [id=32] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: Step API v2.19 (workflow-step-api) java.io.IOException: Pipeline: Step API v2.19 failed to load. You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin. at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:626) at hudson.PluginManager$2$1$1.run(PluginManager.java:513) at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169) at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282) at jenkins.model.Jenkins$5.runTask(Jenkins.java:1065) at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210) at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 1.794 [id=52] SEVERE jenkins.InitReactorRunner$1#onTaskFailed: Failed Loading plugin Pipeline: API v2.33 (workflow-api) java.io.IOException: Pipeline: API v2.33 failed to load. You must update Jenkins from v2.89 to v2.121.1 or later to run this plugin. Pipeline: Step API v2.19 failed to load. Fix this plugin first.

          ykuo the issue is that Jenkinsfile Runner expect the WAR to be already extracted (that's why warDir needs to be a directory and not the WAR file) but specifying the version only downloads the WAR, without extracting it.

          oleg_nenashev do you have context on why it was made like that?

          ykuo if you use -Djenkins.version=2.164.1 in the mvn command, instead of using the -v option, it should work.

          Evaristo Gutierrez added a comment - ykuo the issue is that Jenkinsfile Runner expect the WAR to be already extracted (that's why warDir needs to be a directory and not the WAR file) but specifying the version only downloads the WAR, without extracting it. oleg_nenashev do you have context on why it was made like that? ykuo if you use -Djenkins.version=2.164.1 in the mvn command, instead of using the -v option, it should work.

          Yufen Kuo added a comment -

          $ /usr/local/git/jenkinsfile-runner/app/target/appassembler/bin/jenkinsfile-runner -Djenkins.version=2.164.1 -p /var/jenkins_home/plugins -f /var/jenkins_home/foo
          "-Djenkins.version=2.164.1" is not a valid option

          Yufen Kuo added a comment - $ /usr/local/git/jenkinsfile-runner/app/target/appassembler/bin/jenkinsfile-runner -Djenkins.version=2.164.1 -p /var/jenkins_home/plugins -f /var/jenkins_home/foo "-Djenkins.version=2.164.1" is not a valid option

          No, not at execution time but at building time:

          • mvn package -Djenkins.version=2.164.1
          •  /usr/local/git/jenkinsfile-runner/app/target/appassembler/bin/jenkinsfile-runner -p /var/jenkins_home/plugins -f /var/jenkins_home/foo

           

          Evaristo Gutierrez added a comment - No, not at execution time but at building time: mvn package -Djenkins.version=2.164.1  /usr/local/git/jenkinsfile-runner/app/target/appassembler/bin/jenkinsfile-runner -p /var/jenkins_home/plugins -f /var/jenkins_home/foo  

          Yufen Kuo added a comment -

          running mvn package -Djenkins.version=2.164.1 failed to build with error messages  below. I have attached the complete output in mvn_build.log.

          running mvn package without the -Djenkins.version builds successfully.

          [ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce (display-info) on project setup: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
          org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce (display-info) on project setup: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.

           

          Yufen Kuo added a comment - running mvn package -Djenkins.version=2.164.1 failed to build with error messages  below. I have attached the complete output in mvn_build.log. running mvn package without the -Djenkins.version builds successfully. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce (display-info) on project setup: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M1:enforce (display-info) on project setup: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.  

          ykuo I have reproduced and you are right, it's a matter of dependencies. If using the extracted WAR works for you, I'd recommend you to go through such option.

          Evaristo Gutierrez added a comment - ykuo I have reproduced and you are right, it's a matter of dependencies. If using the extracted WAR works for you, I'd recommend you to go through such option.

          Oleg Nenashev added a comment -

          Closing as Not a Defect after the review. Newer versions of Jenkinsfile Runner check core and plugin requirements, so it should not be a UX problem anymore

          Oleg Nenashev added a comment - Closing as Not a Defect after the review. Newer versions of Jenkinsfile Runner check core and plugin requirements, so it should not be a UX problem anymore

            egutierrez Evaristo Gutierrez
            ykuo Yufen Kuo
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: