What’s in a Name (or Version Number)?

“I’m Larry. This is my brother Darryl. This is my other brother Darryl.”

From: Newhart (1982)

A classic quote from comedy gold. Can you imaging the trouble that would occur if two brothers had the same name? It certainly brings a smile to my face.

The Problem

With each release of Operations Manager, Microsoft updates the management packs (MPs) that are delivered with the product. Each MP has a name, which doesn’t change, and a version number that should change. As each MP is updated, the version number should be changed to indicate that there is a newer version of the MP.

However, that doesn’t always happen. Let’s look at the following:

MP Name MP Version SCOM Version File Size
Microsoft.Windows.Library 7.5.8501.0 2016 731,808
Microsoft.Windows.Library 7.5.8501.0 2012 R2 731,848
Microsoft.Windows.Library 7.5.8501.0 2012 SP1 731,768
Microsoft.Windows.Library 7.5.8501.0 2012 682,816

 

That’s 4 different MPs, with 4 different sizes and the same version number. When you compare the files, you will see that each file is somewhat different, even though the version numbers haven’t changed.

The difference that bothers us is that the referenced MPs have their version numbers updated. When dealing with file based MPs, like MP Studio does, it means we don’t have a reliable way to determine which reference MP to load. MP Studio loads MPs into the Store database, but can only load one of these 4 files because they all have the same version number (and thus look like the same MP). Depending on which version is loaded and which version of SCOM you are targeting, this can cause problems.

For instance, one of our customers was targeting SCOM 2012 R2, but the version of Microsoft.Windows.Library in the Store database was for SCOM 2016. When he went to deploy his MP, targeted at 2012 R2, to his management server, MP Studio saw the reference in his MP to Microsoft.Windows.Library, loaded it, and found that it referenced version 7.0.8434.0 of the System.Health.Library. His management server had version 7.0.8433.0 of System.Health.Library, so MP Studio suggested deploying the SCOM 2016 version of System.Health.Library to a SCOM 2012 R2 management server.

While deploying referenced MPs is just a suggestion (you can uncheck those items), if someone forgets or doesn’t know any better, then SCOM 2016 MPs would be deployed to a SCOM 2012 R2 installation. After that, there is no way to go back. You are not allowed to deploy an earlier version of an MP over a later version, so you are stuck.

To make matters worse, Microsoft.Windows.Library has two references with updated version numbers: System.Health.Library and System.Performance.Library. And, it’s not just Microsoft.Windows.Library. Here’s a list of MPs which have the same version numbers between various versions of SCOM, but have different files sizes (as shown above, that means the MPs are probably not the same).

  • Microsoft.SystemCenter.InstanceGroup.Library.mp (4 different sizes)
  • Microsoft.Windows.Image.Library.mp (4 different sizes)
  • Microsoft.Windows.Library.mp (4 different sizes)
  • System.AdminItem.Library.mp (4 different sizes)
  • System.Image.Library.mp (4 different sizes)
  • System.Library.mp (4 different sizes)
  • System.Software.Library.mp (4 different sizes)
  • Microsoft.Windows.Client.Library.mp (identical sizes; but different content)
  • Microsoft.Windows.Server.Library.mp (2 different sizes)

The result of this is that Microsoft’s whole scheme of uniquely identified MPs can not be trusted.

The Work Around

If you find yourself in the situation where MP Studio is offering to deploy later versions of MPs to your management group, you can load the correct (for you) versions of these MPs into your Store so MP Studio finds the version you want to use. If you add the same version of an existing MP to the Store database, MP Studio will give you the option to replace the existing version.

As a work around, you can use the following procedure to make sure that the versions of these MPs being used by MP Studio are the correct versions for your management group. In this example, let’s assume you want the MPs for SCOM 2012 R2.

  1. Right-click on the root node of the Store and select Add Sealed Management Pack…
  2. In the Open Management Pack File dialog, navigate to:
    C:\Program Files\Silect\MP Studio\V8\ManagementPacks\2012-3 System Center 2012 R2
    (Or …\V7\… as needed.)
  3. Select Microsoft.Windows.Library.mp and click Open.
  4. You will get a warning that the same version of the MP already is in the Store. Click Yes to replace it.
  5. Click Save in the File Version Information – Microsoft.Windows.Library dialog.

Repeat these steps for all 9 of the MPs listed above.

And a final note for the comedy writers at Microsoft:

All kidding aside, please update version numbers for each change to each MP. It will make life a lot easier and safer for all your System Center customers.

2 responses to “What’s in a Name (or Version Number)?

  1. FYI, if you thinking of taking a short cut and using the add all sealed management packs and selecting the folder it doesn’t appear to overwrite the existing files.

Leave a Reply

Your email address will not be published. Required fields are marked *