Internal storage of package artifacts in LCM
Proposers
- Gabriel Cuba (Whitestack)
- Gerardo García (Telefónica)
- Gulsum Atici (Canonical)
- Guillermo Calviño (Canonical)
Description
During an instantiation operation, LCM gets a copy of the VNF and NS packages from Mongo and store them under /app/storage
folder following this structure:
/app/storage
|-------VNF_PKG1_ID
|-------VNF_PKG2_ID
|-------NS_PKG1_ID
|-------NS_PKG2_ID
Those folders contain all artifacts required for the NF and the NS, and therefore need to perstist during all the lifecycle of the NS instance. However, the current implementation prevents LCM from deleting those folders when the NS is deleted since LCM will have to check that those packages are no longer used. In an HA environment, this could become even more complicated.
A different approach is required where LCM could store packages associated to a NS instance in a structure aligned to the NS instance lifecycle under /app/storage
. The structure would be defined in the design phase, but could be something like this:
/app/storage
|----------------NS_Instance_ID1
|-------VNF_PKG1_ID
|-------VNF_PKG2_ID
|-------VNF_PKG3_ID
|----------------NS_Instance_ID2
|-------VNF_PKG1_ID
|-------VNF_PKG2_ID
|-------VNF_PKG3_ID
This feature comes originally from this bug https://osm.etsi.org/bugzilla/show_bug.cgi?id=1577
Demo or definition of done
An existing Robot test will be updated (or a new one will be created), where the test will connect to LCM container and check the folder /app/storage
before and after the NS instantiation and the NS termination and it should be coherent with the agreed structure.