Bump versions for 7.1 release
[apex.git] / docs / release / installation / architecture.rst
1 Triple-O Deployment Architecture
2 ================================
3
4 Apex is based on the OpenStack Triple-O project as distributed by
5 the RDO Project.  It is important to understand the basics
6 of a Triple-O deployment to help make decisions that will assist in
7 successfully deploying OPNFV.
8
9 Triple-O stands for OpenStack On OpenStack.  This means that OpenStack
10 will be used to install OpenStack. The target OPNFV deployment is an
11 OpenStack cloud with NFV features built-in that will be deployed by a
12 smaller all-in-one deployment of OpenStack.  In this deployment
13 methodology there are two OpenStack installations. They are referred
14 to as the undercloud and the overcloud. The undercloud is used to
15 deploy the overcloud.
16
17 The undercloud is the all-in-one installation of OpenStack that includes
18 baremetal provisioning capability.  The undercloud will be deployed as a
19 virtual machine on a Jump Host.
20
21 The overcloud is OPNFV. Configuration will be passed into undercloud and
22 the undercloud will use OpenStack's orchestration component, named Heat, to
23 execute a deployment that will provision the target OPNFV nodes.
24
25 Apex High Availability Architecture
26 ===================================
27
28 Undercloud
29 ----------
30
31 The undercloud is not Highly Available. End users do not depend on the
32 undercloud. It is only for management purposes.
33
34 Overcloud
35 ---------
36
37 Apex will deploy three control nodes in an HA deployment. Each of these nodes
38 will run the following services:
39
40 - Stateless OpenStack services
41 - MariaDB / Galera
42 - RabbitMQ
43 - OpenDaylight
44 - HA Proxy
45 - Pacemaker & VIPs
46 - Ceph Monitors and OSDs
47
48 Stateless OpenStack services
49   All running stateless OpenStack services are load balanced by HA Proxy.
50   Pacemaker monitors the services and ensures that they are running.
51
52 Stateful OpenStack services
53   All running stateful OpenStack services are load balanced by HA Proxy.
54   They are monitored by pacemaker in an active/passive failover configuration.
55
56 MariaDB / Galera
57   The MariaDB database is replicated across the control nodes using Galera.
58   Pacemaker is responsible for a proper start up of the Galera cluster. HA
59   Proxy provides and active/passive failover methodology to connections to the
60   database.
61
62 RabbitMQ
63   The message bus is managed by Pacemaker to ensure proper start up and
64   establishment of clustering across cluster members.
65
66 OpenDaylight
67   OpenDaylight is currently installed on all three control nodes and started as
68   an HA cluster unless otherwise noted for that scenario.  OpenDaylight's
69   database, known as MD-SAL, breaks up pieces of the database into "shards".
70   Each shard will have its own election take place, which will determine
71   which OpenDaylight node is the leader for that shard.  The other
72   OpenDaylight nodes in the cluster will be in standby.  Every Open vSwitch
73   node connects to every OpenDaylight to enable HA.
74
75 HA Proxy
76   HA Proxy is monitored by Pacemaker to ensure it is running across all nodes
77   and available to balance connections.
78
79 Pacemaker & VIPs
80   Pacemaker has relationships and restraints setup to ensure proper service
81   start up order and Virtual IPs associated with specific services are running
82   on the proper host.
83
84 Ceph Monitors & OSDs
85   The Ceph monitors run on each of the control nodes. Each control node also
86   has a Ceph OSD running on it. By default the OSDs use an autogenerated
87   virtual disk as their target device. A non-autogenerated device can be
88   specified in the deploy file.
89
90 VM Migration is configured and VMs can be evacuated as needed or as invoked
91 by tools such as heat as part of a monitored stack deployment in the overcloud.
92
93
94 OPNFV Scenario Architecture
95 ===========================
96
97 OPNFV distinguishes different types of SDN controllers, deployment options, and
98 features into "scenarios".  These scenarios are universal across all OPNFV
99 installers, although some may or may not be supported by each installer.
100
101 The standard naming convention for a scenario is:
102 <VIM platform>-<SDN type>-<feature>-<ha/noha>
103
104 The only supported VIM type is "OS" (OpenStack), while SDN types can be any
105 supported SDN controller.  "feature" includes things like ovs_dpdk, sfc, etc.
106 "ha" or "noha" determines if the deployment will be highly available.  If "ha"
107 is used at least 3 control nodes are required.
108
109 OPNFV Scenarios in Apex
110 =======================
111
112 Apex provides pre-built scenario files in /etc/opnfv-apex which a user can
113 select from to deploy the desired scenario.  Simply pass the desired file to
114 the installer as a (-d) deploy setting.  Read further in the Apex documentation
115 to learn more about invoking the deploy command.  Below is quick reference
116 matrix for OPNFV scenarios supported in Apex.  Please refer to the respective
117 OPNFV Docs documentation for each scenario in order to see a full scenario
118 description.  Also, please refer to release notes for information about known
119 issues per scenario.  The following scenarios correspond to a supported
120 <Scenario>.yaml deploy settings file:
121
122 +-------------------------+-------------+---------------+
123 | **Scenario**            | **Owner**   | **Supported** |
124 +-------------------------+-------------+---------------+
125 | os-nosdn-nofeature-ha   | Apex        | Yes           |
126 +-------------------------+-------------+---------------+
127 | os-nosdn-nofeature-noha | Apex        | Yes           |
128 +-------------------------+-------------+---------------+
129 | os-nosdn-bar-ha         | Barometer   | No            |
130 +-------------------------+-------------+---------------+
131 | os-nosdn-bar-noha       | Barometer   | No            |
132 +-------------------------+-------------+---------------+
133 | os-nosdn-calipso-noha   | Calipso     | Yes           |
134 +-------------------------+-------------+---------------+
135 | os-nosdn-ovs_dpdk-ha    | Apex        | No            |
136 +-------------------------+-------------+---------------+
137 | os-nosdn-ovs_dpdk-noha  | Apex        | No            |
138 +-------------------------+-------------+---------------+
139 | os-nosdn-fdio-ha        | FDS         | No            |
140 +-------------------------+-------------+---------------+
141 | os-nosdn-fdio-noha      | FDS         | No            |
142 +-------------------------+-------------+---------------+
143 | os-nosdn-kvm_ovs_dpdk-ha| KVM for NFV | No            |
144 +-------------------------+-------------+---------------+
145 | os-nosdn-kvm_ovs_dpdk   | KVM for NFV | No            |
146 | -noha                   |             |               |
147 +-------------------------+-------------+---------------+
148 | os-nosdn-performance-ha | Apex        | No            |
149 +-------------------------+-------------+---------------+
150 | os-odl-nofeature-ha     | Apex        | Yes           |
151 +-------------------------+-------------+---------------+
152 | os-odl-nofeature-noha   | Apex        | Yes           |
153 +-------------------------+-------------+---------------+
154 | os-odl-ovs_dpdk-ha      | Apex        | No            |
155 +-------------------------+-------------+---------------+
156 | os-odl-ovs_dpdk-noha    | Apex        | No            |
157 +-------------------------+-------------+---------------+
158 | os-odl-bgpvpn-ha        | SDNVPN      | Yes           |
159 +-------------------------+-------------+---------------+
160 | os-odl-bgpvpn-noha      | SDNVPN      | Yes           |
161 +-------------------------+-------------+---------------+
162 | os-odl-sriov-ha         | Apex        | No            |
163 +-------------------------+-------------+---------------+
164 | os-odl-sriov-noha       | Apex        | No            |
165 +-------------------------+-------------+---------------+
166 | os-odl-l2gw-ha          | Apex        | No            |
167 +-------------------------+-------------+---------------+
168 | os-odl-l2gw-noha        | Apex        | No            |
169 +-------------------------+-------------+---------------+
170 | os-odl-sfc-ha           | SFC         | Yes           |
171 +-------------------------+-------------+---------------+
172 | os-odl-sfc-noha         | SFC         | Yes           |
173 +-------------------------+-------------+---------------+
174 | os-odl-gluon-noha       | Gluon       | No            |
175 +-------------------------+-------------+---------------+
176 | os-odl-csit-noha        | Apex        | No            |
177 +-------------------------+-------------+---------------+
178 | os-odl-fdio-ha          | FDS         | No            |
179 +-------------------------+-------------+---------------+
180 | os-odl-fdio-noha        | FDS         | No            |
181 +-------------------------+-------------+---------------+
182 | os-odl-fdio_dvr-ha      | FDS         | No            |
183 +-------------------------+-------------+---------------+
184 | os-odl-fdio_dvr-noha    | FDS         | No            |
185 +-------------------------+-------------+---------------+
186 | os-onos-nofeature-ha    | ONOSFW      | No            |
187 +-------------------------+-------------+---------------+
188 | os-onos-sfc-ha          | ONOSFW      | No            |
189 +-------------------------+-------------+---------------+
190 | os-ovn-nofeature-noha   | Apex        | No            |
191 +-------------------------+-------------+---------------+
192 | os-ovn-nofeature-ha     | Apex        | Yes           |
193 +-------------------------+-------------+---------------+