CDM is introduced in the NSO 5.1 release.
Note
The supported target NSO releases for a NSO CDM release migration are from 4.x.y releases with x >= 5. For earlier NSO target releases the migration needs to be performed in two steps. First upgrade to a NSO release higher than 4.5 and verify that this works and then as a second step do the NSO migration to the NSO 5.x release.
The NSO CDM migration is more elaborate than NSO upgrades performed with earlier releases, hence the name migration instead of upgrade. This is because of the namespace changes of internally stored data. NSO CDM migration does, like earlier upgrades, support changes in YANG models and performs data upgrades accordingly for stored data in CDB. However since the CDM migration is more complex than usual, it is strongly recommended that the NED versions used for the migrated NSO deployment are kept exactly the same as the original target NSO deployment.
Note
The probability to retrieve a CDM compiled NED release for a specific NED versions decreases with the age of the NED version. For old NED versions or NEDs that are not officially supported, e.g. developed by the customer, the makefiles or build scripts needs to be modified to incorporate the new --ncs-ned-id argument in the device compilation. See Converting old cli and generic NEDs to CDM and Converting old netconf NEDs to CDM on how this modification can be done.
Changing NED versions or adding NED versions (as new CDM functionality) can then be done as a separate step after the initial NSO CDM migration.
-
Step 1. Create a backup of the NSO deployment.
-
Step 2. Install the new CDM NSO release.
-
Step 3. The CDB files need to be compacted this is done as a separate step by issuing the command.
ncs --cdb-compact ./ncs-cdb
Here the
./ncs-cdb
is the directory where the cdb files reside. When the command returns the cdb files are compacted. A recommendation is to store a copy of these in another location if the last step, the migration, has to be attempted again after failure. -
Step 4. Get hold of the NED packages compiled for the CDM release that have the same NED version as the ones used in the target deployment. Replace the old NED packages with the CDM compiled counterparts. Also compile any other package for the new NSO release.
-
Step 5. Search for any initial XML files that are loaded by the system at NSO startup. These files are normally found under the
ncs-cdb
directory. Look for any XML files that contain device templates. NSO will not be able to start with these files if the device template structure is not changed. The resolution is to change this structure to the correct one. As an alternative, verify that these templates are already loaded and stored in CDB. In that case they can be moved/removed from thencs-cdb
directory and he NSO CDM migration code will handle the device template migration in CDB. After the migration the new device templates can then be saved to a file that will replace the original. -
Step 6. The code will need to be prepared for the changes necessary as described in Backward Incompatibilities.
-
Step 7. Start NSO to perform the migration.
-
Step 8. Check the cdb-migration.log that there are no errors found during migration.