Migrate from Docker-based Nimbra Edge #

Deprecated. The Docker-based Nimbra Edge Core (connectit install core) is deprecated as of R4.2.0 and will be removed in a later release. It remains supported in R4.2 so that existing installations can be migrated. These pages are kept for existing installations; new installations should follow Get started. To move an existing installation, see Migrate from Docker-based Nimbra Edge.

This guide moves an existing Docker-based Nimbra Edge installation to a new Nimbra Edge control plane on Edge OS or Kubernetes. The configuration is moved with a config backup. The appliances that carry video keep running during the migration and reconnect to the new control plane.

How the migration works #

All configuration of a Nimbra Edge installation lives in the core database: regions, appliances, inputs, outputs, users, API tokens and settings. A config backup from a Docker-based core is a dump of that database in the same format that Edge OS and Kubernetes-based installations use, so it can be restored into a new installation from Network Manager.

Appliances reach the control plane through its domain name and authenticate with the identity they were registered with. The new control plane is therefore installed and the backup restored before DNS is changed: when the appliances follow the domain name to the new host, it already knows every appliance. An appliance that reaches a control plane that does not recognize it exits and restarts its control software until it is recognized, so do not point DNS at the new host before the restore is complete. Video streams that are already running on the appliances continue while the control plane changes; only management and monitoring are briefly interrupted.

The following is not migrated:

Before you start #

1. Take a config backup #

Stop making configuration changes in Network Manager; changes made after the backup are not migrated. Then, on the Docker-based core host, with the connectit CLI for the installed release:

sudo ./connectit backup new --type config

The backup is written to the current directory as config-backup_<date>.gz; use --out to write it elsewhere. Verify that the file is readable:

gunzip --test config-backup_*.gz

Copy the file to the computer you will use to reach Network Manager on the new installation.

2. Install Nimbra Edge on the new host #

DNS still points at the Docker-based core, so the Docker-based installation keeps serving its appliances and users while the new one installs. To reach the new installation through its domain name before DNS changes, add a line to the hosts file of your computer that maps the domain name to the address of the new host, for example 203.0.113.10 my.nimbra.edge in /etc/hosts on Linux and macOS or C:\Windows\System32\drivers\etc\hosts on Windows. Do this on the computer you will use to reach Network Manager and, for a Kubernetes-based installation, on the computer that runs the edge CLI before you start the installation: the installer signs in to the new installation through the domain name to set the super user password, and fails with “Failed to access Edge api” if the name still resolves to the Docker-based core. Remove the line again after the migration.

Continue with the installation step of Get started using the same domain name as the Docker-based installation, the new license key and the certificate method you chose. When the edge CLI asks you to ensure that there is a DNS entry for the domain name, press enter without changing DNS; the hosts-file line stands in for it until step 4. The installation takes a few minutes.

Sign in to Network Manager on the new installation when the installation completes, but do not create regions or appliances; the backup brings them.

3. Restore the config backup #

In Network Manager on the new installation:

  1. Go to Settings → Global settings → Backups.
  2. Under Upload config backup file, choose the config-backup_<date>.gz file and click Upload. The uploaded file appears in the config backups list under a new name.
  3. Click Restore and confirm.

The restore replaces the configuration of the new installation with the configuration from the backup. Network Manager is unavailable for about half a minute while the database is replaced, and your session is signed out. When it is back, sign in with the credentials that were active on the Docker-based installation when the backup was taken. The appliances are listed with their previous names and IDs but show as offline, because they still talk to the Docker-based core.

If you chose to use a certificate of your own on a Kubernetes-based installation and did not pass it to the edge CLI at install time, upload it now, before DNS changes: go to Settings → Global settings → TLS certificate, paste the private key and the certificate in PEM format and click Save. The appliances only connect to a control plane whose certificate they trust, so the certificate must be in place when DNS changes. Do not use this page on an Edge OS core: the control plane replaces the uploaded certificate with its own.

4. Point DNS at the new host #

Change the DNS record of the domain name to the public address of the new control plane host. The appliances move to the new control plane as their hosts pick up the new address and their connections to the old core are renewed. With a 60-second TTL this takes about a minute; allow the TTL plus a few minutes. The appliance software is not restarted by the move. If you installed an Edge OS core with the automatic TLS certificate disabled, enable it with HTTP-01 in the core settings of the appliance now, after the domain name resolves to the new host. The appliances reconnect once the certificate has been issued, usually within a couple of minutes.

Running video streams are not affected. Users reach Network Manager on the new installation through the domain name from now on, so remove the hosts-file line from step 2.

5. Verify #

6. Decommission the Docker-based core #

When everything has been verified, remove the Docker-based core from the old host:

sudo ./connectit uninstall core

Keep the config backup file until the new installation has produced backups of its own. Video appliances and Edge Connect appliances that were installed with the connectit CLI stay as they are; they are not deprecated and keep working with the new control plane.