Merge "Adding Gluon to post-install and bumping version"
[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 - Ceph Monitors and OSDs
48
49 Stateless OpenStack services
50   All running statesless OpenStack services are load balanced by HA Proxy.
51   Pacemaker monitors the services and ensures that they are running.
52
53 Stateful OpenStack services
54   All running stateful OpenStack services are load balanced by HA Proxy.
55   They are monitored by pacemaker in an active/passive failover configuration.
56
57 MariaDB / Galera
58   The MariaDB database is replicated across the control nodes using Galera.
59   Pacemaker is responsible for a proper start up of the Galera cluster. HA
60   Proxy provides and active/passive failover methodology to connections to the
61   database.
62
63 RabbitMQ
64   The message bus is managed by Pacemaker to ensure proper start up and
65   establishment of clustering across cluster members.
66
67 OpenDaylight
68   OpenDaylight is currently installed on all three control nodes but only
69   started on the first control node. OpenDaylight's HA capabilities are not yet
70   mature enough to be enabled.
71
72 HA Proxy
73   HA Proxy is monitored by Pacemaker to ensure it is running across all nodes
74   and available to balance connections.
75
76 Pacemaker & VIPs
77   Pacemaker has relationships and restraints setup to ensure proper service
78   start up order and Virtual IPs associated with specific services are running
79   on the proper host.
80
81 Ceph Monitors & OSDs
82   The Ceph monitors run on each of the control nodes. Each control node also
83   has a Ceph OSD running on it. By default the OSDs use an autogenerated
84   virtual disk as their target device. A non-autogenerated device can be
85   specified in the deploy file.
86
87 VM Migration is configured and VMs can be evacuated as needed or as invoked
88 by tools such as heat as part of a monitored stack deployment in the overcloud.
89
90
91 OPNFV Scenario Architecture
92 ===========================
93
94 OPNFV distinguishes different types of SDN controllers, deployment options, and
95 features into "scenarios".  These scenarios are universal across all OPNFV
96 installers, although some may or may not be supported by each installer.
97
98 The standard naming convention for a scenario is:
99 <VIM platform>-<SDN type>-<feature>-<ha/noha>
100
101 The only supported VIM type is "OS" (OpenStack), while SDN types can be any
102 supported SDN controller.  "feature" includes things like ovs_dpdk, sfc, etc.
103 "ha" or "noha" determines if the deployment will be highly available.  If "ha"
104 is used at least 3 control nodes are required.
105
106 OPNFV Scenarios in Apex
107 =======================
108
109 Apex provides pre-built scenario files in /etc/opnfv-apex which a user can
110 select from to deploy the desired scenario.  Simply pass the desired file to
111 the installer as a (-d) deploy setting.  Read further in the Apex documentation
112 to learn more about invoking the deploy command.  Below is quick reference
113 matrix for OPNFV scenarios supported in Apex.  Please refer to the respective
114 OPNFV Docs documentation for each scenario in order to see a full scenario
115 description.  Also, please refer to release-notes for information about known
116 issues per scenario.  The following scenarios correspond to a supported
117 <Scenario>.yaml deploy settings file:
118
119 +-------------------------+------------+-----------------+
120 | **Scenario**            | **Owner**  | **Supported**   |
121 +-------------------------+------------+-----------------+
122 | os-nosdn-nofeature-ha   | Apex       | Yes             |
123 +-------------------------+------------+-----------------+
124 | os-nosdn-nofeature-noha | Apex       | Yes             |
125 +-------------------------+------------+-----------------+
126 | os-nosdn-ovs-noha       | OVS for NFV| Yes             |
127 +-------------------------+------------+-----------------+
128 | os-nosdn-fdio-noha      | FDS        | Yes             |
129 +-------------------------+------------+-----------------+
130 | os-odl_l2-nofeature-ha  | Apex       | Yes             |
131 +-------------------------+------------+-----------------+
132 | os-odl_l3-nofeature-ha  | Apex       | Yes             |
133 +-------------------------+------------+-----------------+
134 | os-odl_l2-sfc-noha      | SFC        | Yes             |
135 +-------------------------+------------+-----------------+
136 | os-odl-bgpvpn-ha        | SDNVPN     | No              |
137 +-------------------------+------------+-----------------+
138 | os-odl_l2-fdio-noha     | FDS        | Yes             |
139 +-------------------------+------------+-----------------+
140 | os-onos-nofeature-ha    | ONOSFW     | Yes             |
141 +-------------------------+------------+-----------------+
142 | os-onos-sfc-ha          | ONOSFW     | Yes             |
143 +-------------------------+------------+-----------------+