Monday, August 16, 2010

CS "14" Beta Refresh Topology Publish Error

So, after returning from CS "14" Ignite training in shady, cool effin' hot Scottsdale, AZ, I was excited to install the beta refresh in my "lab" (which just so happens to be in our production environment....*cough cough*).  I uninstalled the beta before installing the refresh, as recommended by MS.  Everything seemed to go relatively well, with a few minor hiccups here and there, until it came to the point where I had to publish the topology.  I got this unhelpful error:
The existing topology identifies server mycs14serverFQDN\rtclocal as the CMS but the topology that you are trying to publish identifies server mycs14serverFQDN\rtlcocal as the CMS. The CMS must match before the topology can be published.
At first glance, it appears to be a rather odd message, since the server name is identical in both spots in the error message.  Since I hadn't changed the server name, I reasoned that Active Directory still had references to the old CMS database I removed from the beta.  CS "14" stores most of its data within the CMS database, instead of Active Directory.  The reason behind this is that its much easier to add functionality to a database than to have to extend the AD schema, and all the crap that goes along with it (approvals, hand-wringing, etc).  However, AD still has a few references to CS "14", like where to find the CMS database on the network.

Originally, I used ADSIEdit to remove the configuration store information from Active Directory.  THis caused some other issues with OCS R2, which were solved by further ADSIEdits to remove some other dead references to the failed CS "14" removal.  Recently, I found a better way to remove the configuration settings from Active Directory: Remove-CsConfigurationStoreLocation.  I saw this mentioned in one of the forums.  I haven't tried it yet, but I'm guessing this is a much better way to clean things up than my ADSIEdit method.