ExtAPI Component Upgrade Strategy

In a nutshell

ExtAPI can be upgraded in-place (remove and replace), or in a blue/green strategy.

From El Alto to Frankfurt there is no Database Schema changes for NBI databases. 

For remove and replace, simply let inflight Service Orders complete on El Alto container, shut down nbi Springboot application. Migrate data from NBI MongoDB and MySQL to new Frankfurt versions database. Install Frankfurt nbi container ( with the Springboot application ), switch new https NBI traffic to this container.



For Blue/Green,  keep both versions nbi running, loadbalance https traffic to both El Alto and NBI containers, let them share the same common mongo and MySQL DBs. Eventually switch off the El Alto NBI traffic to zero. 

Supporting Facts

ExtAPI is mostly a stateless component.

For any state related information that ExtAPI needs, this needed information is retrieved on runtime through database access

ExtAPI use of mongo DB JSON-style data store means it can extend database contents more easily the Relational DBs




References:

EXTAPI-353: Document upgrade procedure from El Alto to FrankfurtClosed