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

Team Concert plugin doesn't load components as root folders

      When a stream, or repository workspace, has multiple components where each component has a similar (sub) directory structure (e.g. "build"-folder, containing all build scripts and settings for that component), there's not a setting available that allows the load of these components as root folders in a sandbox.
      This means that when the components get loaded, not being root folders, there are directory collisions, which RTC cannot resolve (see log below). This causes the Jenkins Job to fail, even before the actual build steps are reached.

      Please introduce a configuration setting that allows components to be loaded as root folders.

      Settings Jenkins Job, Team Concert plugin:
      ==========================================
      Disabled: Override global RTC repository connection
      Enabled: Just accept and fetch from a build workspace
      Enabled: Poll SCM, schedule: H/25 * * * *

      Jenkins Job log:
      ================
      Started by an SCM change
      [EnvInject] - Loading node environment variables.
      Building in workspace C:\Data\IBM\RTC
      RTC : checkout...
      RTC Checkout : Source control setup
      RTC Checkout : Accepting changes into workspace "sys24_Team_Build_Workspace" ...
      RTC Checkout : Fetching files to fetch destination "C:\Data\IBM\RTC" ...
      FATAL: RTC : checkout failure: Loading the directories in the file system would overwrite/remove existing directories.
      Loading the directories in the file system would overwrite/remove existing directories.
      /Build (requested to be loaded from both component Build and EPN-uEPN)
      /Test (requested to be loaded from both component Build and ActionTools)
      /Data (requested to be loaded from both component Build and ActionTools)
      /Lib (requested to be loaded from both component Build and ActionTools)

      com.ibm.team.build.internal.scm.SourceControlUtility$3: Status WARNING: com.ibm.team.filesystem.client code=2 Loading the directories in the file system would overwrite/remove existing directories. null children=[Status WARNING: com.ibm.team.filesystem.client code=0 /Build (requested to be loaded from both component Build and EPN-uEPN) null Status WARNING: com.ibm.team.filesystem.client code=0 /Test (requested to be loaded from both component Build and ActionTools) null Status WARNING: com.ibm.team.filesystem.client code=0 /Data (requested to be loaded from both component Build and ActionTools) null Status WARNING: com.ibm.team.filesystem.client code=0 /Lib (requested to be loaded from both component Build and ActionTools) null]
      at com.ibm.team.build.internal.scm.SourceControlUtility.updateFileCopyArea(SourceControlUtility.java:685)
      at com.ibm.team.build.internal.hjplugin.rtc.RepositoryConnection.checkout(RepositoryConnection.java:367)
      at com.ibm.team.build.internal.hjplugin.rtc.RTCFacade.checkout(RTCFacade.java:321)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.ibm.team.build.internal.hjplugin.RTCFacadeFactory$RTCFacadeWrapper.invoke(RTCFacadeFactory.java:92)
      at com.ibm.team.build.internal.hjplugin.RTCCheckoutTask.invoke(RTCCheckoutTask.java:103)
      at com.ibm.team.build.internal.hjplugin.RTCCheckoutTask.invoke(RTCCheckoutTask.java:30)
      at hudson.FilePath.act(FilePath.java:904)
      at hudson.FilePath.act(FilePath.java:877)
      at com.ibm.team.build.internal.hjplugin.RTCScm.checkout(RTCScm.java:836)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1369)
      at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
      at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
      at hudson.model.Run.execute(Run.java:1575)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:241)
      Contains : 0 /Build (requested to be loaded from both component Build and EPN-uEPN)
      Contains : 1 /Test (requested to be loaded from both component Build and ActionTools)
      Contains : 2 /Data (requested to be loaded from both component Build and ActionTools)
      Contains : 3 /Lib (requested to be loaded from both component Build and ActionTools)
      ERROR: RTC : checkout failure: Loading the directories in the file system would overwrite/remove existing directories.
      Loading the directories in the file system would overwrite/remove existing directories.
      /Build (requested to be loaded from both component Build and EPN-uEPN)
      /Test (requested to be loaded from both component Build and ActionTools)
      /Data (requested to be loaded from both component Build and ActionTools)
      /Lib (requested to be loaded from both component Build and ActionTools)

      Finished: FAILURE

          [JENKINS-18284] Team Concert plugin doesn't load components as root folders

          Scott Cowan added a comment -

          Hi Danny, could you try the option "Use a build definition for better RTC integration"? With this option you can check "Create folders for components" in the build definition.

          We will consider adding this option in the future when you select, "Just accept and fetch from a build workspace".

          Scott Cowan added a comment - Hi Danny, could you try the option "Use a build definition for better RTC integration"? With this option you can check "Create folders for components" in the build definition. We will consider adding this option in the future when you select, "Just accept and fetch from a build workspace".

          Scott Cowan added a comment -

          I've adjusted the priority using the Jenkins guidelines,

          Blocker
          Blocks development and/or testing work, production could not run.
          Critical
          Crashes, loss of data, severe memory leak.
          Major
          Major loss of function.
          Minor
          Minor loss of function, or other problem where easy workaround is present.
          Trivial
          Cosmetic problem like misspelled words or misaligned text

          Scott Cowan added a comment - I've adjusted the priority using the Jenkins guidelines, Blocker Blocks development and/or testing work, production could not run. Critical Crashes, loss of data, severe memory leak. Major Major loss of function. Minor Minor loss of function, or other problem where easy workaround is present. Trivial Cosmetic problem like misspelled words or misaligned text

          Nick Edgar added a comment -

          I had made the same suggestion to Danny. He responded by email with:
          >> We’ve already switched to using the Build Definition setting. However it would have been nice if this limitation would have been mentioned somewhere. Or the description of the plugin would describe that for now you support “simple workspace-only config” when using the ‘Just accept and fetch from a build workspace’-setting.

          >> Expected solution: When you’re utilizing the scm commands, add the ‘-i’ option, as a choice in the Jenkins Job configuration, just as in the Jazz Build Definition: <screen shot of Create Folders option>.

          We could perhaps add something to that effect in the ? help for the simple workspace option.

          Nick Edgar added a comment - I had made the same suggestion to Danny. He responded by email with: >> We’ve already switched to using the Build Definition setting. However it would have been nice if this limitation would have been mentioned somewhere. Or the description of the plugin would describe that for now you support “simple workspace-only config” when using the ‘Just accept and fetch from a build workspace’-setting. >> Expected solution: When you’re utilizing the scm commands, add the ‘-i’ option, as a choice in the Jenkins Job configuration, just as in the Jazz Build Definition: <screen shot of Create Folders option>. We could perhaps add something to that effect in the ? help for the simple workspace option.

          The help has been updated to indicate for customized load, a build definition should be used.

          Heather Fraser-Dube added a comment - The help has been updated to indicate for customized load, a build definition should be used.

          @Heather

          Can you put the git commit SHA or a description of how you fixed this problem in this issue?

          I don't see any commits around Jul 9th nor any changes that look like they address this problem: https://github.com/jenkinsci/teamconcert-plugin/commits/master

          Christian Höltje added a comment - @Heather Can you put the git commit SHA or a description of how you fixed this problem in this issue? I don't see any commits around Jul 9th nor any changes that look like they address this problem: https://github.com/jenkinsci/teamconcert-plugin/commits/master

          Never mind, I apparently suck at Jira. Sorry.

          Christian Höltje added a comment - Never mind, I apparently suck at Jira. Sorry.

          Ivan Rossier added a comment -

          No news on "We will consider adding this option in the future when you select, "Just accept and fetch from a build workspace" ?

          Thanks

          Ivan Rossier added a comment - No news on "We will consider adding this option in the future when you select, "Just accept and fetch from a build workspace" ? Thanks

          Ivan Rossier added a comment -

          This issue has not been fixed when the option "Just accept and fetch from a build workspace" is selected.
          I haven't seen any other issue to track it.
          Thanks

          Ivan Rossier added a comment - This issue has not been fixed when the option "Just accept and fetch from a build workspace" is selected. I haven't seen any other issue to track it. Thanks

          Lakshmi Narasimhan Vaikuntam added a comment - Tracked by jazz work item 296206

          Fixed in plugin release 1.2.0.0

          Lakshmi Narasimhan Vaikuntam added a comment - Fixed in plugin release 1.2.0.0

            lvaikunt Lakshmi Narasimhan Vaikuntam
            dbeerens Danny Beerens
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: