Next step platformoverview doc
[opnfvdocs.git] / docs / platformoverview / softwarearchitecture.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. (c) OPNFV, Huawei
4
5 ========================
6 Target software platform
7 ========================
8
9 Software architecture
10 =====================
11
12 This section will provide information which upstream projects, versions and components are
13 integrated in the Brahmaputra release
14
15 OpenStack
16 ---------
17
18 OPNFV uses OpenStack as cloud management system.
19 Brahmaputra is based on OpenStack Liberty Release. It comprises the following sub-projects
20 and modules:
21
22 * Nova (Compute)
23 * Neutron (Network)
24 * Cinder (Block Storage)
25 * Swift (Object Storage)
26 * Ceilometer (Telemetry)
27 * Keystone (Identity)
28 * Glance (Image Service)
29 * Heat (Orchestration)
30 * etc.
31
32 Some of the sub-projects are not deployed in all scenarios.
33 Besides target software, also deployment and test framework use OpenStack components
34 (Fuel, Tempest, Rally)
35
36
37 Operating System
38 ----------------
39
40 OPNFV uses Linux on all target machines. Depending on the installers, different
41 distributions are supported.
42
43 Ubuntu 14 supported by Fuel, Compass and Joid installers
44 CentOS 7 supported by Apex and Compass
45
46
47 SDN Controllers
48 ---------------
49
50 OPNFV Brahmaputra release supports three different SDN controllers:
51
52 * OpenDaylight (ODL, Beryllium release)
53 * ONOS (Emu release)
54 * OpenContrail (?)
55
56 Depending on the SDN controller you are using, the featureset will vary.
57 Brahmaputra also provides scenarios without an SDN controller, just using OpenStack Neutron.
58
59 OpenDaylight
60 ++++++++++++
61
62 Editor's note:
63 We need a high level paragraph here and a description of how we use ODL.
64
65
66 ONOS
67 ++++
68
69 .. ONOS intro shortened from https://wiki.onosproject.org/pages/viewpage.action?pageId=2851517
70
71 ONOS stands for **O** pen **N** etwork **O** perating **S** ystem. ONOS provides the control plane
72 for a software-defined network (SDN), managing network components, such as switches and links,
73 and running software programs or modules to provide communication services to end hosts and
74 neighboring networks.
75
76 ONOS provides a platform for SDN applications and use cases for routing, management, or
77 monitoring services for software-defined networks.
78
79 ONOS can run as a distributed system across multiple servers, allowing it to use the CPU and
80 memory resources of multiple servers while providing fault tolerance in the face of server
81 failure and potentially supporting live/rolling upgrades of hardware and software without
82 interrupting network traffic.
83
84 The ONOS kernel and core services, as well as ONOS applications, are written in Java as bundles
85 that are loaded into the Karaf OSGi container. OSGi is a component system for Java that allows
86 modules to be installed and run dynamically in a single JVM.
87
88 More information on the internal design of ONOS may be found in
89 `User's Guide <https://wiki.onosproject.org/display/ONOS/User's+Guide>`_ and
90 `Architecture+Guide <https://wiki.onosproject.org/display/ONOS/Architecture+Guide>`_ on the
91 `wiki of the ONOS project <https://wiki.onosproject.org>`_.
92
93 ONOS is integrated to OPNFV using a framework ONOSFW and Neutron plugins. Details can be found in the
94 ONOS specific OPNFV documents:
95
96 .. Link to be added.
97
98
99 OpenContrail
100 ++++++++++++
101
102 Editors note:
103 We need a high level paragraph here and a description of how we use OpenContrail, including
104 its vRouter capabilities.
105
106 Data Plane
107 ----------
108
109 Other Components
110 ----------------
111
112 Deployment Architecture
113 =======================
114
115 OPNFV starts with a typical configuration with 3 controller nodes running
116 OpenStack, SDN, etc. and a minimum of 2 compute nodes for deployment of VNFs.
117 A detailed description of this 5 node configuration can be found in pharos documentation.
118
119 The 3 controller nodes allow to provide an HA configuration. The number of compute
120 nodes can be increased dynamically after the initial deployment.
121
122 OPNFV can be deployed on bare metal or in a virtual environment, where each of the hosts
123 is a virtual machine and provides the virtual resources using nested virtualization.
124
125 The initial deployment is done using a so-called "jumphost". This server (either bare metal
126 or virtual) is first installed with the installer program that then installs OpenStack
127 and other components on the controller nodes and compute nodes. See the installer
128 documentation for more details.
129
130 Editors note:
131 In a second level of detail, describe how software is distributed over the 3 controller
132 nodes, compute nodes and other hardware.
133
134 In Brahmaputra, the following scenarios are supported:
135
136
137
138
139 Dynamic View
140 ============
141
142 Editors note: we might skip this section completely for Brahmaputra.
143
144 Or we provide rather short statements. In later versions, we have to describe which
145 software is involved in which way during:
146
147 * VNF Life Cycle (onboarding, instantiate, scaling): we can reference to other documents
148 * Hardware Life Cycle (mainly how to add compute nodes, but also other cases)
149 * ...
150
151
152
153
154