Scale-in/Scale-out commands can be only triggered from CLI. When they are triggered...
[osm/Features.git] / Release4 / Full_support_of_IP_profiles_while_descriptor_coherency_is_preserved.md
1 # Full support of IP profiles while descriptor coherency is preserved #
2  
3 ## Proposer ##
4 - Pablo Montes (Telefonica)
5 - Antonio Lopez (Telefonica)
6 - Gerardo Garcia (Telefonica)
7 - Alfonso Tierno (Telefonica)
8 - Francisco Javier Ramon (Telefonica)
9  
10 ## Type ##
11 **Feature**
12  
13 ## Target MDG/TF ##
14 IM-NBI, SO, RO
15  
16 ## Description ##
17 Many VNFs assume that the VIM can provide specific networking services, for 
18 their interfaces, their VLs, or both.
19  
20 This feature request aims to review the capabilities that OSM can model and 
21 control at the levels of VNFD, NSD and instantiation parameters, so that they 
22 are considered complete and can work coherently.
23  
24 Thus, it is expected that, at VL (VIM network) level, it should be possible to:
25 - Choose if a DHCP service should be enabled
26 - Select the CIDR of the network
27  
28 Likewise, it is expected that, at CP (interface) level, it should be possible 
29 to:
30 - Select a specific IP address
31 - Disable port security
32  
33 Besides checking that these capabilities are properly enabled, a coherency 
34 check should be made in order to prevent that these values can create conflicts 
35 between different instances of the same NS/VNF or between VNFs interconnected 
36 in a NS.
37  
38 In order to guarantee that all those properties corresponding to an IP profile 
39 can only be set in a descriptor where they correspond to VLs or CPs that are 
40 considered ″internal″ to the corresponding VNFD or NSD. Thus:
41 * At VNFD level:
42   * Only for internal CP, a specific IP address can be set.
43   * Port security can be enabled or disabled in ANY port, regardless its 
44 situation of ″internal″ or ″external″.
45   * Only for internal VL (in principle, all of them, in the context of a VNF), 
46 a specific CIDR can be set or DHCP can be explicitly enabled or disabled.
47 * At NSD level, same rules as above would apply, but in the context of a NS 
48 template (now, many ″external″ VNFD’s CPs or VLDs might become 
49 ″internal″ for the NSD).
50 * If required, parameters passed at the time of instantiation would allow to 
51 set any remaining parameters, i.e.:
52   * Setting IP addresses of external CPs of the NS.
53   * Setting the CIDR of external VLs.
54   * Enabling/disabling DHCP in an external VL.
55  
56 It must be noted that in those CPs and VLs that are not completely handled by 
57 the VIM, but by the VNFs + SDN controllers (e.g. with passthrough or SR-IOV are 
58 involved), some of these parameters might not be applicable.
59  
60 ## Demo or definition of done ##
61 1. Create a VNFD (VNFD_1) with 2 VDUs, each of them with 2 interfaces (besides 
62 mgmt). One interface of each VDUs is connected to an internal VL between both 
63 VDUs. This VL will have DHCP disabled and a specific CIDR. The VDU interfaces 
64 connected to the internal VL should have a specific IP address assigned in the 
65 own descriptor. The other remaining interfaces, should be external CP.
66 2. Create an NSD (NSD_1) that includes the VNFD and exposes its external CP as 
67 external CP of the NS.
68 3. Instantiate NSD_1 (assuming that the external networks have DHCP enabled) 
69 and check that:
70   * The VIM networks have been created with the right IP parameters and 
71 assigned the proper IP addressed to the VM interfaces, according to descriptor.
72   * The NS instance works as expected.
73 4. Create a second NSD (NSD_2) with 2 VNFD_1. One interface of each VNF is 
74 connected to an internal VL between both. This VL will have DHCP disabled and a 
75 specific CIDR. The VNF interfaces connected to the internal VL should have 
76 specific IP addresses assigned in the own NS descriptor.
77 5. Instantiate NSD_2 and repeat same checks as in step 3.
78 6. Create a new NSD (NSD_3) based on NSD_2, setting a different CIDR for the 
79 internal NSD VL. Instantiate and repeat same checks as in step 3.
80 7. Instantiate NSD_3 but setting the IP addresses of some external CP of the 
81 NS. Repeat same checks as in step 3.
82 8. Check that it is not possible to change VNF_1, NS_1 or NS_2 to set IP 
83 addresses of external interfaces/CP and onboard them successfully in the system.
84