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

TFS plug-in 4.0.0 get latest fails when upgrading from 3.2.0

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • tfs-plugin
    • None
    • Jenkins 1.627
      multi-job plugin
      folder plugin

      Windows 8.1 x64 (master)
      CentOS 5.5 x64 (slave)

      Split off from JENKINS-30330

      After upgrading from tfs-plugin 3.2.0 to 4.0.0, all existing jobs can no longer get latest from TFS:

      Started by user <user>
      [EnvInject] - Loading node environment variables.
      Building on master in workspace C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace
      Querying for remote changeset at '$/<product>/7.12/work/other/internal/qa/ant' as of 'D2015-09-09T05:37:01Z'...
      Query result is: Changeset #208383 by '<domain>\<user>' on '2015-09-01T14:44:48Z'.
      Listing workspaces from https://<server>:8088/tfs/<collection>...
      Workspace                                                 Owner                          Computer                    Comment                                                              
      --------------------------------------------------------- ------------------------------ --------------------------- ---------------------------------------------------------------------
      <list of *all* workspaces on server>
      
      Getting version 'C208383' to 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace'...
      FATAL: com.microsoft.tfs.core.clients.versioncontrol.exceptions.ItemNotMappedException: There is no working folder mapping for C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace.
      java.lang.RuntimeException: com.microsoft.tfs.core.clients.versioncontrol.exceptions.ItemNotMappedException: There is no working folder mapping for C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace.
      	at hudson.plugins.tfs.model.Server.execute(Server.java:110)
      	at hudson.plugins.tfs.model.Project.getFiles(Project.java:177)
      	at hudson.plugins.tfs.actions.CheckoutAction.checkout(CheckoutAction.java:54)
      	at hudson.plugins.tfs.TeamFoundationServerScm.checkout(TeamFoundationServerScm.java:221)
      	at hudson.model.AbstractProject.checkout(AbstractProject.java:1277)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:610)
      	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:532)
      	at hudson.model.Run.execute(Run.java:1741)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:408)
      Caused by: com.microsoft.tfs.core.clients.versioncontrol.exceptions.ItemNotMappedException: There is no working folder mapping for C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01\workspace.
      	at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.getLocalWorkspace(VersionControlClient.java:737)
      	at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.getWorkspace(VersionControlClient.java:2154)
      	at hudson.plugins.tfs.model.MockableVersionControlClient.getWorkspace(MockableVersionControlClient.java:93)
      	at hudson.plugins.tfs.commands.GetFilesToWorkFolderCommand.call(GetFilesToWorkFolderCommand.java:57)
      	at hudson.plugins.tfs.commands.GetFilesToWorkFolderCommand.call(GetFilesToWorkFolderCommand.java:17)
      	at hudson.remoting.LocalChannel.call(LocalChannel.java:45)
      	at hudson.plugins.tfs.model.Server.execute(Server.java:106)
      	... 11 more
      Finished: FAILURE

      If I create a new Jenkins job which has not been executed with tfs-plugn 3.2.0 - it seems to behave:

      Creating workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER' owned by '<domain>\<user>'...
      Created workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER'.
      Mapping '$/<product>/7.12/work/other/internal/qa/ant' to local folder 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01_400\workspace' in workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER'...
      Mapped '$/<product>/7.12/work/other/internal/qa/ant' to local folder 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01_400\workspace' in workspace 'Jenkins-7.12-work-publish_nl000fs01_400-MASTER'.
      Getting version 'C208383' to 'C:\Program Files (x86)\Jenkins\jobs\7.12\jobs\work\jobs\publish_nl000fs01_400\workspace'...
      

      If I then let the job execute on another Windows slave, it also works fine.

      When I downgrade to 3.2.0 the 'old' jobs work again:

      [workspace] $ tf get . -recursive -version:D2015-09-09T06:05:37Z -noprompt ********
      All files are up to date.
      

      And so do the 'new' jobs:

      [publish_nl000fs01_400] $ tf get . -recursive -version:D2015-09-09T06:07:20Z -noprompt ********
      All files are up to date.
      

      If I then upgrade to 4.0.0 again, delete the TFS workspace from the server, then the workspace is succesfully created.

      WORK-AROUND delete tfs workspaces for Jenkins jobs from server

            dastahel David Staheli
            smd Stefan Drissen
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: