Premier Field Engineer, Microsoft Services Customer Service and Support
Update: It turns out that in the final release of Beta2 (instead of the pre-Beta2 build we’re using), we will rename the existing Beta1 templates to “Process Template X (Beta 1)” and upload new versions of the templates – so this won’t be as painful.
I’ll admit that the audience for this blog post is small, since TFS2010 Beta1 did not have a go-live license and there will be very few people who upgrade a Beta1 server to Beta2. However, we hit this after upgrading our VSTS Pioneer Dogfood TFS server from Beta1 to an early Beta2 build last weekend.
Problem #1 – Cannot create new team projects
After you upgrade a TFS Beta1 server to TFS Beta2, you may be unable to add new Team Projects to an existing Team Project Collection (TPC). When you run the Project Creation Wizard, it may fail with the following error message in the log:
2009-08-31T14:03:39 | Module: GSSStructureUploader | Thread: 17 | TF30181: Error occurred while adding access entry : action name: "ADMINISTER_TEST_ENVIRONMENTS" sid: "S-1-9-1551374245-678206409-4164841793-2695741645-3025924470-1-334192246-596365894-2376495270-2693603616" deny: "True" Exception Message: TF50609: Unable to retrieve information for action ADMINISTER_TEST_ENVIRONMENTS, it does not exist.
2009-08-31T14:03:39 | Module: GSSStructureUploader | Thread: 17 | TF30181: Error occurred while adding access entry : action name: "ADMINISTER_TEST_ENVIRONMENTS" sid: "S-1-9-1551374245-678206409-4164841793-2695741645-3025924470-1-334192246-596365894-2376495270-2693603616" deny: "True"
Exception Message: TF50609: Unable to retrieve information for action ADMINISTER_TEST_ENVIRONMENTS, it does not exist.
The reason this happens, is because the old Beta1 Process Templates are still in the TPC – the upgrade does not replace them. (What would you think if we dropped any customizations you made to the process templates and uploaded new ones over the top?).
So, the solution is to delete these process templates and upload new ones.
Problem #2 – Cannot upload new process templates
When you try and upload the new process templates to the collection, you may receive another error. If you look in the log, it might look something like this:
2009-08-31T12:29:39 | Module: Work Item Tracking | Thread: 45 | Validating work item type from file 'C:\TEMP\ProcessTemplates\MSF for Agile Software Development v5.0\WorkItem Tracking\TypeDefinitions\TestCase.xml'... Exception Type: Microsoft.TeamFoundation.WorkItemTracking.Client.Provision.ProvisionValidationException Exception Message: TF237091: Actual reporting settings for the field Microsoft.VSTS.TCM.AutomationStatus are different from those specified in the XML. Changing these settings is prohibited.
2009-08-31T12:29:39 | Module: Work Item Tracking | Thread: 45 | Validating work item type from file 'C:\TEMP\ProcessTemplates\MSF for Agile Software Development v5.0\WorkItem Tracking\TypeDefinitions\TestCase.xml'...
Exception Type: Microsoft.TeamFoundation.WorkItemTracking.Client.Provision.ProvisionValidationException
Exception Message: TF237091: Actual reporting settings for the field Microsoft.VSTS.TCM.AutomationStatus are different from those specified in the XML. Changing these settings is prohibited.
The reason this happens, is because in the Beta1 process template, the ‘Reporting Type’ property is set to ‘detail’, whereas in the Beta2 process template it has changed to ‘dimension’.
Beta1:
C:\>witadmin listfields /collection:http://server:8080/tfs/collection /n:Microsoft.VSTS.TCM.AutomationStatus Field: Microsoft.VSTS.TCM.AutomationStatus Name: Automation status Type: String Use: 2Do (Test Case), CodeReviewer (Test Case), Intellisets (Test Case), TestAgile (Test Case), TestAgile1 (Test Case) Indexed: False Reportable As: detail
C:\>witadmin listfields /collection:http://server:8080/tfs/collection /n:Microsoft.VSTS.TCM.AutomationStatus
Field: Microsoft.VSTS.TCM.AutomationStatus
Name: Automation status
Type: String
Use: 2Do (Test Case), CodeReviewer (Test Case), Intellisets (Test Case), TestAgile (Test Case), TestAgile1 (Test Case)
Indexed: False
Reportable As: detail
Beta2:
<FIELD reportable="dimension" type="String" name="Automation status" refname="Microsoft.VSTS.TCM.AutomationStatus">
Changing the reporting type of a field is not something that the process template upload service will do for you. Fortunately the solution is fairly simple, you just have to change the reporting type of the field before uploading the new process template.
Steps to replace your process templates with Beta2 versions
Hope this helps. Stay tuned for more upgrade stories.
And any option to use a Project Collection from Beta1 (just 1 project) within Beta2? I tried attaching the Project Collection, but it doesn't find it (guess it's related to any breaking changes or similar)