This document provides information on upgrading OpenDaylight (ODL) Controller to work with OnApp Software-defined networking.
Please note that the stable version for OnApp is OpenDaylight 0.14.0.
Backup of the Datastore in Old ODL Controller
To backup the datastore in an old ODL controller, follow the next procedure:
- Create a file with backup file name as a parameter:
2. Run API call, with proper admin and pass parameters:
Stop Old ODL Controller
Stop an old ODL Controller by running the following command:
Install OpenDaylight Silicon
In case of the Log4j 2 vulnerability (CVE-2021-44228), please refer to the CVE Fixes page.
To install OpenDaylight Silicon, follow the next procedure:
Switch to the root home directory and download an archive with ODL by running the next command:
Unpack the archive by running the following command:
Install JVM by running the following command:
JAVA_HOMEby running the next command:
Start controller and install the required tools with the following command:
After the ODL console is opened, perform the refresh of repositories with the next command:
Install feature needed by OpenDaylight:
After the features are installed, log out from the
karafby the following command:
- Update the link:
Restore From Backup
To restore the backup on the target node, the backup file needs to be placed into the
$KARAF_HOME/clustered-datastore-restore directory and then, the node restarted. If the directory does not exist (which is quite likely if this is a first-time restore), it needs to be created. On startup, ODL checks if the journal and snapshots directories in
$KARAF_HOME are empty and, only then, tries to read the contents of the
clustered-datastore-restore directory if it exists. Thus, for a successful restore, these two directories should be empty. The backup file name itself does not matter; the startup process will delete it after a successful restore.
Restore the backup by running the following command:
Start OpenDaylight Service
To start OpenDaylight Service, use the following command:
Similar record should be displayed in the log file at
Don’t forget to set correct credentials and port (8181) at https://onapp--cp--ip/settings/sdn/managers/1/edit
The password can be changed according to this example:
- Create a file with password as a parameter:
2. Run API call:
To prevent intensive logging, you need to decrease log level.
It can be done in config
/etc/sdn/etc/org.ops4j.pax.logging.cfg , by changing the value
In that case,
json-rpc-decoder-max-frame-length parameters can be changed in
Default values are as follows: