This section describes the reference architecture, the function blocks,
and the function entities of Escalator for the reader to well understand how
the basic functions to be organized.
Upgrade objects described in this document are software programs covered by
red box in the picture below which includes: VIM and NFVI.
The target of the upgrade is to reduce the impact on the applications in the
blue box below as much as possible.
Note that this upgrade process does not take into consideration the effects
of Vi-Vnfm and Or-Vi. In other words, the unserviceability of the two
interfaces during upgrade can be accepted.
.. figure:: images/figure1.png
The software stack on each node is generally as shown in the table below.
.. figure:: images/figure2.png
Because the control node upgrade will not affect the VNFs service in the blue
box, this scheme focuses on upgrading of compute nodes.
Precondition of Upgrade
1 The environmental requirements
- 1. System is running normally. If there are any faults before the upgrade,
it is difficult to distinguish between upgrade introduced and the environment
- 2. The environment should have the redundant resources. Because the upgrade
process is based on the business migration, in the absence of resource
redundancy,it is impossible to realize the business migration, as well as to
achieve a smooth upgrade.
Resource redundancy in two levels:
- 1 NFVI level: This level is mainly the compute nodes resource redundancy.
During the upgrade, the virtual machine on business can be migrated to another
free compute node.
- 2 VNF level: This level depends on HA mechanism in VNF, such as:
active-standby, load balance. In this case, as long as business of the target
node on VMs is migrated to other free nodes, the migration of VM might not be
The way of redundancy to be used is subject to the specific environment.
Generally speaking, During the upgrade, the VNF's service level availability
mechanism should be used in higher priority than the NFVI's. This will help
us to reduce the service outage.
2 The requirements for component release version
This is primarily a compatibility requirement. You can refer to Linux/Python
Compatible Semantic Versioning 3.0.0:
Given a version number MAJOR.MINOR.PATCH, increment the:
1. MAJOR version when you make incompatible API changes,
2. MINOR version when you add functionality in a backwards-compatible manner,
3. PATCH version when you make backwards-compatible bug fixes.
Some internal interfaces of OpenStack will be used by Escalator indirectly,
such as VM migration related interface between VIM and NFVI. So it is required
to be backward compatible on these interfaces. Refer to "Interface" chapter
Upgrade related modules in VIM
Upgrade operations are initiated by the user through the VIM. For VIM, upgrade
management mainly contains the object:
- **Upgrade Manager**:Mainly responsible for control of the upgrade process.
The Escalator is required to know the software deployment information of the
platform and will use these information during the upgrading. It will be
collected from some place, such as the Installer, Deploy Manager and Escalator
- **VIM Interface**:Mainly responsible for the external interface, include
Vi-Vnfm, Or-Vi. This module stores VNFO and VNFM external information such as
address and authentication.
- **Cloud Manager**:Mainly responsible for virtualization resources management,
which might be considered made up of Openstack and SDN control node.
- **System Support**:This layer is the runtime support environment of upper
layers, e.g. Cloud Manager and VIM interface., including:OS, HA, etc. To
upgrade the upper software is based on this module.
.. figure:: images/figure3.png