jeudi 18 juin 2009

Team Foundation Server Error TF30177 : Team Project Creation Failed

Cet article a pour but de répondre à une problématique très bloquante : l'impossibilité de créer un Team Project sur un serveur TFS 2008.
TFS 2008 intégrant un grand nombre de technologies : Sharepoint, Reporting Services, SQL 2005 ou 2008, les causes de ce problème peuvent être diverses.
Nous allons donc rescencer les différentes causes les plus courantes pour tenter de résoudre ce problème.
Hypothèse de départ : le serveur a été installé dans les règles et a permis de créer un premier projet sans aucune difficulté.
WorkAround N°1 : Modification de l'installation du client
Dans ce workaround, on est capable de créer un projet par exemple à partir du serveur mais pas d'un poste client. Dans ce cas, le symptome le plus probable est une installation incorrecte du SP1 de Visual Studio 2008 sur le client. Typiquement, dans le cas de la séquence d'installation suivante : Visual Studio 2008 puis SP1 puis Team Explorer. Si Team Explorer a été installé après le SP1, on ne pourra pas créer de team Project.
La solution : Désinstaller puis réinstaller le SP1 de Visual Studio
Le SP1 peut être téléchagé à l'adresse suivante : http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
A noter que si le SP1 n'est pas installé, il faut l'installer après avoir installé Team Explorer.
WorkAround N°2 : Erreur de sécurité sur le composant de service "IIS WAMREG admin Service" (Component Services)
Cet erreur apparait généralement dans les logs du serveur et se présente sous la forme d'une erreur DCOM :
Event Type: ErrorEvent Source: DCOMEvent Category: NoneEvent ID: 10016Date: 6/4/2009Time: 4:31:21 AMUser: DOMAIN\tfsserviceComputer: TFS-SERVERDescription:The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {61738644-F196-11D0-9953-00C04FD919C1} to the user DOMAIN\tfsservice SID (S-1-5-21-1202660629-1614895754-725345543-2149). This security permission can be modified using the Component Services administrative tool.
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
La procédure consiste à rétablir les permissions adéquates pour permettre une Locale Activation et Local Lauch sur le composant IIS WAMREG admin Service pour le compte TFSService, pour cela procéder comme suit :
  1. Ouvrir la console Administrative Tools sur le serveur TFS
  2. Ouvrir l'applet Component Services
  3. Sélectionner le noeud DCOM Config
  4. Sélectionner le composant IIS WAMREG admin Service
  5. Ouvrir la fenêtre Properties / Onglet Security
  6. Cliquer sur le bouton Edit dans la section "Launc and Activation Permissions"
  7. Donner les droits au compte TFSService avec les droits Local Launch et Local Activation
Ce symptôme peut également survenir pour un autre composant que l'on identifiera via le Guid renvoyé par l'Event Log de Windows.

WorkAround N°3 : Erreur de sécurité sur le dossier c:\windows\temp
Ce dossier situé sur le serveur hébergeant le tier applicatif de TFS est utilisé comme dossier de travail par TFS via le compte TFSService. Si ce dernier compte n'a pas les droits d'écriture sur ce dossier, la création du Team Project échoue. Il suffit ici simplement de modifier les permissions pour le compte TFSService
WorkAround N°4 : Erreur de sécurité Reporting Services
Lors de la création d'un Team Project, TFS procède au chargement des Reports correspondant au process choisi. Dans le cas d'un problème de permissions, les rapports ne peuvent être téléchargés et donc la création du Team Project échoue.
Dans ce cas 2 actions doivent être effectuées :
  1. Lancer le site d'administration Reporting Services : http://TFSServer/reports
  2. Activer l'onglet Properties / Security
  3. Vérifier que TFSService est a le role Content Manager
  4. Afficher la page Site Settings (lien en haut de la page à droite)
  5. Ouvrir le lien Configure Security at Site Level
  6. Donner également à ce niveau si nécessaire les droits nécessaires à TFSService
WorkAround N°5 : Sharepoint : Erreur de résolution de nom => nom du serveur / FQDN
Ce workAround est le plus subtil : Team Explorer va par exemple tenter de générer le site web en utilisant le nom du serveur TFS, alors que le FQDN (Full Qualified domain Name) est requis.
Par exemple le site que tente de créer TFS est http://TFSServer/Sites/MonTeamProject alors que ce devrait être : http://TFSServer.MonDomaine.com/Sites/MonTeamProject .
Ici le workaround consiste à utiliser l'utilitaire TFSREG se trouvant dans le répertoire : "C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools". Cet utilitaire permet d'extraire la configuration du serveur au format XML, de la modifier puis la republier pour prise en compte des modifications.
La procédure est la suivante

  1. Lancer l'invite de commande Windows
  2. Se placer dans le dossier C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools
  3. Lancer la commande : TFSReg.exe /EXPORT MyConfig.xml
  4. Ceci génère dans le dossier courant la configuration du serveur TFS au format XML
  5. Conserver une copie du fichier généré
  6. Ouvrir le fichier généré à l'aide du bloc notes
  7. Localiser les occurences WSS et ReportService et modifier les URLs pour prendre en compte le FQDN plutot que le nom du serveur
  8. Sauvegarder les modifications
  9. Lancer la commande : TFSReg.exe /OVERWRITE MyConfig.xml .
  10. Tester la création d'un TeamProject (l'adresse du Project Portal affichée dans le wizard de création devrait afficher la modification)

WorkAround N°6 : Sharepoint : Problème de droits
Vérifier à partir de Sharepoint 3.0 Central Administration / Application Management / Site Collection Administrator. Verify that TFSService has an administrator Role and that another account has the role is the secondary site collection administrator