Merge "Correct time on jump host prior to launching VMs" into stable/colorado
[apex.git] / docs / installationprocedure / 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 jumphost.  This VM is pre-built and distributed as part
20 of the Apex RPM.
21
22 The overcloud is OPNFV. Configuration will be passed into undercloud and
23 the undercloud will use OpenStack's orchestration component, named Heat, to
24 execute a deployment that will provision the target OPNFV nodes.
25
26 Apex High Availability Architecture
27 ===================================
28
29 Undercloud
30 ----------
31
32 The undercloud is not Highly Available. End users do not depend on the
33 underloud. It is only for management purposes.
34
35 Overcloud
36 ---------
37
38 Apex will deploy three control nodes in an HA deployment. Each of these nodes
39 will run the following services:
40
41 - Stateless OpenStack services
42 - MariaDB / Galera
43 - RabbitMQ
44 - OpenDaylight
45 - HA Proxy
46 - Pacemaker & VIPs
47
48 Stateless OpenStack services
49   All running statesless 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 but only
68   started on the first control node. OpenDaylight's HA capabilities are not yet
69   mature enough to be enabled.
70
71 HA Proxy
72   HA Proxy is monitored by Pacemaker to ensure it is running across all nodes
73   and available to balance connections.
74
75 Pacemaker & VIPs
76   Pacemaker has relationships and restraints setup to ensure proper service
77   start up order and Virtual IPs associated with specific services are running
78   on the proper host.
79
80 VM Migration is configured and VMs can be evacuated as needed or as invoked
81 by tools such as heat as part of a monitored stack deployment in the overcloud.
82
83
84 OPNFV Scenario Architecture
85 ===========================
86
87 OPNFV distinguishes different types of SDN controllers, deployment options, and
88 features into "scenarios".  These scenarios are universal across all OPNFV
89 installers, although some may or may not be supported by each installer.
90
91 The standard naming convention for a scenario is:
92 <VIM platform>-<SDN type>-<feature>-<ha/noha>
93
94 The only supported VIM type is "OS" (OpenStack), while SDN types can be any
95 supported SDN controller.  "feature" includes things like ovs_dpdk, sfc, etc.
96 "ha" or "noha" determines if the deployment will be highly available.  If "ha"
97 is used at least 3 control nodes are required.
98
99 OPNFV Scenarios in Apex
100 =======================
101
102 Apex provides pre-built scenario files in /etc/opnfv-apex which a user can
103 select from to deploy the desired scenario.  Simply pass the desired file to
104 the installer as a (-d) deploy setting.  Read further in the Apex documentation
105 to learn more about invoking the deploy command.  Below is quick reference
106 matrix for OPNFV scenarios supported in Apex.  Please refer to the respective
107 OPNFV Docs documentation for each scenario in order to see a full scenario
108 description.  The following scenarios correspond to a supported <Scenario>.yaml
109 deploy settings file:
110
111 +-------------------------+------------+-----------------+
112 | **Scenario**            | **Owner**  | **Known Issues**|
113 +-------------------------+------------+-----------------+
114 | os-nosdn-nofeature-ha   | Apex       |                 |
115 +-------------------------+------------+-----------------+
116 | os-nosdn-nofeature-noha | Apex       |                 |
117 +-------------------------+------------+-----------------+
118 | os-nosdn-ovs-noha       | OVS for NFV|                 |
119 +-------------------------+------------+-----------------+
120 | os-nosdn-fdio-noha      | FDS        |                 |
121 +-------------------------+------------+-----------------+
122 | os-odl_l2-nofeature-ha  | Apex       |                 |
123 +-------------------------+------------+-----------------+
124 | os-odl_l3-nofeature-ha  | Apex       | APEX-112        |
125 +-------------------------+------------+-----------------+
126 | os-odl_l2-sfc-noha      | SFC        |                 |
127 +-------------------------+------------+-----------------+
128 | os-odl_l2-bgpvpn-noha   | SDNVPN     |                 |
129 +-------------------------+------------+-----------------+
130 | os-odl_l2-fdio-noha     | FDS        |                 |
131 +-------------------------+------------+-----------------+
132 | os-onos-nofeature-ha    | ONOSFW     |                 |
133 +-------------------------+------------+-----------------+
134 | os-onos-sfc-ha          | ONOSFW     |                 |
135 +-------------------------+------------+-----------------+