Login to participate
Endpoint Management & Virtualization ArticlesRSS

Migrating from Inventory Solution 6.x to 7.0

Joel Smith's picture

Upgrading to a new version of enterprise software can be intimidating. Learn how to prepare yourself for the upgrade to the latest inventory functions of Altiris Client Management Suite 7.0. This session will guide you through the upgrade process by showing you the details of how upgrade will work. It will approach the migration from Inventory Solution 6.0 to the latest version pragmatically by demonstrating tips and tricks for every step of the way.

*This article is based on a break-out session at ManageFusion in Las Vegas I will be presenting

Introduction

This guide will walk through how to upgrade Inventory Solution so that your existing Inventory methods or settings are upgraded into the Symantec Management Platform version 7.0. Not all objects are available for migration between 6.x and 7.0. We'll cover how the old structure of Inventory Solution fits into the new Inventory Solution 7.0, including the difference between the old data structure and the new. Reporting will also be covered as how the old schema interacts with the new.

Note that both the words upgrade and migrate are used in conjunction with the move from 6.x to 7.0. This is due to the nature of the upgrade. We are not conducting an actual 'in-place' upgrade, but are exporting supported data from the old database and then using a migrating wizard to put that data into the new structure after 7.0 is installed. For example the 'in-place' method of migrating exports the data, uninstalls all previous solutions and the NS 6.0 platform, installs the new, then runs the migration wizard that allows you to choose what will be migrated over.

Preparing for the Upgrade

Before you plan to upgrade to the Symantec Management Platform 7.0 from Notification Server 6.0, there are certain steps and safeguards you should use to prepare for it. Without these steps certain data and objects may be lost and not be properly moved over to the new framework. The following sections detail what steps should be taken to ensure a smooth transition to the new version.

Upgrade Method

There are two basic supported upgrade methods:

  1. In-Place Upgrade - This method is executed directly on the Notification Server and will take the server from version 6.0 to version 7.0. The drawback to this method is that the 6.0 Notification Server is basically dismantled during the upgrade process. Reasons to use this method include:
    • The same hardware/server will be used for the new Symantec Management Server
    • No new hardware is available for the upgrade
    • Maintaining previous 6.0 Infrastructure is not necessary
  2. New Server Upgrade - This method is recommended if possible. This will allow a 6.0 Notification Server to remain up and running while the Migration Wizard moves data over to the new install of Symantec Management Platform 7.0. Reasons to use this method include:
    • Many custom data/processes/objects reside within the 6.0 infrastructure and need to be available
    • Upgrading the hardware to a more robust server can meet the increased demands and functionality of the 7.0 Platform
    • Includes the ability to rollback and conduct the upgrade again should the need arise

Upgrade Considerations

For convenience here is a graph representing what is upgradeable:

Component Upgradability Upgrade Considerations
Inventory Default Data Classes Migration Migrate into legacy 6.x data classes for reporting purposes. New inventory data will go into 7.0 data classes only.
Inventory Custom Data Classes Migration Migrate into legacy 6.x data classes for reporting purposes. New custom inventory data will go into same migrated data classes.
History Data Classes No Migration/upgrade is not available
Application Metering Data Classes No Migration/upgrade is not available
Baselining Data Classes No Migration/upgrade is not available
Inventory Default Reports No During upgrade 7.0 views are updated to show the 6.x data. So 6.x information will be available in new 7.0 reports.
Inventory Custom Reports No Migration/upgrade is not available
Application Metering Reports No Same reports are available in 7.0.
Application Metering Custom Reports No Migration/upgrade is not available
Baselining Reports No Same reports are available in 7.0.
Component Upgradability Upgrade Considerations
Inventory Default Policies Upgrade Inventory policies will be converted to 7.0 tasks along with advanced options. Tasks will not be scheduled.
Inventory Custom Policies Upgrade Inventory policies will be converted to 7.0 tasks along with advanced options. Tasks will not be scheduled.
Application Metering Policies Upgrade Metering 6.x policies will be migrated and will apply to all machine with metering agent installed.
Baselining Policies Upgrade Baselining policies will be converted to 7.0 tasks.
Custom Inventory Manual Customers can leverage Software Management Solution to deliver and run 6.x custom inventory tasks.
Standalone Inventory Packages No Migration/upgrade is not available

Upgrade 6.x to 6.1 SP2 or SP3

Inventory Solution needs to be upgraded to version 6.1.1075 (SP2) at least. The migration process will not work on previous versions of Inventory Solution, so an upgrade to the latest version (SP2 for now, SP3 soon coming) is required before migration to the 7.0 platform. The following steps are required if they have not been done previously:

  1. Upgrade Inventory Solution to the latest Service Pack, Inventory Solution 6.1.1075, SP2. SP3 will be released first half of 2009 and will also be supported for an upgrade to the 7.0 platform.
  2. The Inventory data classes that are available for Normalization must be normalized before upgrading. The following screenshot shows the configuration page, found under View > Solutions > Inventory Solution > and browse down through Config > Windows > and select Normalize:

    If the options are all grayed out, all applicable data classes have already been normalized and no further action is necessary. Normalization can take a long time (hours) depending on the size of the tables the data classes' target.

  3. Default Special Groups need to be removed. If you installed Inventory Solution 6.1 SP2 originally and did not upgrade, no Special Groups would have been created by default. Custom Special Groups are not necessary to remove, though no upgrade will be supported for them. Special Groups can be seen by browsing to View > Configuration > browse down through Resource Settings > Data Classes > Inventory > Software > and see if you have any AeX SW data classes such as AeX SW Adobe, AeX SW Microsoft Office, etc.

    See this KB for details about removing the default Special Groups of you have them: 34998 on Page 5.

    LINK: https://kb.altiris.com/article.asp?article=34998&p=1

Record Settings

How you have your Inventory Solution configured may be something you wish to transfer over to the 7.0 framework. Because of the dramatic change in structure, many settings will not be migrated over to the new version. You can capture the settings by making notes or taking screenshots of the configuration pages. This is especially important for environments that are tightly controlled or have strict regulatory practices.

Items to watch for are detailed below:

  1. Tasks - All tasks will be migrated, but will be disabled by default and do not always translate correctly to the new schema. In light of this recording the task details will help you configure the new tasks or reconfigure and enable migrated tasks. Items to specifically watch for:
    • Collections - Collections translate into Targets or Filters in 7.0
    • Schedules - When each individual task is run
    • Execution Environment - IN 7.0 the Program Execution Environment is moved from the Package configuration to the actual Task.
  2. Notification Policies - If you've enabled the pre-canned Notification Policies, or if you've created your own, these will not be migrated over to 7.0. In 7, these will be called automation policies.

These can be done by creating a list or making screenshots, such as the example below:

NOTE: Stand-alone Inventory Packages created on the 6.x platform will not work in 7.0 and no migration will take place. Sine Inventory has been redesigned Stand-alone packages will have to be recreated.

Backup Custom Inventory

Out of the box we capture a great deal of information, but Inventory also provides the ability to create Custom Inventory calls that captures data beyond the default set. Fortunately any work you've done with Custom Inventory for 6.1 can be moved to the 7.0 infrastructure. However it is essential to backup what really makes up your Custom Inventory. The following items should be backed up:

  1. Custom Inventory Configuration files - These files are in XML format and basically tell the Custom Inventory Agent (AeXCustInv.exe) what to do. Known used extensions include CIT and XML.
  2. VBScripts - If you've created your own VBScripts to run that create the NSIs directly, these need to be backed up.
  3. INI Files - The INI files that are called by the command-line of the Inventory Task contain all the command-lines executed during the Inventory capture. This includes all Custom Inventory command-lines so all INI files should be backed up, including:
    • AeXInvSolnAdm1.ini
    • AeXInvSolnAdm2.ini
    • AeXInvSolnAdm3.ini
    • AeXInvSolnUsr1.ini
    • Any custom INI You've created

The files are normally stored directly in the Inventory Agent Package, which is located at: \Program Files\Altiris\Notification Server\NSCap\Bin\Win32\X86\Inventory Solution\.

Backing up this entire directory will make it so you do not forget to backup a file that will be needed later for your Custom Inventory in 7.0. See this screenshot for an example of the location and files to backup:

Backup the Notification Server Database

This is for any upgrade being performed for Notification Server, but I feel it is important to call this out. Normally the Altiris database is not removed or modified during the upgrade to 7.0 as 7.0 creates a new database. Still, it is important to have a backup before the Migration Tool runs on the 6.0 install.

  1. Open SQL Enterprise Studio
  2. Browse under the instance and into Databases
  3. Right-click on the Altiris database and choose Tasks > Backup.
  4. Make sure the Backup type is FULL, and set the Destination to a known location.
  5. Click OK
  6. The database will be backed up when you receive a confirmation of success.
NOTE: if the location is used for maintenance you'll want to copy out the new backup to a safe location so a maintenance task doesn't overwrite it.

Application Metering

Application Metering and Inventory Solution versions 6.x are being combined into Inventory Solution 7.0. As such, any policies you have enabled for Application Metering need to recorded as previously done with the Inventory Tasks. All Configuration settings should also be captured as these will not be migrated to the 7.0 infrastructure. Note the following:

  • Policies will be migrated, but not all settings. Backup how you have your custom policies configured to compare to the migrated Tasks on the other side.
  • Backup the Application Metering Solution Configuration as these options are NOT migrated from Application Metering 6.x to Inventory Solution 7.0. See this screenshot for the configuration page:
  • The settings for rolling out, upgrading, or uninstalling the Application Metering Agent is not captured.

During the Upgrade

This process has been covered previously in the article: How-to guide on Migrating from Software Delivery to Software Management. Please reference this guide here:

Search for 'During the Upgrade' and follow the steps there. The important things to note are:

  1. After the Export of objects, check all Inventory objects in the list to see if they succeeded or failed. If failed, retry with only Inventory Solution selected during the export. See the Troubleshooting section below for more information.
  2. The import of your migrating data will take significantly longer than the export.
  3. During the import watch all your key data points to see if anything failed. If a failure occurs you'll want to retry the Inventory Solution objects only to ensure the data is imported.
  4. After the installation check the Inventory Solution license. If there are problems seeing the license, the licenses need to be reworked, also detailed in the Troubleshooting section.
  5. Retrying after a failure is a valid step, but still let SIM do the installation. SIM knows in what order to install what component, something that is essential within the Symantec Management Platform.

Inventory Solution Migration Wizard

The Migration Wizard supports the following objects:

  1. Inventory Policy Exporter - Importer - This exports or imports all Inventory policies, including default and custom-made tasks.
  2. Dataclass Item Exporter - Importer - This exports or imports the data class structure (metadata, etc) for each Inventory Data class, but not the data itself.
  3. Dataclass Data Exporter - Importer - Exports or imports all default Inventory Data classes' tables provided by Inventory Solution.
  4. Custom Inventory Data Class item Exporter - Importer - Like the default one, only for Custom Data Classes.
  5. Custom Inventory Data Class Settings Exporter - Importer - Any custom settings on the data classes are captured or upgraded for migration.
  6. Custom Inventory Data Class Data Exporter - Importer - Like the default one, only for Custom Data classes' tables.
  7. Inventory License Exporter - Importer - Exports or imports the Inventory Solution license for use on the new upgrade platform.

What's Next?

Once the migration is complete, and you've validated that all installs and migration components within Inventory are complete, what's next? Inventory Solution has undergone major changes in almost all areas, including the Agent and the data structure within the Symantec CMDB. The following items cover what to do once the migration is completed.

Legacy Inventory Data Classes

During the migration the Inventory data classes should have been migrated over to the new database. This data will be available as legacy data since the new database schema does not fit the old schema. The data will not be ported over into the new database structure. Inventory reports on the 7.0 platform have been rewritten to make use of this data if it is available via Views in the Symantec_CMDB database.

All Custom Inventory Data classes are also migrated. These include all data classes created using the Custom Inventory Agent or a supported VBScript. In other words data sent up by the Inventory Collector that generates a data class is included. This does not include the actual Custom Inventory pieces but only the resulting data classes.

Use this sequence to check your old data classes:

  1. In the Symantec Management Console browse under Settings > All Settings > browse through Settings > Notification Server > Resource and Data Class Settings > Data Classes > Inventory > and expand the section Data Class 6.x.
  2. Check the subfolders to see if the data classes you require exist.
  3. Click on a data class to review its information, as shown in this screenshot:
  4. The same data structure that resided in 6.x will reside in 7.0, including those tables that are Normalized or split.
  5. To check Custom Inventory data classes, In the Symantec Management Console browse under Settings > All Settings > browse through Settings > Notification Server > Resource and Data Class Settings > Data Classes > Inventory > Default Folder.

Inventory Default Policies

Only the Full Inventory will be enabled to run automatically, and the schedule and settings will have changed. The conversion of the default tasks is shown in this table:

Inventory 6.1 Policy Inventory 7.0 Task/Policy
Recreate Full Inventory  
Collect Full Inventory
Recreate User Inventory
Hardware Inventory Collect Delta Hardware Inventory
User Inventory Collect Delta OS Configuration Inventory
Software Inventory Collect Delta Software Inventory

Note the following:

  • What was formerly captured during the Hardware Inventory in 6.1 is spread between the two Tasks Collect Delta Hardware\ Delta OS Configuration Inventory.
  • Delta User data is captured in the Delta OS Configuration Task.

By default only the Full Inventory will be scheduled, the schedule set at Mondays at 6:00 PM every week. This was done because of the large amount of issues stemming from the infrequency of the Full Inventories in version 6.x. The default schedule for 7.0 was changed to resolve this. Also note that the size of Inventory is smaller due to the 2-pass Inventory structure, the impact being less on the Notification Server and the Network. See this screenshot for the default policy:

  • Note that the Task details are not available. This is because the schedule itself is a policy, allowing the Altiris Agent to execute the associated Task whether or not the registered Task Server is available for that agent or not.
  • The Time zone is set to Agent time to avoid typical production hours out of the box.
  • You can add multiple schedules to this specific policy.

Now, getting back to the original default policies, these have been converted into Tasks. They are not scheduled after the migration and can essentially be ignored. Only some of the settings are migrated, listed below:

  • Run Options
  • Exclusions for Audit
  • Inclusions for Audit
  • Disk Usage by Extension
  • Other Audit configuration
  • Randomization Options available

Non-default Inventory Policies

If you've created your own Inventory Policies by cloning the existing, these, too, are migrated. They are located under Manage > Jobs and Tasks > browse through System Jobs and Tasks > Discovery and Inventory > Inventory > Inventory Task 6.x > Windows. The following screenshot shows an example:

These tasks are converted so the same options that are available to the new Inventory Solution tasks are also available here. Note that these are Task Server Tasks that can be pushed out to computers using the Task Server interface in the same method as any Task Server task or job. However if you want to use them as effectively as the built-in new tasks, you'll need to create policies to run these tasks from the client so that it does not require a Task Server to be present to “push” the task down. Follow these steps to implement this with any migrated task:

  1. In the Symantec Management Console, browse under Manage > Policies > browse down through Discovery and Inventory > and Inventory.
  2. Right-click on one of the existing tasks and select 'Clone'.
  3. Rename the clone and click OK.
  4. Click the blue-underlined link at the upper-left of the right-pane. This will be labeled after the Task from the cloned Policy, as shown in this screenshot:
  5. In the resulting window, browse in the left-hand tree under System Jobs and Tasks > Discovery and Inventory > Inventory > Inventory Task 6.x > Windows > and choose the Task you wish to apply to this policy.
  6. Make any changes to the task if you wish to (NOTE: changes here will affect all policies applied to this task).
  7. Click OK to save the selection.
  8. Under the schedule section apply when you want this inventory to be run.
  9. Under the Policy Status use the Applied To link to create a target for this Policy.
  10. Turn the policy On using the switch in the upper right section of the right-hand pane.
  11. Click Save change.

Custom Inventory

When it comes to customization, the Custom Inventory Agent requires the most work for the administrator. It can capture a large amount of data, but only as configured. This configuration sometimes takes time, trial, error, and revisions before reaching the right mix of data. Can the Symantec Migration Wizard migrated Custom Inventory? The answer is no. Yet you can migrate Custom Inventory. This article won't cover this in details as this subject is already being worked on, but I'll cover the basics.

Recall that during the preparation phase of upgrading you backed up your Custom Inventory files. These will be required when moving them over to the 7.0 Platform. Software Management Solution is also required as the Custom Inventory module from 6.x cannot be utilized within the Inventory Solution framework. Software Management gives us the ability to execute the old AeXCustInv.exe module in order to capture the data.

See the article Using NS6 Custom Inventory in NS7, posted by dougj, which covers this topic thoroughly.

Application Metering Policies

The default Application Metering Policies are upgraded into Inventory Solution 7.0. Because of the nature of Application Metering, actions are taken through policies via the Application Metering Agent. The new policies are found in the Symantec Management Console under Manage > Policies > Software > Application Metering. The same basic functionality that existed in Application Metering 6.x is found in 7.0. An example of a default Monitor is found in this screenshot:

Only those policies in 6.x that were enabled will be turned on after the Upgrade, targeting all systems with the Application Metering Agent installed. This makes it imperative to:

  1. Determine which tasks are OK as is
  2. Turn off any tasks that were specifically targeted as they are now targeting all managed systems
  3. Edit the tasks to apply to targets you define
  4. Set the schedule as per your requirements
  5. Turn on those tasks you require
  6. Configure any new tasks, etc...

Blacklisting used to be known as Application Deny in 6.x Application Metering. For more details about Blacklisting, see this article: Introduction to Inventory Solution (Windows) in Notification Server 7.0 - Detailed File Inventory and Blacklisting

Baseline Tasks

Application Management's base-lining functionality is also included in Inventory Solution. Previous baseline policies are migrated in much the same way the Application Metering policies were. If you don't have any baseline tasks within Application Management there won't be any default Tasks created. New baseline tasks can be created within the Task Server task creation interface.

Fortunately, Application Management Baseline files created on the 6.x platform can be used within Inventory Solution 7.0. To use a baseline task with an existing 6.x file, follow these instructions:

  1. In the Symantec Management Console, browse under Manage > Jobs and Tasks > System Jobs and Tasks > and find a location to create the new Task. Examples include:
    • Software > New Folder Baseline Tasks.
    • Monitoring and Alerting > New Folder Baseline Tasks
  2. Right-click on the new folder and choose New > Job or Task.
  3. In the Create New Task interface browse in the left-hand tree under Discovery and Inventory and select either File Baseline or Registry Baseline.
  4. Name the Task so it is labeled appropriately to what the baseline compares.
  5. In the right-hand pane select the radial option Compare with a baseline snapshot.
  6. Beneath this section choose the radial option Compare with custom baseline snapshot.
  7. Click the icon next to the label Browse.
  8. Browse to your 6.x baseline file (it should be located at \\NSServerName\NSCap\Bin\Win32\X86\Inventory\Application Management\FileBaselinePackage).
  9. Click OK to create the task and save the settings. See this screenshot below on how the task looks:
    NOTE: Migrated Application Management Policies will look like the above Task, with the settings from the previous version preserved.
  10. To run, use the Task Server scheduling interface by clicking 'New Schedule' under the Task Status section.

Troubleshooting

I wanted to also share what Troubleshooting methods I used to get past issues I ran into while walking through the upgrade. For the most part retrying failed processes resolved the issue.

  1. SIM - The install fails part way through the installation of the Suite
    • Restart but only install the Symantec Management Platform and not the whole suite. When that completes correctly then go in and walk through the install of the suite.
    • Sometimes the caches used by the install get in a funny state. I rebooted my server which cleared up the last SIM issue I had, allowing the rest to install without issue.
  2. Migration Wizard - The Migration wizard fails to Import exported Inventory Solution data from the 6.x platform
    • I found that retrying the Migration Wizard but only selecting Inventory Solution data usually resolved the issue.
    • Rerun by using the file NSUpgradeWizard.exe located at \Program Files\Altiris\Upgrade\ and when you reach the configuration screen uncheck all options but the ones listed under the Inventory Solution section. You can either uncheck options further though some items are required and you'll receive a message if you don't have everything you need checked from a dependency standpoint.
  3. Licensing - I discovered that licensing wasn't working properly due to the number of licenses of various sorts that got migrated over from the 6.x platform. If you see errors in the server logs on license after the upgrade, and/or the license frame doesn't load with your installed licenses under Home > Notification Server Management > Portal, follow these steps. Note that in this case Inventory Solution could not verify the license and did not allow processing of captured Inventory until fixed:
    1. Go to Start > Run > type mmc > click OK.
    2. Go to File > Add/Remove Snap-in...
    3. Click the Add button.
    4. Select Certificates and click the Add button.
    5. On the subsequent screen, select the Computer account radial and click Next.
    6. Leave the selection Local Computer: (the computer this console is running on) radial selected and click Finish.
    7. Click the close on the next window.
    8. Click OK on the Add/Remove Snap-in screen.
    9. In the right-hand tree of the MMC browse under Certificates (Local Computer) > Altiris Licensing > and select Certificates.
    10. Highlight all certificates listed and press the Delete key.
    11. Go back into the Symantec Management Console and reapply the license under Home > Notification Server Management > Portal, using the link Add Licenses.
  4. Repairing - If an install failed or did not complete correctly, a repair can be run but the following method should be used:
    1. Browse to the extraction location you used on the Notification Server when you first downloaded and executed the Suite or AIM. That location will have a subfolder structure as follows:
      Altiris\Components\
      
      
    2. Find the MSI for the component you need to Repair. For Inventory Solution, I ran the following installer, as listed here:
      • Altiris_inventorysolution_7_0_x86.msi
    3. Right-click on the MSI and choose Repair. You can also double-click to launch the MSI interface. If you get a message indicating that SIM (Symantec Installation Manager) is required to use the MSI, run the MSI from a commandline with the following parameter:
      SKIPAIM=1
      
      
      NOTE: This parameter should not be used lightly due to dependencies between the hundreds of MSIs in the Suites.

Conclusion

Using this guide you should be able to migrate from the Notification Server 6.0 infrastructure to the Symantec Management Platform 7.0 in regards to Inventory Solution, knowing what is migrated and what to do once the migration is complete. This should also help you understand what work is involved in migrating Inventory Solution 6.1 to the new and improved Inventory Solution 7.0.

ohzone's picture

Good Information!

Who doesn't want a little extra help with migration? Here's some information from Joel Smith that will make it less painful.

Endpoint Management & Virtualization
Community Manager
www.twitter.com/EMnV_symc