Killing off TFS 2005: Part 3
Posted 07 April 2011, 18:30 | by Ben Duguid | Perma-link
Previously on Killing off Team Foundation Server 2005
As you no doubt recall, I've now got the hang of simple migration projects with the Team Foundation Server Integration Tools. I'm therefore trying out the migration of the actual data (from a backup; remember the /confirmed
switch we added to the Upgrade command in Part 1?).
The full series
- Part 1: In which the scene is set.
- Part 2: In which the Hands on Labs are completed.
- Part 3: Where we attempt the migration (this post).
- Part 4: In which conclusions are drawn.
- Part 5: In which errors are noted.
Part 3: Dry run with upgraded project
The first step was to Download the Process Templates (in Visual Studio, go to Team | Team Project Collection Settings | Process Template Manager) that had been used from the MissouriImported Project Collection, and Upload them into the DefaultCollection Project Collection.
I then tried to create a new Project using the Process Template I'd imported, but it failed on the "Populate Reports" task. As is increasingly the case, the logs are your friend. The cause was that the Reporting Services Data Source names have changed since TFS 2005 - they were originally called TfsOlapReportDS
and TFSReportDS
- however in TFS 2010 they are now Tfs2010OlapReportDS
and TFS2010ReportDS
respectively.
This was fairly simple to fix - navigate to the Reports
folder in the downloaded process template, open the ReportsTasks.markup
file and do a Find and Replace on "/TfsOlapReportDS"
and "/TfsReportDS"
for the 2010 versions - note the leading slash in there - you want to be replacing the "name" attribute, while leaving the "dnsname" attribute as is - this will allow TFS to find the incorrect version, and update it with the correct one. Save the file, and re-upload the process template. To be safe, I then restarted Visual Studio.
With the updated Process Template in place, I successfully created a couple of new projects using it, and decided to try and migrate the larger of the two projects.
It all started so well. I set up the TFS Integration configurations as per my learnings from the Hands On Lab (HOL), saved it, and started the migration. The tool soon found 1,699 Work Item Change groups (work items, changes/updates and links - there are about 600 work items in that project, we weren't really using it properly), analysed them, and started migrating them - that's when the trouble started.
It turns out that someone added a new Work Item Type to the project without updating the Process Template - so there are just over 200 work items of type "Defect" that have no where to go, which is odd, as the (admittedly out of date) HOL had implied that "the default is to move all work item types" and this is only disabled if you define a mapping - I've not defined any mappings, but clearly it's not going to create it on it's own. It's all the more tedious as the preferred fix is to create a mapping rule, and resolve the issue that way - however it appears at the moment that I have to do this one conflict at a time, and there are currently over 400 and counting so it could take some time. That said, the whole purpose of this test is to iron out these sorts of issues, so what I'm going to do for next time is import the missing Work Item Type.
At the time of me writing this (18:13), the process has been running for about 1.75 hours, it's migrated 1,236 of 1,699 work item "change groups" (after discovering and analysing them) - which is about what I'd expected and discovered over 12,000 Version Control "change groups" - the change set ID's on that server go up to 53,000, however they aren't all in the projects I'm migrating - Sidekicks seems to think it's around 33,000
There now follows a short intermission.
Filed under: TFS