0

I'm trying to upgrade TFS2010SP1 to TFS2017 via TFS2015. I have moved my databases to a new server (using the migration guide) and I'm now trying to upgrade to TFS2015. The TFS 2015 upgrade installer fails on "Data Tier". The log messages is as follows:

[Info   @19:18:29.404] +-+-+-+-+-| Running VerifyAllCollectionsAttached: Verifying that all team project collections are attached |+-+-+-+-+-
[Info   @19:18:29.405] 
[Info   @19:18:29.405] +-+-+-+-+-| Verifying that all team project collections are attached |+-+-+-+-+-
[Info   @19:18:29.405] Starting Node: VCOLLECTIONSATTACHED
[Info   @19:18:29.405] NodePath : VINPUTS/Progress/Conditional/VPCUPGRADE/VCOLLECTIONSREACHABLE/VCOLLECTIONSATTACHED
[Info   @19:18:29.408] Getting Reachable Collections
[Info   @19:18:29.408] Reachable collections found: 8
[Info   @19:18:32.558] Node returned: Success
[Info   @19:18:32.558] Completed VerifyAllCollectionsAttached: Success
[Info   @19:18:32.558] -----------------------------------------------------
[Info   @19:18:32.559] 
[Info   @19:18:32.559] +-+-+-+-+-| Running VerifyCollectionsUpgradeable: Verifying that the team project collections are upgradeable |+-+-+-+-+-
[Info   @19:18:32.559] 
[Info   @19:18:32.559] +-+-+-+-+-| Verifying that the team project collections are upgradeable |+-+-+-+-+-
[Info   @19:18:32.559] Starting Node: VCOLUPGRADEABLE
[Info   @19:18:32.559] NodePath : VINPUTS/Progress/Conditional/VPCUPGRADE/VCOLLECTIONSREACHABLE/VCOLUPGRADEABLE
[Info   @19:18:32.563] Getting Reachable Collections
[Error  @19:18:32.573] System.ArgumentNullException: Value cannot be null.
Parameter name: serviceLevel
   at Microsoft.TeamFoundation.Common.TFCommonUtil.CheckStringForNullOrEmpty(String stringVar, String stringVarName, Boolean trim)
   at Microsoft.TeamFoundation.Framework.Server.ServiceLevel..ctor(String serviceLevel)
   at Microsoft.TeamFoundation.Admin.VerifyCollectionsUpgradeable.Run(ActivityContext context)
   at Microsoft.TeamFoundation.Admin.Engine.AdminNode.RunNode()
   at Microsoft.TeamFoundation.Admin.Engine.AdminNode.Run(String& message, Boolean& continueOnError)
[Error  @19:18:32.573] Unhandled message not defined for task VCOLUPGRADEABLE:Verifying that the team project collections are upgradeable
[Error  @19:18:32.581] TF400129: Error from readiness check: Verifying that the team project collections are upgradeable
[Info   @19:18:32.581] Completed VerifyCollectionsUpgradeable: Error

I have run "select * from sys.extended_properties" against all of my TFS databases and they all show TFS_SERVICE_LEVEL = "Tfs2010.SP1.KB2182621.P#1"

Any suggestions on how to proceed or diagnose further much appreciated.

Note that this question is unique because it is not asking how to upgrade from 2013 to 2017, instead it is specifically about a problem which has been encountered during that upgrade process when he upgrade installer is throwing an exception.

Beakster
  • 348
  • 1
  • 12
  • Possible duplicate of [Migrate data from TFS 2010 to TFS 2017](https://stackoverflow.com/questions/45817814/migrate-data-from-tfs-2010-to-tfs-2017) – Daniel Mann Feb 13 '18 at 18:58
  • @DanielMann, not a duplicate. That question is asking how to migrate from 2010 to 2017, I know how. I am going from 2010SP1 to 2015 (Confirmation this is possible here: https://blogs.msdn.microsoft.com/tfssetup/2015/09/10/prepare-for-team-foundation-server-tfs-2015-upgrade/) The problem is the upgrade fails with an exception and I don't know why – Beakster Feb 13 '18 at 19:14
  • Did you detach the collections before migrating them? Did you migrate them to a supported version of SQL server? – Daniel Mann Feb 13 '18 at 19:19
  • @DanielMann, Migrated to Sql Server 2016 Standard SP1 CU7 so yes it's a supported version. Collections should not be detached to upgrade. If the collections were detached then the upgrade would have failed at the previous step "VCOLLECTIONSATTACHED". This step passed and it found all 8 of my collections. – Beakster Feb 13 '18 at 19:41
  • What update of TFS 2015 are you targeting? TFS 2015.3 supports SQL 2016, but earlier versions do not. – Daniel Mann Feb 13 '18 at 20:38
  • 2015.4. I have also directed it to my original TFS DB to run readiness check and it throws the same error so I don't believe this is an issue with moving the DB to a different server. – Beakster Feb 13 '18 at 21:02
  • I ran SQL Profiler against the Db while the readiness check was running. I found that it is checking for a stored procedure called prc_GetServiceVersion. If this procedure exists it runs it, otherwise it returns 0. This stored procedure does not exist on my TFS DBs. – Beakster Feb 13 '18 at 21:05
  • Silly question... did you install the TFS 2010 SP1 Cumulative Updates as well? – Daniel Mann Feb 13 '18 at 21:07
  • I have also now tried upgrading to TFS2013 instead of directly to 2015 but the 2013 readiness check throws exactly the same error on the VerifyCollectionsUpgradeable goal. – Beakster Feb 13 '18 at 21:07
  • If you didn't install the CUs for TFS 2010 SP1, that may be the issue: https://support.microsoft.com/en-us/help/2643415/cumulative-update-package-2-for-visual-studio-team-foundation-server-2 – Daniel Mann Feb 13 '18 at 21:09
  • @DanielMann Checking my version on current install I am at: "10.0.40219.1 (SP1 KB2182621)" I do not believe this has the latest CU2 as that would be version (10.0.40219.371), but the documents only specify SP1 as a requirement for upgrade, – Beakster Feb 13 '18 at 21:11
  • @DanielMann I tried installing CU2 and restarting the server. I then attempted upgrade on the database in place before moving it and I get the same error: `[Info @21:39:58.871] Getting Reachable Collections [Error @21:39:59.002] System.ArgumentNullException: Value cannot be null. Parameter name: serviceLevel at Microsoft.TeamFoundation.Common.TFCommonUtil.CheckStringForNullOrEmpty(String stringVar, String stringVarName, Boolean trim)` – Beakster Feb 13 '18 at 21:42
  • After installing the update the result of: `select * from sys.extended_properties` TFS_SERVICE_LEVEL = Tfs2010.SP1.KB2643415.P#10 So the Cumulative Update has upgraded the DB, but I still have the same error – Beakster Feb 13 '18 at 21:48

1 Answers1

0

I ended up having to create a support ticket with Microsoft to get this solved. There was a Collection which was in an erroneous state. Once this collection was removed then the exception was no longer thrown and the upgrade could continue.

Beakster
  • 348
  • 1
  • 12