Monday, 11 May 2009

Upgrading Altiris Inventory Solution -- Best Practices

Solution Upgrade

The main solution upgrade will take the NS offline as it commences. This includes pausing the Server so no incoming NSE files will be processed. The queues will fill up with files as the NS Event Router is still moving files from the postevent.asp page to the respective queues. Other internal tasks (including client configuration updates) will not process during this time.
The upgrade might take a long time if Normalization and other data class upgrades are required during the upgrade, and depending on the size of the Database. It is recommended to use the 'Update' button under the Solution Center to upgrade as this will check all prerequisites:

Click to view.
Note: Inventory Solution 6.1 SP2 requires Notification Server 6.0 SP3 R4 as Vista Support is added in these two products and versions.
The following issues should be considered when Upgrading:
  • Upgrade completes but console items are missing: Note: If you are using the SP1 or SP2 installer this should be resolved.
  • Error is reported in the Notification Server log when upgrading from Inventory Solution 6.0 to 6.1 SP1. When upgrading from Inventory Solution 6.0 to 6.1 SP1, the "Class Name: AeX HW ActiveTcpUdpPorts Class Guid: b50e2401-5865-43ed-95e7-75f06b77d7ce Trying to register a Split Table to a common data table that either does not exists or is not 'common' classtype" error is reported to the Notification Server log file. This error is reported because the AeX HW ActiveTcpUdpPorts data class being accessed in 6.1 SP1 did not exist in 6.0. Note: This error will not affect the upgrade process.
  • IMPORTANT > The upgrade deletes all custom files not originally part of the Inventory Agent Package (located at \Program Files\Altiris\Notification Server\NSCap\Bin\Win32\X86\Inventory Solution). This includes all custom scripts, INI files, custom inventory XML files, or any file not created by Inventory directly.


The splitting of the data classes was done to improve performance of reporting. Since Inventory Solution's usefulness comes from reporting and secondly Collection usage, it is essential to get the most out of the upgrade by understanding what is occurring.
A utility page for Normalization data classes has been provided in the Altiris Console. Under View > Configuration (Configuration tab in the 6.0 Console) > Solution Settings > Asset and Inventory > Inventory > Windows > Normalize:

Click to view.
Use the following steps to analyze if Normalization is required after an upgrade:
  1. After an upgrade is completed, browse to the above location. To check if it is completed, look in Task Manager for a dcsplit.exe process. If it is running, leave it running until it is completed.
  2. Grayed-out entries are already Normalized. If Normalization is not successful, browsing back to this page will show the entries 'active' again.
  3. Check the boxes if those classes to normalize. Note that this process takes considerable resources and time to complete depending on the size of the Inventory tables being split.
  4. It is recommended to check the 'View progress of Normalization' so that the status can be directly checked. Once running, do not try to access this page for additional normalization until the process is completed.
The following issues should be considered when Normalizing the database:

Special Group Deprecation

New installations of Inventory Solution 6.1 Sp1 or SP2 do not have Special Groups. This document will not cover the use cases for Special Group Deprecation, but will cover the process of doing it. To see the reasons for deprecating Special Groups, please see Juice Article: Improve Inventory Solutions Performance: Deprecate Special Groups
If you installed Inventory Solution 6.1 SP1 or SP2 as a new install, nothing needs to be done as Special Groups were never setup. Note that while they do not exist, the Special Group tab is still available for use.
Upgrades to SP1 or SP2 will still have all default and custom Special Group Data classes present. To remove the default ones, a utility has been provided to accomplish this.
  1. Browse to the following folder: NS_install_path\Program Files\Altiris\Inventory\Special Groups Upgrade.
  2. Launch the .EXE: Altiris_SpecialGroupsUpgrade_6_1.exe.
This executable removes the separate Special Group data classes from the Notification Database. It updates the files, such as AuditPls.ini, win32invFloppy1.exe, and AeXWebInvPkg.exe files. The Special Groups inventory will now be collected into the standard AeX SW Audit Software data class.
For more information, please see the following Article:

Data Class Upgrades

Changes made to data classes outside of Normalization provide additional support and functionality previously unavailable. The following items detail the changes that have occurred to provide this functionality:
  1. UUID value captured > Previous to Inventory 6.1 SP1 we did not capture the system UUID with AeXSNPlus. Now we capture this as part of the AeX HW Serial Number table. Note: It is recommended to use SP2 as there was a known issue with the new UUID column that has been resolved. See the following KB for details:
  2. VM GUID column added > In Inventory 6.1 Sp1 the AeX VirutalMachine data class now has this column capturing the Guid of the virtual machine, allowing you to better distinguish between host and clients. Note that a bug caused this column to be empty until 6.1 SP2.
  3. Physical Memory Size > Previous to Inventory 6.1 SP1 we incorrectly reported memory sizes above 2GB. This has been corrected by both AeXMachInv and the database table that houses this information.
  4. Software File Size > Previous to Inventory 6.1 SP2 the data type for the file size column was an INT or Integer. This limited the largest size we were able to record to 2GB. Now the data type is BigINT, allowing a much larger size value to be captured.
  5. 64-bit Support > We've added support for 64-bit computers to Inventory 6.1 SP2. While we still captured some data in previous versions, we now officially support it and capture more data. In AeX OS Operating System we added an 'Architecture' column with the possible values of 32 or 64, respectively.
  6. Vista Support > In Inventory 6.1 SP2 we've added native support for Vista.
  7. CPU Core Count > We now track the CPU core count as of Inventory 6.1 SP2. Note: See the following KB for a known limitation:

Inventory Agent Package

Inventory Solution does not have a standard plug-in Agent for the Altiris Agent. The Inventory Agent is a collection of files including Inventory Agent 'EXE's that execute individually. These Agents have had improvements and upgrades made to them, some of which are required for the upgraded Data Classes.
Normally after the upgrade the Agents running the Inventory Tasks will automatically update to the new version of the package. This is done through this process:
  1. The Altiris Agent requests a new configuration
  2. New snapshot information is received for the Inventory Agent Package.
  3. The Altiris Agent downloads the files that have changed.
If Package Servers are used in the environment, make certain they are working properly and have received the new version of the Inventory Agent Package.
Note: Failure to do so may result in Inventory being thrown out at the Server! If the old Inventory Agents send data to the new database schema, the NSE will likely be thrown out because the schema in the NSE containing the data will not match the database.

Inventory Reports

Don't forget to upgrade the Report Pack for Inventory Solution! The reports used to reside as part of the main Solution installer, but now the Reports install with a separate execution. This allows new builds of the reports to be released without touching the main Inventory Solution installation (most definitely recommended).
The main version for SP1 and SP2 is Report Pack for Inventory Solution for Windows 6.2. The complete build numbers are as follows:
  • Inventory Solution 6.1 SP1 > 6.2.1036
  • Inventory Solution 6.1 Sp2 > 6.2.1046
If you use the Solution Center, the Report Pack should automatically be upgraded to the correct version. If you are not using the Solution Center, you should download the Report Pack from; Filename: Altiris_ReportWinInv_6_2.exe.