Skip to content

ZenPacks.zenoss.ConfigurationManager

Subscription

This integration is a subscription-based Professional Services engagement. Integration Services are sold as subscriptions that cover initial setup, ongoing compatibility, and maintenance. All standard packages renew every 12 months from the date of purchase.

Overview

The Configuration Manager ZenPack provides a facility for exporting, importing, and comparing Zenoss monitoring configurations. You can define selection criteria to determine what configuration data is exported. After importing a package of configuration data, you can selectively apply it to the running Zenoss system, or use it in comparisons with other imported configuration change packages.

Note

You must install the ZenPack on both the source and the target system.

Features

Configuration Manager provides the following features:

  • A daemon that reads exported data from queues and automatically imports changes.
  • A user interface for comparing imported change packages.
  • File-based and RabbitMQ AMQP-based import and export.
  • One-click configuration snapshot export.
  • Pre-configured selection criteria templates and an export wizard.

Prerequisites

Before you install the Configuration Manager ZenPack, verify that your environment meets the following requirements:

Prerequisite Requirement
Product RM 5.2.6 or higher (untested on earlier versions)
Required ZenPacks ZenPacks.zenoss.PS.Util 1.9.0 or higher
Other dependencies None

Base usage

Configuration Manager moves configuration data from an exporting system to an importing system. Configure both systems before you export anything:

  • On the exporting system, configure selection criteria, selection criteria groups, and configuration targets that subscribe to those groups.
  • On the importing system, configure a configuration source.

If you're using queue-based transport, make sure that your configuration target and your configuration source refer to the exact same RabbitMQ host and routing key, and that only one configuration source reads from any RabbitMQ queue.

Exportable Zenoss configuration objects

Configuration Manager exports two broad categories of configuration data: the objects that describe your monitored infrastructure, and the objects that define monitoring behavior and system settings.

You can export the following infrastructure objects:

  • C-properties (user-defined and user-modifiable)
  • Device classes
  • Device groups, systems, and locations
  • Devices
  • IP services
  • OS processes
  • Windows services

You can export the following monitoring and system objects:

  • Configuration Manager settings
  • Event class information (transforms, mappings, and classes)
  • Event triggers and notifications
  • MIB definitions
  • Monitoring template definitions
  • Reports
  • User commands
  • Users and groups
  • Zenoss base settings
  • Zenoss events settings

User commands

Commands defined on infrastructure objects are only imported and applied to infrastructure objects that already exist on the target system.

Default collector for device imports

Under Advanced > Configuration Manager > Settings, click Edit Collector Mappings. In the dialog that appears, select a currently defined collector as the default for devices that are imported to this system and have a collector that doesn't exist on this system.

Choosing __NONE__ (the default) causes devices not to be created if the collector specified in the export doesn't exist on the importing system.

Export changes

To export configuration changes:

  1. Log in to the system you'll use to export changes.
  2. Create a target (either a file or a queue).
  3. If the target is a queue, specify the host, port, and routing key. These values must be specified identically in the configuration source object on the importing Zenoss system.
  4. Create a selection criteria group to contain selection criteria.
  5. Create one or more selection criteria and attach them to the selection criteria group.
  6. Subscribe the configuration target to the selection criteria group.
  7. Export the configuration by clicking the configuration target and selecting Export from the menu, or by using the zensyncer command-line tool.

Export notes

Keep the following points in mind when you export configuration changes:

  • You can verify exports to queues using the rabbitmqctl list_queues command or the RabbitMQ UI. If the importing system is running zensyncd, it may import queued changes before you can see them in the queue list.
  • Exports can be required to contain a description or change ID for business reasons.
  • You can't export data from a system in the Disabled or Target role.

Import changes

How you import configuration changes depends on the transport type used for the export. File-based exports require you to move the export file to the importing system, and queue-based exports are retrieved by the zensyncd daemon.

File-based exports

To import a file-based export:

  1. Move the file to the importing system. See the Advanced usage section for container and directory recommendations.
  2. Import the file using the command zensyncer --import -s /absolute/path/to/file. This creates a change package and a set of associated change sets. The system isn't modified at this point unless the automatic apply feature has been selected.
  3. Log in to the system you'll use to import changes.
  4. To view the contents of the change sets, navigate to a specific change set and view its contents.
  5. Apply the change package or change sets to update the system with the changes.

Queue-based exports

To import a queue-based export:

  1. Log in to the system you'll use to import changes.
  2. Create a source definition to allow the changes to be retrieved. Specify the routing key from the target. The system isn't automatically updated unless the automatic apply feature has been selected.
  3. The zensyncd daemon imports the changes from the source, creating a change package and a set of associated change sets.
  4. To view the contents of the change sets, navigate to a specific change set and view its contents.
  5. Apply the change package or change sets to update the system with the changes.

Import notes

Keep the following points in mind when you import configuration changes:

  • Configuration Manager has no undo capability, so you can't revert applied changes. Review change sets before you apply them.
  • You can't import or apply change sets on a system that is disabled or in the Source role.
  • For the greatest success with configuration import, install the same version of ZenPacks on the target system as on the source system. The greater the difference between ZenPack versions, the greater the risk of unforeseen issues.
  • Application of change sets can be required to contain a description or change ID for business reasons.
  • The Export to Target option lets you export using a selected configuration target's settings (selection criteria groups) to a selected target URI. Use this option to export data multiple times with the same settings. You can also update the settings using the Migration Wizard.
  • The Export to Local option performs the same action as Export to Target, but imports the exported change sets directly to the same RM where the export was initiated, bypassing the transport stage.

If you apply changes that you didn't want, you have the following options:

  • Apply a new change set that reverses the changes.
  • Revert the changes manually.
  • Use the Differences in Change Packages menu option to compare the applied change package against a recent snapshot change package. Select the difference change sets to build a package set that you can use to revert the selected changes.

Migration Wizard

The Migration Wizard is designed to simplify configuration migration in a few steps.

When you install the ZenPack, it creates two new default targets with different transport types: file and rabbitmq.

The wizard configures the source machine, which is the machine you export from. To open the wizard, click the appropriate button on the Configuration Manager Settings page. Each step includes inline help.

The transport type you choose determines what you do after the wizard finishes:

  • If you're using file as the transport, move the created file to the destination machine and run the following command in the container: zensyncer --import -s path_to_file.
  • If you're using rabbitmq as the transport, configure the RabbitMQ routing key and host on the ConfigurationSource settings of the target machine.

Note

Zenoss Cloud doesn't support migration using file as the transport type.

Migration Wizard steps

The wizard guides you through five steps:

  1. Select the templates you want to migrate.
  2. Select any custom selection criteria groups that you created outside of the wizard and want to include.
  3. Select an existing configuration target or create a new one, and configure the target details. You can choose one of two transport types, file or rabbitmq. Each transport type has its own required configuration details.
  4. Enter any additional information for change tracking.
  5. Review an overview of the tasks the wizard performs, and start the migration.

After migration is complete, you can remove all wizard-generated configurations, including all selection criteria groups and selection criteria that the wizard created.

Criteria templates

Criteria templates are predefined selection criteria groups containing common selection criteria used for migration.

In criteria templates, you choose the templates you're interested in and instantiate them as new selection criteria groups. You can then modify or delete the resulting selection criteria groups as needed.

Selection criteria

Selection criteria determine what to export to a target. Each selection criterion consists of a selector plugin and configuration information. You can modify the configuration information.

The Ignore objects installed by ZenPacks? checkbox lets you exclude objects installed by ZenPacks from the export. If objects you expected aren't being exported, try turning off this option.

Redaction policy

Redaction is the process of removing security-sensitive information from data. Use a redaction policy to completely remove or redact specified data in exported change packages.

Default redaction policies

Configuration Manager provides three default redaction policies:

  • All: Enables all existing redaction controls.
  • None: Disables all existing redaction controls.
  • Custom: Redaction controls can be enabled or disabled by the user.

Redaction controls

Each policy includes the following redaction controls. Only the Custom redaction policy allows you to enable or disable individual controls.

Redaction control Description
RedactPasswords Redact password content information.
RedactUserNames Redact usernames from exported content.
RemoveUserCommands Remove user commands from export.
RedactZProperties Redact zProperty content information.
RemoveCustomProperties Remove custom properties from export.
RedactSNMPConfiguration Redact SNMP configuration information.
RemoveBaseSettings Remove base settings from export (Advanced > Settings > Settings).
RemoveUsers Don't export user objects.
RemoveUserGroups Don't export user group objects.
RemoveDeviceLocations Remove device locations from device exports (/Locations).
RedactDeviceLocations Redact device location information in device exports (/Locations).

Add or remove a redaction policy

To add a redaction policy, click + and complete the following fields:

  • Policy type: Select from the dropdown list (All, None, or Custom). This field is optional; a Custom redaction policy is created by default.
  • Redaction policy name: Enter a name for the policy. This field is required.
  • Redaction policy description: Enter a description for the policy. This field is optional; if left blank, the description of the selected policy type is used.

To delete a redaction policy, select it and click -. Deletion can't be undone.

Select a redaction policy for export

You can select a redaction policy per target under Advanced > Configuration Manager > Configuration Targets > Export to Target / Export to Local > Redaction Policy.

Differences Engine UI

The Differences Engine UI provides a visual way to review the differences between two imported change packages, and to select change sets to place in a new change package that you can transport or apply. The Differences Engine UI also supports comparisons between a change package and the live system configuration, and between two live system configurations.

UI panels

The Differences Engine UI is made up of six panels and one dialog, described in the following sections.

Choose packages panel

The top left of the panel displays a status indicator showing whether a difference is being generated. The Diff Cart button and dropdown are in the top right; use them to review collected change sets and either save the cart to a new change package or empty the cart.

The Choose Packages panel, showing the Original ChangePackage and Compare ChangePackage dropdowns

After a change set is added to the differences cart, a tooltip appears in the top right corner, below the Diff Cart button.

The Diff Cart dropdown showing Save ChangePackage and Empty ChangePackage options

The header line is below the status line, and contains identifiers for the selected change packages once the difference has been generated. Click the header text or background to toggle the panel's collapsed state, or click the Toggle collapse button on the left side of the header line.

The panel below the header contains the selectors and buttons for configuring difference generation on the left, and the Categories panel on the right.

To generate a difference report, configure the following fields:

  • Original ChangePackage: Select the comparator that serves as the base for the difference report. All difference report actions (insert, delete, and replace) represent the changes needed to transform the original comparator into the compare comparator. This field is required; differences can't be generated without it.
  • Compare ChangePackage: Optionally, select a change package to compare against the original. If you don't select one, the generated difference represents adding the entire contents of the original change package to an empty system.
  • Differences regex search pattern (optional): Enter a regular expression to search and filter identified differences. The expression is checked against the change object's Path attribute while differences are being generated. You can use regex negative constructs, for example: ^((?!-(backup|preupgrade)).)* $.

The Choose Packages panel after a difference has been generated, showing the header and Categories panel

Click Generate the difference to start generating the change package differences. Clicking this button updates the header for the Choose packages panel and replaces the contents of all other panels. The button is disabled until you select an original change package.

Click Export the difference to generate and download the change package differences as a CSV file. The CSV columns are described in the following table.

Column name Description
Original ChangeSet The original comparator item's path.
Diff Orig Value The original item value used in the comparison.
Diff Type The type of data that was compared.
Comparing ChangeSet The comparison comparator item's path.
Diff Details Any details that resulted from the item's comparison.
Diff Operation The action needed for the original comparator item to become the compare comparator item.
Diff Comp Value The compare item value used in the comparison.
Diff Path The path of the item being compared.
Type The object type of the item being compared.
Selector The Configuration Manager selection criteria of the original and/or compare items.

Note

Live (Live System) is a special selector option available in both the Original ChangePackage and Compare ChangePackage dropdowns. Selecting this option uses the live configuration item for the comparison.

Note

Generating differences between change packages can take some time. If multiple users try to generate differences for the same change packages simultaneously, a Differences already being calculated. Please retry in a few moments warning appears. The status indicator may or may not show Ready while the difference is still being calculated in the background. Press the Generate the difference button again after some time to see the result.

The "Differences already being calculated" warning notification bar

The left-side navigation panel and the Choose packages panel collapse when difference generation begins. You can still access them using the Toggle collapse button on the respective panels.

Categories panel

The Categories panel displays all available change categories that have differences for the selected change packages, along with the count of change set items in each category. Selecting a category replaces the content in the remaining panels. Categories in the Differences Engine UI correspond to the selection criteria used for export.

The Categories panel showing high-level categories of differences with item counts

ChangeSets Hierarchy panel

The ChangeSets Hierarchy panel displays a tree view of differences for the currently selected category. It shows counts for attribute differences on the displayed items and counts for directly contained change set items that have attribute differences. The number in parentheses next to each count shows the total differences for the subtree at that point.

The ChangeSets Hierarchy panel showing a collapsible tree view of configuration differences

The first column of the ChangeSets Hierarchy panel shows the type of changes in the tree below that point:

Icon Action Description
(insert icon) insert Add an item to the original comparator.
(replace icon) replace Modify the value in the original comparator.
(delete icon) delete Remove an item from the original comparator.

Note

The "delete" action is in the context of the comparison only. Configuration Manager doesn't delete configurations.

The ChangeSets Hierarchy context menu showing the Add original data recursively and Add compare data recursively options

Selecting an item in the ChangeSets Hierarchy updates the ChangeSet Items and Differences panels. Right-clicking an item opens a context menu that lets you recursively add change sets below that item in the tree. You can add either all original change sets or all compare change sets.

ChangeSet Items panel

The ChangeSet Items panel displays change set items, their object types, and a count of attribute differences, along with the difference operation code in the first column. Operation code values are add, remove, and replace. Each value indicates the action needed for the original change package to match the comparing one.

The ChangeSet Items panel showing a difference summary of items that do not contain other items

By default, this panel shows 25 items per page, with pagination available in the bottom toolbar. Selecting an item updates the Differences panel with the attribute differences for that item.

Differences panel

The header of the Differences panel displays the name of the selected item for which attribute differences are shown.

The Differences panel displaying attribute differences for a single item, with Original value and Compare value columns

The Differences panel includes the following buttons:

  • Add original ChangeSet to ChangePackage: Adds the change set from the original package to the change sets cart for the selected item. Disabled if the original package contains no differences for the selected item, or if the selected item from the original package is already in the cart.
  • Add compare ChangeSet to ChangePackage: Adds the change set from the compare package to the change sets cart for the selected item. Disabled if the compare package contains no differences for the selected item, or if the selected item from the compare package is already in the cart.
  • Remove ChangeSet from ChangePackage: Removes the selected item from the change sets cart. Disabled if the selected item isn't in the cart.

The panel displays attribute differences including the attribute ID (labeled Text) and type for the selected item, as well as the values from each change package with the exact changes highlighted.

Changesets Cart panel

The Changesets Cart panel displays the change sets you've selected to save to a new change package. The table shows the following fields for each item in the cart: Id, Type, and Source. The last column provides a Delete item action to remove a single item from the cart.

The Changesets Cart panel showing change sets selected to be saved to a new ChangePackage

The Changesets Cart panel includes the following buttons:

  • Save ChangePackage: Saves all items in the change sets cart to a new change package. Opens a dialog where you can configure the change package. Empties the cart on successful save.
  • Empty ChangePackage: Empties the change sets cart after confirmation.

Navigating away from this page with unsaved items in the cart opens a warning dialog.

Save Package dialog

The Save Package dialog lets you set the description and ID for the new change package that is created from the cart contents.

The Save Package dialog with Description and Change ID fields

The dialog includes two buttons:

  • Click Cancel to close the dialog without creating a new change package. The cart contents are preserved.
  • Click Submit to attempt creating a new change package from the cart contents. If successful, the cart is emptied.

Differences Engine UI usage flow

To use the Differences Engine UI:

  1. Select the original change package from the Original ChangePackage dropdown. The package list refreshes each time you open the dropdown.
  2. Optionally, select a compare change package from the Compare ChangePackage dropdown, and enter a search term.
  3. Click Generate the difference.
  4. In the Categories panel, select a category from the tree to view that category's change set differences.
  5. In the ChangeSets Hierarchy panel, select an item from the tree to view its attribute differences and contained items.
  6. In the ChangeSet Items panel, select a contained item to view its attribute differences.
  7. In the Differences panel, review the listed attribute differences. Use this panel to add or remove original or compare change sets from the change sets cart.
  8. View your selected change sets in the Changesets Cart panel.
  9. Save the change sets to a package set, or discard them.

Extended use

The Differences Engine UI supports additional functionality beyond the core export, import, and apply workflow. For example, you can compare two live template configurations. This functionality is still in development and can be accessed by manually editing the URL.

To compare two live system templates, use a URL in the following format:

/zport/dmd/configurationManager?orig=/zport/dmd/Devices/Server/Linux/rrdTemplates/Device&comp=/zport/dmd/Devices/Server/...

Snapshots

The Configuration Manager snapshot facility lets you export all configuration data with a single click. This is equivalent to using the AllItems criteria template and setting the Ignore objects installed by ZenPacks? property to false on all selection criteria.

Every snapshot creates a local export of all configuration data. If you need to compare the snapshot with another Zenoss system, send the resulting change package to the target system. When you initiate a snapshot from the UI or command line, a zenjobs job is created to perform the snapshot function.

Take a snapshot

To export all configuration data as a snapshot:

  1. Go to Configuration Manager > Settings.
  2. Click Take Snapshot. A pop-up window appears.

    The Configuration Manager Settings page with the Take Snapshot button highlighted

  3. Optionally, fill in the Description and Change ID fields.

    The Take Snapshot dialog with Description and Change ID fields

  4. Click SUBMIT. A UI notification confirms that the Take snapshot job has started. You can monitor progress in Advanced > Jobs.

    The Take Snapshot job notification bar confirming the job has started

  5. When the job completes, the snapshot change package appears in the Imported Change Packages view. A Snapshot column is added to the Imported Change Packages and Imported Change Sets views to indicate whether an entry is part of a snapshot.

    The Imported Change Packages view with the Snapshot column highlighted

    The Imported Change Sets view with the Snapshot column highlighted

ChangePackage auto-expiration

Automatic removal of change packages prevents the overall number of imported change sets and change packages from growing too large, which can consume significant amounts of storage and affect UI performance. In typical usage scenarios, imported configuration data is applied to the system shortly after import and is no longer needed.

Expiration can be configured separately for change packages resulting from snapshots versus those from user-configured exports. By default, all change packages expire and are removed after 11 days. While expiration can't be disabled entirely, you can update individual change packages to ignore the automatic expiration process if you need to retain them for a longer period.

Note

The zensyncd service must be running for ChangePackage expiration to occur.

Configure automatic expiration

Snapshot packages and user-configured packages have separate expiration settings. To change either value:

  1. Go to Advanced > Configuration Manager > Settings.
  2. To change snapshot package expiration, update the How many days to store a snapshot? field.
  3. To change user-configured package expiration, update the How many days to store a user-configured package? field.

    The Configuration Manager Settings page with the snapshot and user-configured package expiration fields highlighted

  4. Click Save.

Disable auto-expiration for a ChangePackage

You can disable auto-expiration for an individual change package in two ways: from the Other actions menu, or from the Details panel.

Option 1: Use the Other actions menu

To disable auto-expiration from the toolbar menu:

  1. Go to Advanced > Configuration Manager > Imported Change Packages.
  2. Select the change package from the table.

    The Imported Change Packages list with a package selected

  3. Click the wheel button (Other actions) in the toolbar.

  4. Select Check / Uncheck auto-expire option from the dropdown menu.

    The Other actions dropdown menu with the Check / Uncheck auto-expire option highlighted

  5. The Auto-expire checkbox for the selected change package toggles to its new value.

    The Imported Change Packages list showing the Auto-expire checkbox toggled for the selected package

Option 2: Use the Details panel

To disable auto-expiration from the package details:

  1. Go to Advanced > Configuration Manager > Imported Change Packages.
  2. Select the change package from the table.
  3. In the Display dropdown in the lower panel, select Details.

    The lower panel of the Imported Change Packages view with the Display dropdown set to Details

  4. Click the checkbox next to Auto-expire? and then click Save at the bottom of the panel.

    The Details panel showing the Auto-expire checkbox and package metadata fields

Advanced usage

Configuration Manager provides a command-line interface for automation, and a set of zensyncer options for scripted exports, imports, and snapshots.

Command-line usage

You can automate Configuration Manager tasks using the zensyncer command. The suggested containers for command-line usage are zensyncd or zope.

For a file to be accessible to these containers, copy it to /opt/serviced/var/volumes/<SERVICE_ID>/var-zenpacks/. That location is mounted in the containers at /var/zenoss.

zensyncer command options

The following options are available for the zensyncer command:

Option Description
--decode Read the --importFile and export in plain text to --exportFile.
--encode Read the plain-text --importFile and export to --exportFile.
--import Import the --importFile onto this Zenoss master.
--export Export configuration items to the specified target.
--sync (Deprecated) Same as --export.
--localExportImport Export configuration items and import locally.
--exportChangePackageToTarget=TARGET Export an existing change package to the specified target.
--takeSnapshot Take a snapshot of all configuration items and import locally to the target snapshot.
--set_sync_mode=MODE Set the synchronization mode: Disabled, Target, Source, or Staging.
--show_sync_mode Show the current synchronization mode.
--list_sources List available sources.
--show_package_options Show the available key=value pair packaging options.
--list_targets List available targets.
--show_change_packages Show the list of change packages in the system.
--show_change_sets=PACKAGE Show the list of changes in a change package.
--apply_change_package=PACKAGE Use this change package to apply specific changes.
-c SETS, --apply_change_sets=SETS Apply specific changes. Omit to apply all changes. Can be specified more than once.
--show_redaction_policies Show the available redaction policies.
-t TARGET, --target=TARGET Destination to send data.
-s SOURCE, --source=SOURCE Source from which to retrieve data.
-o FILE, --exportFile=FILE Specify the file to which zensyncer writes output.
-i FILE, --importFile=FILE Specify the file from which zensyncer reads.
-p OPTION, --package_options=OPTION key=value pair packaging option. Can be specified multiple times.
--comment=COMMENT Comment for applying changes.
--change_id=ID Change ID for applying changes.
--redact=POLICY The redaction policy to use for removing sensitive information (for example, passwords).
--importStatusCount=COUNT How often to emit progress information during import.
--auto_commit Apply changes after import.
--force_apply Re-apply any previously applied changes.

Examples

Take a snapshot:

zensyncer --takeSnapshot -p change_id={} -p description={}

Import a file:

zensyncer --import -s /absolute/path/to/file

Changelog

The following sections list the new features and bug fixes in each release of the Configuration Manager ZenPack, starting with the most recent release.

3.6.4

Bug fixes

  • SVC-4082: Updated setup.py version 3.6.3 to 3.6.4.
  • SVC-4082: Fixed error log wording.
  • SVC-4082: Fixed incorrect logging call.
  • SVC-4082: Added new exception class to return MARKER when appropriate.
  • SVC-4082: On config apply, avoided failure caused by a bad ZODB object that fails to fully resolve.

3.6.3

New features

  • SVC-4056: Added new "Events Settings" selection criteria plugin.

Bug fixes

  • SVC-4068: Updated "Apply Change" logic; errors are now logged and processing continues to the next configuration when failing to set an entity relation.

3.6.2

Bug fixes

  • SVC-4044: Added migrate script to add a zenjobs endpoint to the zensyncd service.

3.6.1

Bug fixes

  • SVC-4030: Device selection criteria: device OS and HW exports now use the same criteria logic.
  • SVC-4030: Device selection criteria: filtering criteria now works correctly.
  • SVC-4030: Device export now excludes the last model time attribute value.

New features

  • SVC-3991: Added new documentation and basic overview section.

3.6.0

New features

  • SVC-3907: Initial implementation of destructive applies of imported change packages.
  • SVC-3907: Added additional audit logging of actions and changes.

Bug fixes

  • SVC-3907: Reduced Zope memory utilization by moving tasks to jobs.
  • SVC-3907: Improved logging messages and reduced log verbosity.
  • SVC-3907: Fixed device default collector mapping.
  • SVC-3907: Fixed trigger and notification importers' handling of exported object additional data.

3.5.8

Bug fixes

  • SVC-3930: Removed non-decodeable string characters on export.

3.5.7

Bug fixes

  • SVC-3829: Added safer handling of device and device component object recursion results.

3.5.6

Bug fixes

  • SVC-3747: Fixed islice int error that was breaking imports.

3.5.5

New features

  • SVC-3215: Diff UI can now compare a change package against the live system configuration.

Bug fixes

  • SVC-3668: Reduced Zope memory consumption when viewing imported change sets.
  • SVC-3680: Importing change packages is now faster, improving snapshot times as well.
  • SVC-3682: Fixed issue caused by SVC-3668 that limited change package import to a maximum of 50 change sets.
  • SVC-3686: Fixed device component monitor value being updated without updating the catalog.
  • SVC-3706: Fixed report exporter attempting to export twice and logging the error.
  • SVC-3707: Fixed snapshot export with an error being re-run by zenjobs.

3.5.4

New features

  • SVC-3585: Added new tooltip for the diff action icon in the "Differences in Change Packages" view.
  • SVC-3579: Removed the relationship requirement between an imported object and a ZenPack for a successful import.
  • SVC-3522: Added new "Maintenance Window" selection criteria plugin.
  • SVC-2676: Added new Compare to Live menu action for imported change sets.
  • SVC-3649: Added support for importing change package change sets that reference non-existent object types (for example, a ZenPack that isn't installed).

Bug fixes

  • SVC-3616: Fixed difference export's "Diff Path" to use the object's full path.
  • SVC-3445: Added configurable cache time-to-live (TTL) for generated diffs under Configuration Manager settings.
  • SVC-3442: Difference panel value columns now honor line breaks and are selectable for copying.
  • SVC-2676: The zensyncer --importFile command argument now honors relative file paths.
  • SVC-3636: Updated comparison mismatch object logic to reduce false positives and apply only to insert or delete item actions.

3.5.3

Bug fixes

  • SVC-3538: Fixed installation on older versions of RM.

3.5.2

Bug fixes

  • SVC-3521: Implemented makeTarget for AmqpTransporter.

3.5.1

Bug fixes

  • SVC-3521: Fixed monitoring filter logic where path was not properly determined.
  • SVC-3521: Fixed locally bound component templates not being exported.
  • SVC-3521: Fixed change set configuration path to show path without extraneous attributes.
  • SVC-3521: Fixed inconsistency in myReference ID attribute between ZODB and non-ZODB exported objects.
  • SVC-3521: Improved clarity of logging wording.
  • SVC-3521: Fixed ExportedObjectReference resolver caching to use object path and not cache MARKER objects.
  • SVC-3521: Fixed apply logic to only apply data when there is a difference.

3.5.0

New features

  • SVC-3478: Added new configuration option to set the TTL for caching change package differences.

Bug fixes

  • SVC-3476: Fixed error when applying an export redaction policy to cProperties.
  • SVC-3443: Fixed large memory usage during large exports or snapshots.
  • SVC-3297: Performance enhancement: cache ExportedObject resolvers.

Note

Configuration Manager 3.5.0 can't import exports generated by previous versions.

3.4.3

Bug fixes

  • SVC-3464: Fixed failed diff and import caused by a string comparison against None and an empty string.

3.4.1

Bug fixes

  • SVC-3446: Fixed failed diff generation; NoneType object has no attribute getConfigItemId.

3.4.0

New features

  • SVC-1818: Added redaction checks.
  • SVC-1818: Renamed REDACT_USER_COMMANDS to REMOVE_USER_COMMANDS.
  • SVC-1818: Added tests for redaction.
  • SVC-1818: Added check for redacted passwords.
  • SVC-1818: Added isPassword and isUserName checks.
  • SVC-1818: Added export/import of redacted usernames and passwords in cProps.
  • SVC-1818: Added RedactionControl class and YAML templates.
  • SVC-1818: Added redaction policies.
  • SVC-1818: Added redaction control to UI.
  • SVC-1818: Added RedactionPolicyPanel and RedactionControls as a subcomponent panel.
  • SVC-1818: Added RedactionPolicyInfo object and controlsEnabled property.
  • SVC-1818: Added new redaction policy and controls facade methods.
  • SVC-1818: Added migration script for RedactionPolicies and RedactionControls.
  • SVC-1818: Added documentation for redaction policy.
  • SVC-3170: Added all information about objects with no items inside.
  • SVC-3194: Added selector for device component properties.
  • SVC-3194: Added DeviceComponentReference and custom importer.
  • SVC-3194: Extended importer and DeviceComponentPropertiesDataReference.
  • SVC-3194: Added filtering of devices by device class, device regex, path regex, prodState, and perfServer.
  • SVC-3194: Added basic exporter and selector for device component.
  • SVC-3194: Added device component importer and comparator; fixed exporter.
  • SVC-3204: Added methods to filter and collect selected manufacturers.
  • SVC-3204: Added export/import for manufacturers and products.
  • SVC-3204: Added exporter/importer for DeviceHW and operating system objects.
  • SVC-3204: Added comparator for manufacturerName and productName for operating system and DeviceHW objects.
  • SVC-3375: Added individual service selectors.
  • SVC-3375: Deprecated SelectionCriteria_services selector.
  • SVC-3419: Added reports to list of exportable objects.

Bug fixes

  • SVC-1573: Removed savedEventFilter property that doesn't exist.
  • SVC-1818: Fixed return value when a value is redacted, to avoid errors.
  • SVC-1818: Added check for passwordTypes.
  • SVC-1818: Updated documentation about removing groups, locations, and systems in export.
  • SVC-3170: Fixed origSetPath or compSetPath for diffItemContainer.
  • SVC-3170: Added SetPaths to groupingNodePath diffContainer.
  • SVC-3170: Fixed groupingNode container logic.
  • SVC-3170: Updated saveChangePackage logic to order change sets by export_id.
  • SVC-3170: Added origSetPath and compSetPath for diff sets.
  • SVC-3208: Updated diff UI dark theme and color palette.
  • SVC-3211: Changed change set re-applying log level to INFO.
  • SVC-3211: Changed redundant log level to debug.
  • SVC-3214: Improved diff item compare message and error details; added logic for including warning diff items.
  • SVC-3282: Added exception handling during export to continue on individual object failure.
  • SVC-3298: Added export of device-local templates.
  • SVC-3317: Added custom importers for MibOrganizer, MibModule, and MibNode.
  • SVC-3317: Added custom instantiation of MibOrganizer, MibModule, MibNode, and MibNotification objects.
  • SVC-3357: Updated DetailedString compare logic and simplified.
  • SVC-3358: Fixed diff exporter.
  • SVC-3359: Updated diffPackages to catch any errors and update cached build status with error.
  • SVC-3375: Fixed error when no diffs exist for a selector.
  • SVC-3376: Updated comparator; removed ConfigManDiffTreeObject and ConfigManDiffLeafObject classes.
  • SVC-3376: Updated getPkgDiffObjectItems to show only leaf containers.
  • SVC-3376: Removed metatype from itemDiff object; added iconCls to hTree with opcode value.
  • SVC-3376: Fixed handling of unknown selectors.
  • SVC-3409: Set default zenpack-ignore on appropriate selection criteria.
  • SVC-3409: Added migration for existing criteria with ignore_if_in_zenpack set.
  • SVC-3410: Used aq_base object when evaluating if an object is from a ZenPack.
  • SVC-3418: Updated import for cloud.

3.3.1

Bug fixes

  • Hotfix 3.3.1: Fixed tuple import when existing value is falsey.

3.3.0

New features

  • SVC-3180: Added filtering of devices by collector for export.

Bug fixes

  • SVC-3279: Added unicode as a valid type and logging for unknown types.
  • SVC-3289: Stopped exporting relation to containing parent; now imports non-containing relations.
  • SVC-3291: Fixed creation of properties when only setting values was intended.
  • SVC-3290: Added guard against missing and renamed triggers.
  • SVC-3285: Implemented nonAQgetattr.
  • SVC-3281: Used value from ExportedDataValue for perfServer; ignored some old-style attributes.
  • SVC-3281: Added guard against missing perfServer.
  • SVC-3295: Added support for exporting None values.
  • SVC-3295: Added several fixes for resolving and applying objects properly.
  • SVC-3295: Used trigger ID instead of name; no longer coerces None values.

3.2.0

New features

  • SVC-3193: Added exporting and importing of RM reports.
  • SVC-3229: Added documentation for the Export to Local option.
  • SVC-3195: Added documentation about the Ignore objects installed by ZenPacks? export checkbox.

Bug fixes

  • SVC-3212: Added common data value object for improved diff and apply consistency.
  • SVC-3103: Changed sorting approach for change sets; added auto re-apply for change sets that failed to apply.
  • SVC-3207: Improved handling of attributes from ZenPack-supplied objects.
  • SVC-2965: Changed source_system_id and source_system_name.
  • SVC-3168: Improved change sets cart behavior when navigating the UI.
  • SVC-3275: Fixed various issues from testing; avoided halting on unresolvable property types; fixed tuple import.
  • SVC-3270: Fixed issue with version 3.1.0 failing to install.

3.1.0

New features

  • SVC-3101: Fixed and extended selection criteria for userCommands to include infrastructure user commands.
  • SVC-3181: Added ability to set a default collector for device imports where the exported collector doesn't exist.

Bug fixes

  • SVC-3107: Fixed CPropImporter and multiple value type handling; fixed list object compare.
  • SVC-3108: Added description field when applying cProps.
  • SVC-3113: Fixed object attribute processing.
  • SVC-3116: Fixed ListImporter to process itemDiffs in order.
  • SVC-3118: Added new ThresholdClassImporter to handle proper setup of the dsnames attribute.
  • SVC-3118: Updated ListImporter to handle attributes.
  • SVC-3120: Added check for unwanted acquisition objects.
  • SVC-3123: Added new exporter for graph points.
  • SVC-3124: Stopped comparator coercion of items to strings.
  • SVC-3128: Reworked notification subscription export/import.
  • SVC-3129: Reworked notification recipients export/import.
  • SVC-3130: Added export of data from trigger subscribers tab.
  • SVC-3131: Improved diff UI in change sets selectors panel.
  • SVC-3134: Added exporters and importers for process class and organizer for additional properties.
  • SVC-3137: Added IpServiceClass importer for name.
  • SVC-3138: Added export of title for services organizer and OS process.
  • SVC-3174: Added paging for change package combo box.
  • SVC-3209: Removed old reports.

3.0.2

Bug fixes

  • SVC-3093: Fixed use of ExportedObjectReference.id when checking for existing objects.
  • SVC-3087: Fixed sending of ServiceOrganizer and OSProcessOrganizer.

3.0.1

Bug fixes

  • SVC-3076: Added dependency on PS.Util ZenPack.
  • SVC-2791: Made change set loading more robust.

3.0.0

New features

The export and import functionality was completely rewritten in this release. The rewrite provides far more granular control and more efficient exports, no longer relies on ZenBatchDump and ZenBatchLoad, lets ZenPacks define their own custom export, import, and compare plugins, and fixes numerous bugs.

This release also adds the following features:

  • Ability to re-ship an existing change package to another server.
  • Ability to select change sets from existing change packages to create new change packages.
  • Auto-expiration of change packages.
  • Local export directly to imported change package.
  • New comparison engine and UI.
  • One-click and automated snapshot capabilities.

2.5.3

Bug fixes

  • SVC-2862: Fixed BatchDeviceLoader failure when properties are greater than 255 characters.

2.5.2

Bug fixes

  • SVC-2711: Updated config.zcml to prevent ETL from picking up Configuration Manager-related items.

2.5.1

Bug fixes

  • Fixed invalid character encodings causing issues with daemon startup.

2.5.0

New features

  • SVC-2673: Added support for password and boolean zTypes.

2.4.0

New features

  • SVC-1027: Added force_apply to UI.
  • SVC-1027: Enhanced logging.
  • SVC-1027: Added test access for targets and sources.
  • SVC-1027: Added device export based on production state.
  • SVC-2480: Removed DiffDeviceClassTree.py.
  • SVC-2641: Added globals to bin/zensyncer.
  • SVC-2623: Enhanced device dumper to omit non-serializable values.
  • SVC-2639: Updated routing key information.
  • SVC-2646: Patched properties in zensyncer if the CMDB ZenPack is installed.

2.3.0

New features

The release adds a templating facility:

  • SVC-2093: Created criteria template entity.
  • SVC-2093: Added migration for criteria templates.
  • SVC-2093: Added methods for criteria templates.
  • SVC-2093: Implemented UI for instantiating templates.

The release also adds the Migration Wizard:

  • SVC-2094: Added Migration Wizard dialog.
  • SVC-2094: Added two default targets during ZenPack installation.
  • SVC-2094: Added tips on every step.
  • SVC-2094: Added validation for instantiating templates.
  • SVC-2094: Added Remove Wizard Generated Configurations button.

Bug fixes

  • SVC-1369: Implemented migration of email notifications with inherited SMTP settings; fixed migration of notification passwords.
  • SVC-1486: Fixed empty user timezone after migration; set timezone after updating user.
  • SVC-1492: Fixed migrating more than 255 properties.
  • SVC-1856: Fixed importing trigger users.
  • SVC-2014: Fixed creation of extra locations after migration.
  • SVC-2095: Added many unit tests.
  • SVC-2116: Fixed error during looping over modes in setMode.
  • SVC-2270: Prevented user and group creation in CZ.

2.2.7

New features

  • SVC-1750: Used run -c for service startup command.
  • SVC-1750: Added monkey patch to disable sending collection metrics.

2.2.6

Bug fixes

  • Fixed filter configs for zensyncd (unhandled exception: tag).
  • Fixed installation on pre-5.2 RM.
  • Simplified property export filters and expanded coverage to fix additional cases.