MP-VPN: vpn load needs to create live objects
Opened this issue · 4 comments
When restoring the state of the VPN service, we're supposed to recreate the VPN objects. We do restore the properties corresponding to a number of members of VPN objects (for example entryfanoutflows, vpnsitevlans, mat, exitfanoutflows, hostsites, vpnsites, pops). These properties however don't appear to be converted back to live objects that are members of the VPN objects.
One symptom of this is that after a netshell restart, all of the VPNs exist but they have no pops, sites, or hosts configured for them.
The problem was that the VPN is implementing a vpn cache for optimizing DB access which conflicts with the Container cache which was introduced later.
Fresh netshell load, but after a VPN instance was configured with the previous netshell code:
admin@NetShell> vpn load
admin@NetShell> vpn listvpns
VPN
vpn1
admin@NetShell> vpn vpn1 listsites
Site POP Switch Port VLAN
admin@NetShell> vpn vpn1 listpops
POP Core Router Hardware Switch Software Switch
admin@NetShell> vpn vpn1 listhosts
MAC Translated MAC Site
Am I doing something wrong?
Verified that properties are now properly in the database, but they seem to be stored as object and not json.
Current status: most of the objects are created when mpvpn service starts but the various flow entries are not properly stored / reloaded.