How to propagate catalog changes in a Distributed SpectroSERVER environment

Document ID : KB000121348
Last Modified Date : 20/11/2018
Show Technical Document Details
Introduction:
When making catalog changes to a SpectroSERVER in a Distributes SpectroSERVER (DSS), how do you propagate the changes to the other SpectroSERVERs in the DSS?
Background:
In a Spectrum DSS environment, the SpectroSERVER database catalogs should be the same for all SpectroSERVERs in the DSS. This is automatically done for some functionality like when importing mibs using MIB Tools and mapping them to SpectroSERVER attributes or creating a SpectroWatch or using the Device Certification tool. However, there are times when you may use the Model Type Editor (MTE) to create a new attribute or modify an existing attribute or creating a new model type and you need to propagate these changes to the other SpectroSERVER databases in the DSS.
Environment:
Any version of Spectrum running on any supported Operating system
Instructions:
MTE session log file:

When using MTE, start it from the command line using the -logging parameter to create an mte file that contains the changes done while working in MTE. 

To start MTE from the command line:

1. Log into the system as the user that owns the Spectrum installation
2. Shutdown the SpectroSERVER as normal
3. On Windows, open a bash shell by running "bash -login"
4. cd to the $SPECROOT/SS directory
5. Enter the following command to start MTE:

../SS-Tools/mte -logging

NOTE: If you are on Windows and ssh to Linux, you will need to run an XWindows program like Hummingbird or Xming etc for the re-display of MTE.

You will see a message similar to the following appear:

[spectrum@spectrum SS]$ ../SS-Tools/mte -logging
This MTE session will be logged to mte_change.1120_120129.xml


In the above message, the changes done while in MTE will be recorded in the mte_change.1120_120129.xml file. 

After making the changes in MTE, you can then use dbtool to import these changes on the other SpectroSERVER systems in the DSS. 

To import the changes using dbtool:

1. Copy the mte xml file to the $SPECROOT/SS directory of the other SpectroSERVER system(s)
2. Log into the system as the user that owns the Spectrum installation
3. Shutdown the SpectroSERVER as normal
4. On Windows, open a bash shell by running "bash -login"
5. cd to the $SPECROOT/SS directory
6. Run the following command where <XML> is the name of mte xml file to import::

../SS-Tools/dbtool import <XML> 



dbtool Model Type export:

If you have done extensive work using MTE like creating custom model types, you can use dbtool to export the model type to a file that can be used by dbtool to import.

To export your model type:

1. Log into the system as the user that owns the Spectrum installation
2. Shutdown the SpectroSERVER as normal
3. On Windows, open a bash shell by running "bash -login"
4. cd to the $SPECROOT/SS directory
5. Create a .m file that contains a list of the model type handles of the model types you wish to export. For example, if I only have one model type "0xffff0000" to export , my file would contain only this one entry.
6. Execute the following command where <M> is the file name of your .m file that contains a list of the model type handles of the model types you wish to export.

../SS-Tools/dbtool export <M>

7. The dbtool will create a .e file with the same name as your .m file used to export. For example, if my .m filename is "MyModelTypes.m" then the .e file created will be "MyModelTypes.e".

To load you .e file:

1. Copy the .e file to the $SPECROOT/SS directory of the other SpectroSERVER system(s)
2. Log into the system as the user that owns the Spectrum installation
3. Shutdown the SpectroSERVER as normal
4. On Windows, open a bash shell by running "bash -login"
5. cd to the $SPECROOT/SS directory
6. Run the following command where <E> is the name of the .e file

../SS-Tools/dbtool import <E>



Use a "Master Catalog"

If you have an existing DSS environment and introduce a new SpectroSERVER into the environment, you will need to apply all the catalog changes from the existing environment to the new SpectroSERVER system. For this action, using a "Master Catalog" is the best solution.

A "Master Catalog" is a designated SpectroSERVER system in the DSS (normally the MLS) used as the catalog of truth. All other catalogs in the DSS will be based on this catalog. To propagate this catalog:

1. Create a current database backup from the "Master Catalog" system. This can be a database save done using the standard Online Backup process or you can create a command line database save. The database save can contain both models and catalog or can be a catalog only save. Either is acceptable.
2. Copy the database save to the $SPECROOT/SS directory on the other SpectroSERVER system
3. Log into the system as the user that owns the Spectrum installation
4. Shutdown the SpectroSERVER as normal
5. On Windows, open a bash shell by running "bash -login"
6. cd to the $SPECROOT/SS directory
7. Run the following command to create a current models only backup of the current database

../SS-Tools/SSdbsave -m models_only

8. Run the following command to load the catalog from the "Master Database" database save where <SSDB> is the name of the "Master Catalog" database save file name:

../SS-Tools/SSdbload -ic <SSDB>

9. Run the following command to load the models from the database save run in step 7

../SS-Tools/SSdbload -m models_only.SSdb
 
Additional Information:
References:

dbtool - https://docops.ca.com/ca-spectrum/10-3-0/en/administrating/database-management/spectroserver-database-maintenance/ca-spectrum-database-tools/dbtool

Master Catalog - https://docops.ca.com/ca-spectrum/10-3-0/en/getting-started/spectroserver-and-ca-spectrum-databases-overview/managed-elements/landscapes-and-the-distributed-spectroserver

SSdbsave - https://docops.ca.com/ca-spectrum/10-2-3/en/administrating/database-management/spectroserver-database-maintenance/ca-spectrum-database-tools/ssdbsave

SSdbload - https://docops.ca.com/ca-spectrum/10-3-0/en/administrating/database-management/spectroserver-database-maintenance/ca-spectrum-database-tools/ssdbload

MTE - https://docops.ca.com/ca-spectrum/10-2-3/en/customizing/model-type-editor