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

Jenkins slave connections not using Team Concert build toolkit location overriding master configuration?

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Minor
    • Resolution: Unresolved
    • Component/s: teamconcert-plugin
    • Labels:
      None
    • Environment:
    • Similar Issues:

      Description

      This seems like an issue similar to:
      https://issues.jenkins-ci.org/browse/JENKINS-32996?jql=project%20%3D%20JENKINS%20AND%20component%20%3D%20teamconcert-plugin

      Jenkins master is on Windows at 2.46.3, have Windows and Unix slaves, the slave.jars from this version are at version 3.7
      The Team Concert Plugin is at 1.2.0.0
      have configured the both 5.0.2 and 6.0.3 build toolkits in the Global Tool Configuration section.
      The Jenkins master System configuration is using the 5.0.2 instance as the default tool, this is working for all slaves.

      Am using a multi-configuration project in order to build on Windows and Unix platforms.

      Have an existing team Concert Build took kit 5.0.2 defined in the Jenkins global configuration, with a Windows path defined there (as the Jenkins master is on Windows).
      Each slave indicates to use the 5.0.2 team concert toolkit, and for all slaves, a new path for Unix and usually the same path for Windows, is given in the slave configuration. Builds are working on all platforms using the 5.0.2 build toolkit definition.

      I wish to test using the new 6.0.3 Team Concert build toolkit, on only some slaves. I add a new 6.0.3 team concert tool configuration to the Jenkins Global Tool Configuration. As I wish to only test this version of the tool, I do NOT update the master configuration to make this 6.03 toolkit version the default, as I still have working builds (using the 5.0.2 toolkit) on other slaves).
      I update only some of the slave connections I wish to test, to use the Team Concert 6 tool definition, and I update the slave configuration to name the Team Concert build tookit 6.0.3 , and the path to the Team Concert build toolkit 6.0.3 for that platform.

      problem:

      Normally, the log does not show which build toolkit is being used. Have opened this as a separate issue: (see: https://jazz.net/forum/questions/243295/how-to-tell-from-build-log-which-version-of-the-build-toolkit-is-being-used)

      However, if I add the following environment variable, then I can see in the debug information which one is being used:

      1. following to trace/debug/verify the Team Concert build toolkit (source fetch)
        com.ibm.team.build.debug=true

      The logs show for Windows builds on the test slaves that are defined to override the 5.0.2 to 6.0.2 that the 5.0.2 team concert is being used .

      For Unix, the builds are failing as it seems to attempt to concatenate the Unix slave root (/local/builds/pm/j4) with the (global) Team Concert 5 build toolkit location (C:\rtc\RTC-BuildSystem-Toolkit-Win-5.0.2\jazz\buildsystem\buildtoolkit) It is ignoring the team Concert 6 build tookit definition for the tool kit on all test platforms,.

      (To get debugging for the Team Concert, I add the following to the environment: com.ibm.team.build.debug=true.)

      Windows log:
      ....
      Running remote true
      buildToolkit property C:\rtc\RTC-BuildSystem-Toolkit-Win-5.0.2\jazz\buildsystem\buildtoolkit
      Reusing facade for C:\rtc\RTC-BuildSystem-Toolkit-Win-5.0.2\jazz\buildsystem\buildtoolkit

      Unix: Notice the Windows 5.0.2 path Jenkins master default location is concatenated to the Unix slave root (/local/builds/pm/j4)
      Running remote true
      buildToolkit property C:\rtc\RTC-BuildSystem-Toolkit-Win-5.0.2\jazz\buildsystem\buildtoolkit

      FATAL: RTC : checkout failure: Built toolkit directory not found at: */local/builds/pm/j4/*C:\rtc\RTC-BuildSystem-Toolkit-Win-5.0.2\jazz\buildsystem\buildtoolkit

      java.lang.IllegalArgumentException: Built toolkit directory not found at: /local/builds/pm/j4/C:\rtc\RTC-BuildSystem-Toolkit-Win-5.0.2\jazz\buildsystem\buildtoolkit

      So, how can I test a new toolkit toolkit without overriding the master configuration?

      When I set the Jenkins global configuration to use the Team Concert 6 toolkit, then every thing seems to work okay, but I should be able to test this toolkit without changing my master config.

        Attachments

          Activity

          Hide
          lvaikunt Lakshmi Narasimhan Vaikuntam added a comment -

          You would have to override the toolkit location in the slave. If there is a override, then Team Concert Plugin will use that build toolkit path.

          Show
          lvaikunt Lakshmi Narasimhan Vaikuntam added a comment - You would have to override the toolkit location in the slave. If there is a override, then Team Concert Plugin will use that build toolkit path.
          Hide
          rickybobpat Rick Patterson added a comment -

          Hi, Lakshmi.  I did override the toolkit location in the slave.  here is what said above:   I wish to test using the new 6.0.3 Team Concert build toolkit, on only some slaves. I add a new 6.0.3 team concert tool configuration to the Jenkins Global Tool Configuration. As I wish to only test this version of the tool, I do NOT update the master configuration to make this 6.03 toolkit version the default, as I still have working builds (using the 5.0.2 toolkit) on other slaves).
          I update only some of the slave connections I wish to test, to use the Team Concert 6 tool definition, and I update the slave configuration to name the Team Concert build tookit 6.0.3 , and the path to the Team Concert build toolkit 6.0.3 for that platform.

          Show
          rickybobpat Rick Patterson added a comment - Hi, Lakshmi.  I did override the toolkit location in the slave.  here is what said above:   I wish to test using the new 6.0.3 Team Concert build toolkit, on only some slaves. I add a new 6.0.3 team concert tool configuration to the Jenkins Global Tool Configuration. As I wish to only test this version of the tool, I do NOT update the master configuration to make this 6.03 toolkit version the default, as I still have working builds (using the 5.0.2 toolkit) on other slaves). I update only some of the slave connections I wish to test, to use the Team Concert 6 tool definition, and I update the slave configuration to name the Team Concert build tookit 6.0.3 , and the path to the Team Concert build toolkit 6.0.3 for that platform.

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            rickybobpat Rick Patterson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: