ESCALATOR-28: Revise the Section of Reference Architecture
[escalator.git] / docs / 05-Reference_Architecture.rst
1 Reference Architecture
2 ----------------------
3
4 This section describes the reference architecture, the function blocks,
5 and the function entities of Escalator for the reader to well understand how
6 the basic functions to be organized.
7
8 Upgrade Scope
9 ~~~~~~~~~~~~~~~~
10 Upgrade objects described in this document are software programs covered by
11 red box in the picture below which includes: VIM and NFVI.
12 The target of the upgrade is to reduce the impact on the applications in the
13 blue box below as much as possible.
14 Note that this upgrade process does not take into consideration the effects
15 of Vi-Vnfm and Or-Vi. In other words, the unserviceability of the two
16 interfaces during upgrade can  be accepted.
17
18 .. figure:: images/figure1.png
19    :name: figure1
20    :width: 100%
21
22 The software stack on each node is generally as shown in the table below.
23
24 .. figure:: images/figure2.png
25    :name: figure2
26    :width: 100%
27
28 Because the control node upgrade will not affect the VNFs service in the blue
29 box, this scheme focuses on upgrading of compute nodes.
30
31 Precondition of Upgrade
32 ~~~~~~~~~~~~~~~~~~~~~~~~~~
33 1 The environmental requirements
34 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
35 - 1.  System is running normally. If there are any faults before the upgrade,
36 it is difficult to distinguish between upgrade introduced and the environment
37 itself.
38 - 2.  The environment should have the redundant resources. Because the upgrade
39 process is based on the business migration, in the absence of resource
40 redundancy,it is impossible to realize the business migration, as well as to
41 achieve a smooth upgrade.
42
43 Resource redundancy in two levels:
44 - 1  NFVI level: This level is mainly the compute nodes resource redundancy.
45 During the upgrade, the virtual machine on business can be migrated to another
46 free compute node.
47 - 2  VNF level: This level depends on HA mechanism in VNF, such as:
48 active-standby, load balance. In this case, as long as business of the target
49 node on VMs is migrated to other free nodes, the migration of VM might not be
50 necessary.
51
52 The way of redundancy to be used is subject to the specific environment.
53 Generally speaking, During the upgrade, the VNF's service level availability
54 mechanism should be used in higher priority than the NFVI's. This will help
55 us to reduce the service outage.
56
57 2 The requirements for component release version
58 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59 This is primarily a compatibility requirement. You can refer to Linux/Python
60 Compatible Semantic Versioning 3.0.0:
61
62 Given a version number MAJOR.MINOR.PATCH, increment the:
63 1.  MAJOR version when you make incompatible API changes,
64 2.  MINOR version when you add functionality in a backwards-compatible manner,
65 3.  PATCH version when you make backwards-compatible bug fixes.
66
67 Some internal interfaces of OpenStack will be used by Escalator indirectly,
68 such as VM migration related interface between VIM and NFVI. So it is required
69 to be backward compatible on these interfaces. Refer to "Interface" chapter
70 for details.
71
72 Upgrade related modules in VIM
73 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74 Upgrade operations are initiated by the user through the VIM. For VIM, upgrade
75 management mainly contains the object:
76 - **Upgrade Manager**:Mainly responsible for control of the upgrade process.
77 The Escalator is required to know the software deployment information of the
78 platform and will use these information during the upgrading. It will be
79 collected from some place, such as the Installer, Deploy Manager and Escalator
80 itself, etc.
81 - **VIM Interface**:Mainly responsible for the external interface, include
82 Vi-Vnfm, Or-Vi. This module stores VNFO and VNFM external information such as
83 address and authentication.
84 - **Cloud Manager**:Mainly responsible for virtualization resources management,
85 which might be considered made up of Openstack and SDN control node.
86 - **System Support**:This layer is the runtime support environment of upper
87 layers, e.g. Cloud Manager and VIM interface., including:OS, HA, etc. To
88 upgrade the upper software is based on this module.
89
90 .. figure:: images/figure3.png
91    :name: figure3
92    :width: 100%