Allow instantiation parameters in cloud-init
[osm/Features.git] / Release6 / Allow instantiation parameters in cloud-init.md
1 # Allow instantiation parameters in cloud-init
2
3 ## Proposer
4
5 - Gerardo Garcia (Telefonica)
6 - Alfonso Tierno (Telefonica)
7 - Francisco Javier Ramon (Telefonica)
8
9 ## Type
10
11 **Feature**
12
13 ## Target MDG/TF
14
15 NBI, LCM, RO
16
17 ## Description
18
19 OSM currently provides a mechanism to pass parameters when an instantiation (of 
20 NS or NSI) is triggered, so that different instances created out of the same 
21 NS/Slice Package may run with slightly different initial conditions -such as 
22 different IP addressing, different QoS definitions, more/less centralization, 
23 etc.-, which would be modelled as variables/inputs in the Package definition. 
24 Currently, two kinds of mechanisms (non-mutually exclusive) to consume those 
25 instantiation parameters are available:
26
27 1. Indications of VIM target for a given VNF. These are passed to RO to deploy 
28 the VNFs accordingly.
29 2. Initial configuration parameters. These are passed to VCA so that initial 
30 configuration can be influenced by these parameters.
31
32 This feature specifies a third mechanism of consumption of instantiation 
33 parameters, so that some parameters might be directly mapped to initial config 
34 files/templates, passed via cloud-init. This would largely simplify the initial 
35 parametrization of those VNFs where some parameters might be trivially mapped 
36 to fields in initial config templates. This would bring two benefits:
37
38 - It would make the onboarding and parametrization of some simple/static VNFs 
39 much simpler.
40 - Much faster instantiation of VNFs which required complex parametrizable 
41 configurations, avoiding the need of multiple/complex transactions.
42
43 This mechanism should be able to coexist the other two other mechanisms, even 
44 in the same VNFs, where different subsets of instantiation parameters at VNF 
45 level might trigger different types of operations.
46
47 ## Demo or definition of done
48
49 - Create a VNF Package that embeds a config template with placeholders where 
50 some instantiation parameters might be directly mapped.
51 - Instantiate a NS that uses such a VNF, passing the appropriate instantiation 
52 parameters to be mapped to the template.
53 - Check that the applied configuration corresponds to the parameters that were 
54 passed via this mechanism.
55 - Check whether parameters marked as mandatory are not provided. If so, an 
56 error message should be issued, indicating clearly what parameter is needed in 
57 which VNF.