NS config templates as first class citizens in OSM
Proposers
- Gerardo García (Telefónica)
Description
This feature was suggested long time ago as Distinction between template, particularization and instance for NS. In addition, this feature might be related to the feature 10894 about Modeling instantiation parameters in OSM
Currently, Network Services can be either packages or instances, depending on whether they are just definitions/descriptors of the NS or they are actually running. The distinction is similar to classes and objects in traditional object-oriented programming.
- NS packages are definitions/descriptors of the NS, including the topology of VNFs and VLDs, the list of NS primitives, the NS attributes exposed for configuration, the default values for NS attributes, and even default values for VNF attributes (overriding those in the VNF descriptor).
- NS instances are Network Services running in datacenters. During instantiation time, the user might override some NS and VNF configuration attributes with instantiation parameters.
This feature request will add an intermediate state between NS packages and instances, named "NS config templates". NS config templates are specific configuration templates (instantiation parameters) to be applied to NS packages when they are instantiated. They are therefore associated to a NS package.
The rationale behind this feature is simple: pre-configuring different NS instances before they are actually running. For instance, let's think of a NS to be deployed in tens of PoPs. The NS template (the one in the NS package) is the same in all cases. However, the NS instances will be different on each PoP, since they will differ on VNF names , the pools of public IP addresses, etc. Before deploying NS instances, a network operator might want to have a NS config template as a particularization of each NS package, with the specific configuration attributes to be applied on each datacenter.
Demo or definition of done
A new robot testsuite will be created or an existing one will be updated to test this functionality. The testsuite will include a test to create a NS config template, a test to list the NS config templates, a test to delete the NS config template, and a test to launch a NS instance from a NS package with a specific NS config template previously added to OSM.