Scale-in/Scale-out commands can be only triggered from CLI. When they are triggered...
[osm/Features.git] / Release1 / remove_NS_datacenter_network_reference.md
1 # Remove explicit datacenter network reference at the NS descriptor#
2
3 ## Proposer ##
4 **EUAG**
5
6 ## Type ##
7 **Feature**
8
9 ## Target MDG/TF ##
10 UI, RO, SO
11
12 ## Description ##
13 In the current implementation a NS descriptor (NSD) contains "external" networks, or connection
14 points intended for  connecting outside. Management networks are clear examples of these
15 connections, but they can be also dataplane connections. These networks must exist at the VIM with
16 the same name used for the NSD. This relationship between descriptor name and deployment is
17 undesirable because it forces to have particular NSD for each VIM where it will be deployed.
18
19 The user must be able to map what VIM network is used for a concrete NSD "external" network or
20 connection point. The user must have the following options:
21
22 - map a NSD "external" network name to an existing VIM network.
23 - create a new network at the VIM. In this case this network will not be used to connect outside,
24 but this is still useful for testing purposes. Also a later NSD deployment can use the created
25 network so that both deployments are connected among them.
26
27 In addition to these options, an automated mapping is also desirable. When a VIM is registered at
28 OSM, it can be indicated particular mappings between NSD external networks names and the existing
29 VIM networks. If this mapping exist, it applies automatically if the user has not indicated other
30 action. This is specially useful for management networks, so that the VIM management network is
31 indicated once at registration, avoiding the user to indicate the VIM management network every time
32 he makes a deployment.
33
34 In the case that the RO has not enough information for mapping a "external" NSD network or
35 connection point at deployment time, it will reject the instantiation.
36
37 In order to have this feature implemented, the following changes are devised:
38
39 - In the UI:
40     - The end user should have the possibility to select an option for each "external" NSD network
41     or connection point. The options can be "manual mapping" (it is desirable to show the list of
42     existing VIM networks), or "create the network".
43 - In the RO:
44     - Allow this information at the instantiation time. The NS instance should allow to specify
45     these parameters.
46     - Database changes to annotate instance-related information, in this case the VIM network used.
47     - Changes in northbound API to allow that information
48 - In the SO:
49     - NS data models should incorporate a data model for instances, different than the NS data
50     model for templates, where it should be possible to the network instance-related parameters.
51     - Connection to RO must be modified accordingly to the changes in RO northbound API.
52
53
54 Specs for each module are to be written. For instance, in RO the spec is expected to include the
55 following devised changes:
56
57 - openmano_schemas.py: changes in schema "instance_scenario_create_schema" to support the
58 specification of network mapping information.
59 - nfvo.py: changes in function "create\_instance" to support the new schema and take the actions
60 accordingly, including the appropriate calls to nfvo\_db functions.
61 - MySQL DB: changes in "instance\_nets" table is required. Further investigation is required.
62 - nfvo\_db: changes in functions to update the previous tables accordingly.
63 - http\_server.py: changes in http\_post\_instances to take into account the changes in schemas,
64 nfvo functions and nfvo\_db functions.
65
66 ## Demo or definition of done ##
67 A test case consisting of the deployment of the same NSD at two different VIMs, where  the name of
68 an external network used for mapping a NSD network are different.
69 Both the manual and automate mapping must be tested.
70 Finally choose the option of "create network" for a first NSD deployment, and the option of using
71 this created network for a second NSD deployment. Ensure that both deployments are interconnected.
72