28 July 2010

How does Network Isolation in VS Lab Management work?

MTMIconThe other day I had a client ask me to describe how Network Isolation is accomplished in Visual Studio 2010 Lab Management.  Of course I had never looked that deep, so I quickly responded (in my best Consultant voice) “Why, it’s magic!”

That wasn’t a satisfactory answer for my client so I did some digging and found some emails that I have along with an article on MSDN that describes what’s happening.

Lab Manager adds a second NIC to each of the VMs in your lab and also creates a Private virtual network.  It attaches the new NIC on each machine to the Private network.  The other NIC is attached to the external network.

On the Private NIC, the MAC address, machine name and IP address are held constant.  This gives us a safe and static means of communicating between our test machines, say our Web server and our DB server.  Since these are static, we can use the same .config file for any deployed lab deployed from the network isolated environment.

The external NIC is given a unique IP address, MAC address and alias (like Lab_[GUID].myCompany.com).  Lab Manager also disables NetBIOS and DNS registration on the external NIC. The external NIC’s unique alias is explicitly registered in DNS by Lab Manager.  This configuration along with the unique alias, MAC and IP address prevents conflicts between multiple environments deployed from this template while allowing all of the machines to be managed by the Test Controller.

In a nutshell, when the machines in the environment need to communicate among themselves, the traffic is routed over the Private NIC.  When they need to communicate with the “real world” or the Test Controller, they use the external NIC.  Since all of the naming on the inside is well-known, everything is consistent, even if we have more than one copy of the environment running at the same time.

Here’s a snapshot from the MSDN article (linked above) showing how it hooks together.

image




15 July 2010

MSBuild 4.0 Known Issues List Posted

Logo Microsoft Visual StudioThe Visual Studio blog has posted a list of known issues with MSBuild that may cause Visual Studio to crash.

Since the release of Visual Studio 2010 we have received a few reports of crashing behavior which can be traced back to issues with MSBuild.  We’ve analyzed all of these and there are several particular cases where a crash can occur.  We’ve also added a notification to Windows Error Reporting to help guide those who hit these errors.

Unemployed developer? Like helping non-profits? Want VS Ultimate with MSDN?

no-free-lunchEvery so often, Microsoft provides “special opportunities” to folks that have been received the Microsoft Most Valuable Professional (MVP) award.  Recently, one of the opportunities arose and I received some certificates redeemable for Visual Studio 2010 Ultimate with MSDN subscriptions to distribute however I like.  Wow! 

Now that makes you think.  What is the best way to distribute these with the most impact on the Community.  While I was mulling this over I came across a blog post by Arnie Rowland (MVP – SQL Server Development).  He was having the same problems I was except that he came up with a brilliant solution. 

For those unaware, a MSDN Ultimate subscription allows the subscriber to download and own full featured versions of Visual Studio Ultimate, as well as most any Microsoft software. The license is for development use, and is not transferable. And it has a retail value of approximately $12,000.

A couple of years ago, when I had a similar opportunity, I struggled with what to do. It seemed too much to just hand out to friends. I asked myself why I would give someone $12,000 if they were not deserving or contributing anything in return. I then considered offering the subscriptions as raffle items at user group meetings. But that caused me some concern, for there would be no certainty that the winner would value the product or put it to good use. Or perhaps the winner would be inclined to attempt to sell or barter the subscription. (I had on a previous occasion been contacted by the winner of a similar product who had no use for it and was attempting to get some value from the prize.) That would not coincide with what I considered in the interest of the larger software development community.  And I just didn’t like the possibility of knowing that such a valuable ‘gift’ would be not be put to societal gain.

So, I gave out the subscriptions to folks that committed to volunteering at least 100 hours to develop software projects for several non-profits. On one project, there were excellent benefits from a group of folks learning to work together as a distributed development team. We all learned quite a bit. Other non-profits gained excellent software at no cost.”    - Arnie Rowland

Arnie and a few other MVPs, myself included, have pooled their MSDN subscriptions and then added tools and training from a number of other sources.

“This year, I will be seeking proposals from unemployed (or under-employed) developers that would use the tools to improve their skills with .NET, SQL Server, and Windows 7 Phone. The proposals should be for a project for a non-profit -either a new project or an upgrade to an existing project.

The idea is to provide the recipient access to all of the tools needed to improve his/her skills, an opportunity to gain practical experience, the potential to earn a recommendation and/or referral –and to positively contribute to society as a form of 'give-back'. No free lunch, just sweat equity –the kind that makes us all feel good for the effort. ”       - Arnie Rowland

To read the entire post, review the Guidelines or submit a Proposal, Please read: While you don't get a 'Free Lunch', you will get your just desserts...

09 July 2010

Want to try out Visual Studio Lab Management?

hero_single_labmgnt_boxshotThe Visual Studio Lab Management Team has come through again!  They have released an all-in-one Visual Studio and Lab Management VHD that’s ready to go.

“To enable quick evaluation of the Lab Management 2010 pre-RTM, we have created a Windows Server 2008 R2 Hyper-V based Virtual Machine (VM) that provides an all-in-one setup with pre-configured System Centre Virtual Machine Manager, Visual Studio, Team Foundation Server with Lab Management enabled.”

You will need to download the pieces of the VHD and read the team’s blog post describing installation steps.

Blog: Lab Management (pre-release) 2010 Walkthrough VHD

There are 19 files in this download so to make downloading easy, follow these steps.

1. Download and install Free Download Manager. This utility provides:

  • Auto-resume support for interrupted downloads.
  • Multiple simultaneous download streams for (usually) a much faster download experience.
  • As the name implies, it's completely free.

2. Select the URLs below and copy to your clipboard.

----- Select This Section and Copy It (CTRL+C)  - Do Not Include This Line ------------------

http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part01.exe
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part02.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part03.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part04.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part05.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part06.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part07.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part08.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part09.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part10.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part11.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part12.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part13.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part14.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part15.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part16.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part17.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part18.rar
http://download.microsoft.com/download/4/3/8/438B2F26-0575-479C-A94B-B03C1E4E32A1/Visual%20Studio%20Lab%20Management%20(pre-release)%202010%20VHD.part19.rar

3. Launch the user interface for Free Download Manager (either from the Start Menu or via the system tray icon if FDM is already running).

  • Click File -> Import -> Import List of URLs from Clipboard.
  • When prompted for a download group, accept the default and click OK.

4. You are now free to minimize Free Download Manager while the files download. By default, they will be saved to c:\downloads.

 

FYI: Telerik TeamPulse Release Webinar Registration is open

TelerikTeamPulseJust heard from Joel Semeniuk that registration is now open for the TeamPulse Release webinar to be held on Tuesday,July 27, 2010 from 11:00am – 12:00pm EDT.

“TeamPulse combines agile and lean best practices enabling your team to effectively plan and measure results, while continually improving your delivery process. The tool offers a set of highly intuitive visual tools for managing requirements, planning and scheduling, while facilitating the involvement of your entire team in the decision-making process. In this session you will get a firsthand look at how TeamPulse will help you achieve your project goals.”

I’ve played with the Beta release and it looks interesting.  I’ll be attending if I’m not engrossed is an all-consuming TFS implementation for a client.

08 July 2010

Install and Configure Team Explorer Everywhere on Mac OSX – Part 3

In Part 1 of this series I described the background of the Team Explorer Everywhere 2010 (TEE) tool and its usefulness when working on non-Microsoft OSes.  I then listed the System Requirements for TEE and proceeded to list the steps required to install the Eclipse IDE which will host the TEE Eclipse plug-in.

In Part 2 I continued with the steps necessary to download and install the TEE Eclipse plug-in into the Eclipse IDE.

In Part 3 I will complete the series by showing how to connect your newly installed Team Explorer to your Team Foundation Server 2010 instance along with showing the ALM tools now available to you.

Quick Links

Part 1 – Background, System Requirements and Installation of Eclipse on Mac OSX “Snow Leopard”

Part 2 – Installation of Team Explorer Everywhere 2010 into Eclipse

Configuring Team Explorer Everywhere 2010 to connect to Team Foundation Server 2010

1. At this point you should have Eclipse and TEE installed and your Eclipse IDE should look something like this.

image

2. To make Team Explorer more readable we are going to move it so that it sits in the same area of Eclipse as Package Explorer.  To do this you can simply drag the Team Explorer tab and drop it on top of Package Explorer

image

3. When you are done Eclipse should look like this.  Now you need to connect to Team Foundation Server.  To make this connection, click on the Add existing team project icon on Team Explorer’s toolbar.

image

4. When the Microsoft License Agreement window appears, read it thoroughly and then check the I have read and accept… checkbox then click the Next button.

image

5. In the Product Key dialog, enter your Product Key.  If you don’t have one yet or wish to evaluate TEE then simply select the Use a full featured version… checkbox.  This will configure TE as trial software for 30 days.  If you get a key later you can simply enter it in TEE without having to reinstall.  Click on the Next button to continue.

image

6. In the TFS Server dialog you will enter the connection information need to hook into TFS.  When you finish entering this information, click the Next button.

  • Server: http://[your_tfs_server]:8080/tfs
  • Username: your account name in TFS
  • Domain: your account’s domain name (contact your TFS Admin if you aren’t sure)
  • Password: the password for the account you entered in the Username field.
  • Save Password: check this box if you want TEE to not prompt you for your password every time you connect to TFS. 

Note: If you check the Save Password checkbox your password will be saved as plain text and will be visible to others that may have access to your computer.  Please be aware of the possible security ramifications if your computer is shared with others.

image

7. In the Team Project dialog you will select the appropriate Team Project Collection and one or more Team Projects.  In most cases there will only be a single Team Project collection.  Select as many Team Projects as you normally work within.  If you aren’t sure which to select, contact your Team Foundation Server administrator or team lead.  Click the Next button.

image

8. In the TFS Workspace dialog you will select a Team Foundation Server workspace.  This is not the same as the Eclipse workspace that you selected earlier.  You can safely keep the defaults and click the Finish button.

image

9. If everything worked out, you should now be seeing something similar to the picture below.  The top node is your selected Team Project Collection and the node (or nodes) directly underneath are your Team Projects.  If you expand the first Team Project node (JavaCalcAgile in our case) you will see the nodes for the Work Items engine, Documents (Sharepoint document repository), Build engine (automated builds) and Source Control.

image

Congratulations!  You now have Team Explorer Everywhere 2010 installed and connected to Team Foundation Server 2010.

 


07 July 2010

Install and Configure Team Explorer Everywhere on Mac OSX – Part 2

In Part 1 of this series we discussed the background behind Microsoft’s Team Explorer version for non-Microsoft operating systems called Team Explorer Everywhere 2010 (TEE).  It also listed the System Requirements laid out the initial steps needed to install and configure TEE on a Mac OSX “Snow Leopard” machine.  That first part gave the installation steps for the Eclipse IDE.

Part 2 will show the steps needed to install Team Explorer Everywhere 2010 into the Eclipse IDE.

Quick Links

Part 1 – Background, System Requirements and Installation of Eclipse on Mac OSX “Snow Leopard”

Part 3 – Configure Team Explorer to connect to Team Foundation Server 2010

Download Team Explorer Everywhere 2010

1. Open a Safari window and navigate to http://www.microsoft.com/downloads/details.aspx?FamilyID=af1f5168-c0f7-47c6-be7a-2a83a6c02e57&displaylang=en 

2. Click on the download files below link.

image

3. Click on the Download button next to TFSEclipsePlugin-UpdateSiteArchive010.0.0.zip.  The file will be downloaded into your Downloads folder. When the download completes, MacOS will have stripped the .zip extension from the file.  You will have to add it back in.

image

Install Team Explorer Everywhere 2010 into Eclipse

4. Open Eclipse to workbench.

image

5. Select the Help | Install New Software… menu item.

image

6. In the Install dialog, click on the Add button to add a new site.

image 

7. In the Add Repository dialog enter the following and then click the Ok button

  • Name: Local Team Explorer plug-in archive 
  • Location: /Users/[your account name]/Downloads/TFSEclipsePlugin-UpdateSiteArchive010.0.0.zip where [your account name] is your login account.

image

8. Back in the Available Software dialog, select the Visual Studio Team Explorer Everywhere 2010 item’s checkbox then click the Next button.

image

9. In the install Details dialog, review your selection and click the Next button.

image

10. In the Review Licenses dialog, read the entire license agreement (you’d be the first) and select the I accept… radio button if you agree.  Click the Finish button to install.

image

11. Wait a bit for the installation to finish.

image

12. Let Eclipse restart after installation.

image

13.When Eclipse comes back up, select the Window | Show View | Other… menu item.

image

14. In the Show View dialog, expand the Team Foundation Server node and select the Team Explorer node then click the Ok button.

image

15. The Team Explorer tab will be shown docked at the bottom of the Eclipse window.

image

In Part 3 of this series we will configure Team Explorer to connect a Team Foundation Server 2010 server.





06 July 2010

Install and Configure Team Explorer Everywhere on Mac OSX – Part 1

I occasionally come across a client that has most of their development happening on Windows machines but their designers work on Macs. 
This request happens often enough that I need to document it but infrequently enough that I don’t remember between occasions, so I’m going to document the procedure here.  This will be done in 3 parts.  The first part (below) will describe the actual installation of the Eclipse IDE and addition of TEE.  The second part will describe the installation of TEE into Eclipse.  Part 3 will show how to connect TEE to your TFS 2010 installation.

Quick Links

Part 2 – Installation of Team Explorer Everywhere 2010 into Eclipse
Part 3 – Configure Team Explorer to connect to Team Foundation Server 2010

Background

When we install Team Foundation Server we need to bring all of the team members into the repository but we don’t want to force the Mac folks to change to a Windows-based machine.  We could force them to run Parallels and then use Team Explorer from Windows but this is counter to one of the main pillars of TFS…
Let the user work where they are most comfortable.
To that end, Microsoft has provided a Team Explorer version that runs on non-Windows and Windows operating systems named (appropriately enough) Team Explorer Everywhere 2010, hereafter called TEE.  In fact, it will run pretty much anywhere you can run Eclipse-based IDEs.
As you may recall, Microsoft purchased the Teamprise assets (and team) from SourceGear back in November 2009.  Team Explorer Everywhere 2010 is the first release of the updated bits from that acquisition.

System Requirements

Here are the formal system requirements from Microsoft’s download page:
Supported Operating Systems:
  • Windows XP SP2
  • Windows Vista
  • Windows 7 (x86, x64)
  • Linux with GLIBC 2.3 to 2.11 (x86, x86_64, PowerPC)
  • Mac OS X 10.4 to 10.6 (PowerPC, Intel)
  • Solaris 8, 9, 10 (SPARC, x86, x86-64)
  • AIX 5.2 to 6.1 (POWER)
  • HP-UX 11i v1 to v3 (PA-RISC, Itanium)
Hardware:
  • 1 GHz or faster processor
  • 1 GB RAM or more
  • 1 GB of available hard-disk space; a portion of this disk space will be freed after installation if the original download package is removed from the hard drive
Any of the following IDEs:
  • Eclipse 3.0 to 3.5 on Windows, Linux, Mac OS X, Solaris, AIX, or HP-UX
  • IBM Rational Application Developer 6.0 to 7.5 on Windows
  • IBM Rational Application Developer 7.0 to 7.5 on Linux
  • Additional IDEs based on Eclipse 3.0 to 3.5 are supported including Adobe Flex Builder 3 and Aptana Studio 2.0
Any of the following versions of the Java runtime:
  • Sun Java™ 1.4 to 6, or IBM Java™ 1.4 to 6 on Microsoft Windows
  • Apple Java™ 1.4 to 6 on Mac OS X
  • Sun Java™ 1.5 to 6 on Linux or Solaris
  • IBM Java™ 1.5 to 6 on Linux or AIX
  • HP Java™ 1.5 to 6 on HP-UX

Eclipse Installation

Note: We will be installing onto Mac OSX 10.6.2 “Snow Leopard” today.
1. Start by opening Safari (or any web browser) and navigate to http://eclipse.org and click on the Download Eclipse button.
image
2. On the Downloads page, select the Eclipse IDE for Java Developers link.  Select either the 32- or 64-bit versions.
image
3. On the mirror selection page, click on the big, green Download arrow.
image
4. Eclipse will download into your Downloads folder.
image
5. When the download completes, open the Downloads folder and double-click on the eclipse-java-helios-macosx-cocoa.tar.gz file to have the Archive Utility extract Eclipse into its own folder in the Downloads folder.

NOTE: A commenter advised me that it is probably better to extract Eclipse to a folder under the Applications folder instead of the Downloads folder.  If you feel that is a better place for it, then please go ahead and just use that as a reference point in the rest of the article. - Steve

image
6. Open the Eclipse folder and double-click on the Eclipse application icon to launch Eclipse.
image
7. When Eclipse launches it will prompt you to select a Workspace. The Workspace is the location that you files reside within while working in Eclipse.  Keep the default value will place all of your files under your Documents folder.  You can tick the Use this as the default and do not ask again checkbox if you don’t want to be prompted for your workspace every time you open Eclipse.  Click the Ok button to continue.
image 
8. On the Welcome page, click on the Workbench icon.
image
9. Congratulations!  You now have Eclipse installed on your Mac.
image

In Part 2, we will install Team Explorer Everywhere 2010 into Eclipse.




05 July 2010

TFS 2010 and Project Server 2010 Integration CTP VM Available

Logo Microsoft Visual StudioMicrosoft has published a Hyper-V Virtual Machine that lets you evaluate the current TFS to Project Server 2010 Integration tools.

“This community technical preview of Team Foundation Server 2010 and Project Server 2010 Integration allows teams to share data between the two servers. This virtual machine includes enterprise project plans in Project Server mapped to team projects in Team Foundation Server, along with sample data to highlight key integration scenarios. The walkthrough documents provide four scenarios that simulate the interactions between the project manager, working in Project Server, and the software development team, working in Team Foundation Server.”

The team is looking for your feedback on this and have a Team Foundation Server and Project Server Integration Forum on MSDN for ideas, problems, discussions, etc.

There are 20 files in this download including the Setup Guide so to make downloading easy, follow these steps.

1. Download and install Free Download Manager. This utility provides:

  • Auto-resume support for interrupted downloads.
  • Multiple simultaneous download streams for (usually) a much faster download experience.
  • As the name implies, it's completely free.

2. Select the URLs below and copy to your clipboard.

----- Select This Section and Copy It (CTRL+C)  - Do Not Include This Line ------------------

http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0001.exe
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0002.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0003.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0004.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0005.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0006.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0007.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0008.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0009.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0010.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0011.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0012.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0013.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0014.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0015.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0016.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0017.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0018.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/package/en_tfs2010_projectserver2010_connector_ctp_hyperv_vm.part0019.rar
http://download.microsoft.com/download/6/4/0/640BAA77-929F-42C4-91C6-1E0597B2EEAD/Virtual+Machine+Setup+Guide.docx

3. Launch the user interface for Free Download Manager (either from the Start Menu or via the system tray icon if FDM is already running).

  • Click File -> Import -> Import List of URLs from Clipboard.
  • When prompted for a download group, accept the default and click OK.

4. You are now free to minimize Free Download Manager while the files download. By default, they will be saved to c:\downloads.


04 July 2010

Versioning Test Cases in Microsoft Test Manager 2010

MTMIcon

I just came across a post by Anna Russo entitled Microsoft Test Manager Test Case Versioning which describes a process for managing Test Case versioning in the new Test Manager tool from Microsoft.  This is one of the things that we at Notion/Imaginet have been discussing internally for a while now since Microsoft changed test cases from Word docs in version control to workitems.  Until Microsoft provides “true” workitem versioning features in TFS we will have to find workarounds.  I think Anna’s way is quite practical.

03 July 2010

TFS 2010 RTM throws TF221122 error when processing OLAP cube

olap_cube

Background

I was working with a client recently.  We were installing and configuring a new Team Foundation Server 2010 installation.  As usual, we started checking out the environment’s stability the day after installation.  We checked Event Logs and ran the TFS 2010 Best Practices Analyzer tool (part of the TFS 2010 Power Tools) and noticed a series of errors from the TFSJobAgent service that repeated each hour.  The full entry is pasted (and scrubbed) at the end of this article so that it will be indexed by search engines.

Environment

The installation environment consisted of:

  • Server 1: App Tier – TFS 2010 RTM, SSRS (SQL Server 2008 SP2)
    • App tier running under CORP\TFSService account
  • Server 2: Data Tier – Database and Analysis Services engine (SQL Server 2008 SP2)
    • Database and Analysis Services running under server’s NETWORK SERVICE account
  • Server 3: SharePoint – MOSS 2010 RTM

Note: The MOSS server in this installation has no bearing on the problem described here.  The issue would have still arisen even if WSS 3.0 was installed on the App Tier. 

Issue

Our reports weren’t being updated with new data and numerous errors were seen in the event log.  The messages we were getting indicated that the TFS Job Service (running as the TFSService service account) couldn’t access the Analysis Services service on the Data Tier. 

OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.

Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.

What is happening is that the TFS Warehouse (database engine) is trying to connect to the Cube (analysis services engine) on the same machine but can’t connect successfully.

Investigation

Over the course of a couple of hours we tried many things, including checking that the NetworkService account had the proper permissions on the SQL Server database and analysis engines.  All looked good. 

To try to rule out a permissions issue we changed SQL Server and Analysis Services service accounts to LocalSystem and rebuilt warehouse. In this case, processing the warehouse and cube was successful but this isn’t a viable solution because we have a dual-tier environment and the LocalSystem account has no network access.

We then changed SQL Server and Analysis Services service accounts back to NetworkService and rebuilt the warehouse. We processed the warehouse successfully but now the cube processing failed like it did before.

We contacted Microsoft Support to see if they could give us a hand.  We gave our contact Wendell a very thorough run down of our environment and troubleshooting steps taken so far.  He was very thorough and nice enough to trust that we knew what we were talking about so we didn’t repeat all the basic troubleshooting steps.  (That was a way better experience than I had talking with the folks at my cable company when they messed up my connectivity.) 

Resolution

After a bit more troubleshooting Wendell and I determined that this was a full-scale “conundrum” so he brought in a couple of other Support folks into the conversation.  One of them had seen something weirdly similar the prior weekend and suggested that we change the SQL database and analysis services account from NetworkService to a domain account.  The TFS Installation Guide states that you can use NetworkService or a domain service account for this purpose and it should work the same way.  In fact, it is my understanding that Microsoft uses NetworkService on its Pioneer Server (dogfooding TFS server) with great results.

We changed both services to run with the Corp\TFSService service account and rebuilt the warehouse. Processing was now successful for both the warehouse and cube.  Changing to a domain account fixed the issue.

Just to satisfy our curiosity, we changed the service accounts back to NetworkService and the processing went back to failure so we know that this is a reproducible issue.

Follow-up

We monitored the Event Logs on the App Tier for the next couple of days to see if the errors reappeared.  They did not so we judged that this fix was successful.

Commentary

Don’t take this post as reason to use a domain service account for the Data Tier services over NetworkService.  This was a very specific case where we were installing on a new AD Domain that was not completely configured.  You may not have the same problem that we had here.

With that said, I usually recommend that all services accounts in a TFS installation be domain service accounts instead of NetworkService so that if you need to configure limited permissions for the account you can do so.


Event Log Entry

Log Name: Application
Source: TFS Services
Date: 6/09/2010 2:49:09 PM
Event ID: 3305
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: tfsat1.corp.mycompany.com
Description:
TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 5/13/2010 6:49:09 PM
Machine: tfsat1
Application Domain: TfsJobAgent.exe
Assembly: Microsoft.TeamFoundation.Framework.Server, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v2.0.50727
Service Host:
Process Details:
Process Name: TFSJobAgent
Process Id: 1748
Thread Id: 2948
Account name: CORP\tfsservice
Detailed Message: TF221122: An error occurred running job Full Analysis Database Sync for team project collection or Team Foundation server TEAM FOUNDATION.

Exception Message: Failed to Process Analysis Database 'Tfs_Analysis'. (type WarehouseException)
Exception Stack Trace: at Microsoft.TeamFoundation.Warehouse.TFSOlapProcessComponent.ProcessOlap(AnalysisDatabaseProcessingType processingType, WarehouseChanges warehouseChanges, Boolean lastProcessingFailed, Boolean cubeSchemaUpdateNeeded)
at Microsoft.TeamFoundation.Warehouse.AnalysisDatabaseSyncJobExtension.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage)
at Microsoft.TeamFoundation.Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage)
Inner Exception Details:
Exception Message: Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Resolution State' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
Server: The operation has been cancelled.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Failure Type Id' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Readiness State Id' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Readiness State' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Test Result Priority' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Outcome Id' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Failure Type' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Test Result Executed By' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Outcome' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
Errors in the high-level relational engine. A connection could not be made to the data source with the DataSourceID of 'Tfs_AnalysisDataSource', Name of 'Tfs_AnalysisDataSource'.
Errors in the OLAP storage engine: An error occurred while the dimension, with the ID of 'Result', Name of 'Test Result' was being processed.
Errors in the OLAP storage engine: An error occurred while the 'Test Result Owner' attribute of the 'Test Result' dimension from the 'Tfs_Analysis' database was being processed.
Internal error: The operation terminated unsuccessfully.
Internal error: The operation terminated unsuccessfully.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, FactCurrentWorkItem', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, FactWorkItemHistory', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, v Fact WorkItem To Tree', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, v Fact Linked Current WorkItem', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, Fact WorkItem To Category', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, v Fact WorkItem Changeset', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, Fact Build Project', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, Fact Build Details', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, Fact Code Churn', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, v Fact Test Result Overlay', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, Fact Build Changeset', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, Fact Build Coverage', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, v Fact WorkItem Test Result', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, v Fact Linked Current Work Item Test Case', has been specified but has not been used.
Warning: Parser: Out of line object 'Binding', referring to ID(s) 'Tfs_Analysis, Team System, Fact Run Coverage', has been specified but has not been used. (type WarehouseException)
Exception Stack Trace: at Microsoft.TeamFoundation.Warehouse.TFSOlapProcessComponent.ExecuteXmla(String finalXmla)
at Microsoft.TeamFoundation.Warehouse.TFSOlapProcessComponent.ProcessOlap(AnalysisDatabaseProcessingType processingType, WarehouseChanges warehouseChanges, Boolean lastProcessingFailed, Boolean cubeSchemaUpdateNeeded)

02 July 2010

Somali Pirates Interested in Visual Studio and TFS

I was just looking over my blog for the first time in a very long time and noticed the little ClusterMaps gadget that maps out where my readers are located.  I noticed a couple of dots just east of the Horn of Africa and realized that those must be Somali pirates playing with their VS2010 and TFS 2010 installations while waiting to ambush ships.  See for yourself in this (mostly) undoctored graphic.

image

As you can see by the arrow and circle, those must be pirates.  I rest my case.  In case you don’t believe me, click on the image to see the original at the ClusterMaps site.

Somebody screwed up at Microsoft!

MVP_FullColor_ForScreen_sm

How’s that for an incendiary title? 

Unlike last July 1st, this year I found an email waiting in my Inbox that said I have received the Microsoft Most Valuable Professional award in the area of Visual Studio ALM.  At that moment I realized that I had everyone involved in the process tricked into thinking that I deserved it. Ha!  My “Plan for World Domination” and “Plan for Free Beer” are coming together nicely.

To make everyone in the process feel better about their mistake, I’d like to say “Thanks” for overlooking that incident at last year’s MVP Summit.  I’m sure that the rental car folks got most of the feathers and beaks out of Brian Harry’s car.  Oh, and also thanks for not getting too upset about the goats.  I didn’t realize they’d get that upset when the fire alarm was triggered. 

Anyhow, I’d just like to give a sincere thanks to all the folks in the community that put up with my other bad jokes and snarky comments during my classes and sessions.  To my Microsoft and MVP friends, I’ll buy you a beer at the next Summit to get you sufficiently “snowed” into letting me stay on in 2011.  (I’m not above bribing folks with donuts too).

- Steve