Upgrade from v1.2 to v1.3
This documentation consider that Prelude is installed on two hosts in the /opt/prelude folder. It can be easily adapted for a single host installation.
Backup
Start by a backup of OneBoard database:
docker compose exec -it db-oneboard pg_dump --dbname=prelude --username=prelude > oneboard.backup.sql
Then, Stop both Prelude OneBoard and Prelude Foundation components.
Upgrade: Prelude OneBoard
Add the following volume to the OneBoard container in docker-compose.yml:
And remove the seed file binding:
The OneBoard container definition should look like this:
oneboard:
image: registry.arolo-solutions.com/<setup-name>/prelude-oneboard:1.2
restart: unless-stopped
volumes:
- ./oneboard-config.json:/app/config.json
- ./volumes/oneboard-storage/:/app/storage/
- ./volumes/nats:/app/storage/nats
- ./ssl:/ssl
ports:
- 443:443
- 4010:4010
depends_on:
- oneboard-db
- nats
Edit the NATS configuration file volumes/nats/nats-server.conf to match the following:
server_name: "prelude-nats"
host: 0.0.0.0
port: 4222
https_port: 8222
tls: {
cert_file: "/tls/<your tls cert file>"
key_file: "/tls/<your tls key file>"
handshake_first: true
}
system_account: SYS
include ./nats-auth.conf
Then, set the OneBoard container tag to v1.3 in docker-compose.yml.
Pull the new images and start OneBoard :
Generate the NATS authentication file:
docker compose run --entrypoint="/app/prelude-oneboard init-nats" oneboard
docker compose up -d --remove-orphans
Finally, migrate the database:
Check that all containers are up and running (the name could be slightly different depending on the setup):
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
prelude-oneboard-db-1 postgres:16.1-alpine "docker-entrypoint.s…" db-oneboard 6 minutes ago Up 6 minutes 5432/tcp
prelude-nats-1 nats:2.10-linux "/nats-server -c /et…" nats 6 minutes ago Up 6 minutes 6222/tcp, 0.0.0.0:4222->4222/tcp, [::]:4222->4222/tcp, 8222/tcp
prelude-oneboard-1 registry.arolo-solutions.com/demo/prelude-oneboard:1.3 "/app/prelude-oneboa…" prelude 6 minutes ago Up 6 minutes 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:4010->4010/tcp, [::]:4010->4010/tcp
OneBoard upgrade is done.
Upgrade: Prelude Foundation
Remove the following volume of the Gateway container in docker-compose.yml:
The Gateway container definition should look like this:
gateway:
image: registry.arolo-solutions.com/prelude/prelude-gateway:1.2
restart: unless-stopped
volumes:
- ./gateway-config.json:/app/config.json
- ./volumes/gateway-storage/:/app/storage/
- ./ssl:/ssl
ports:
- 4020:4020
- 4021:4021
- 67:67/UDP
depends_on:
- gateway-db
- prelude
Start by setting Gateway container tag to v1.3 in docker-compose.yml.
Then pull the new images and start Gateway:
Migrate the database:
Connect to OneBoard UI, navigate to the Gateway connector and click on "Reset Onboarding", then copy the onboarding certificate and run the following command on the foundation host:
Check that all containers are up and running (the name could be slightly different depending on the setup):
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
prelude-gateway-db-1 postgres:16.1-alpine "docker-entrypoint.s…" db-gateway 6 minutes ago Up 6 minutes 5432/tcp
prelude-gateway-1 registry.arolo-solutions.com/prelude/prelude-gateway:1.3 "/app/prelude-gatewa…" gateway 6 minutes ago Up 6 minutes 0.0.0.0:67->67/udp, [::]:67->67/udp, 0.0.0.0:4020-4021->4020-4021/tcp, [::]:4020-4021->4020-4021/tcp
prelude-nso-1 cisco-nso-prod:6.1.12 "/run-nso.sh" nso 6 minutes ago Up 6 minutes (healthy) 0.0.0.0:2022->2022/tcp, [::]:2022->2022/tcp
NSO packages upgrade
On the OneBoard host, get the NSO packages:
Copy all the packages from the OneBoard host to the foundation host:
Remove previous version packages:
Then, move the new files to the NSO packages folder:Finally, reload NSO packages
Foundation upgrade is done.