9d142996ba5c9181164fe15b2089ee702beecf7a
[pti/rtp.git] / docs / overview.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. Copyright (C) 2019 Wind River Systems, Inc.
4
5 Infrastructure Overview (INF)
6 =============================
7
8 This project is a reference implementation of O-Cloud infrastructure and it implements a real time platform (rtp) to deploy the O-CU and O-DU.
9
10 In O-RAN architecture, the O-DU and O-CU could have different deployed scenarios.
11 The could be container based or VM based, which will be both supported in the release.
12 In general the performance sensitive parts of the 5G stack require real time platform,
13 especially for O-DU, the L1 and L2 are requiring the real time feature,
14 the platform should support the Preemptive Scheduling feature. 
15  
16 Following requirements are going to address the container based solution:
17
18 1. Support the real time kernel
19
20 2. Support Node Feature Discovery
21
22 3. Support CPU Affinity and Isolation
23
24 4. Support Dynamic HugePages Allocation
25
26
27 And for the network requirements, the following should be supported:
28
29 1. Multiple Networking Interface
30
31 2. High performance data plane including the DPDK based vswitch and PCI pass-through/SR-IOV.
32
33 O-Cloud Components
34 ------------------
35
36 In this project, the following O-Cloud components and services are enabled:
37
38 1. Fault Management
39
40    - Framework for infrastructure services to raise and persist alarm and event data.
41    
42      - Set, clear and query customer alarms
43
44      - Generate customer logs for significant events
45
46    - Maintains an Active Alarm List
47
48    - Provides REST API to query alarms and events, also available through SNMP traps
49
50    - Support for alarm suppression
51
52    - Operator alarms
53
54      - On platform nodes and resources
55
56      - On hosted virtual resources
57
58    - Operator logs - Event List
59
60      - Logging of sets/clears of alarms
61
62      - Related to platform nodes and resources
63     
64      - Related to hosted virtual resources
65
66 2. Configuration Management
67
68    - Manages Installation and Commissioning
69    
70      - Auto-discover of new nodes
71
72      - Full Infrastructure management
73
74      - Manage installation parameters (i.e. console, root disks)
75
76    - Nodal Configuration
77
78      - Node role, role profiles
79
80      - Core, memory (including huge page) assignments
81
82      - Network Interfaces and storage assignments
83
84    - Hardware Discovery
85
86      - CPU/cores, SMT, processors, memory, huge pages
87
88      - Storage, ports
89
90      - GPUs, storage, Crypto/compression H/W
91
92 3. Software Management
93
94    - Manages Installation and Commissioning
95
96      - Auto-discover of new nodes
97
98      - Full Infrastructure management
99
100      - Manage installation parameters (i.e. console, root disks)
101
102    - Nodal Configuration
103
104      - Node role, role profiles
105
106      - Core, memory (including huge page) assignments
107
108      - Network Interfaces and storage assignments
109
110    - Hardware Discovery
111
112      - CPU/cores, SMT, processors, memory, huge pages
113
114      - Storage, ports
115
116      - GPUs, storage, Crypto/compression H/W
117 4. Host Management
118
119    - Full life-cycle and availability management of the physical hosts
120
121    - Detects and automatically handles host failures and initiates recovery
122
123    - Monitoring and fault reporting for:
124
125      - Cluster connectivity
126
127      - Critical process failures
128
129      - Resource utilization thresholds, interface states
130
131      - H/W fault / sensors, host watchdog
132
133      - Activity progress reporting
134
135    - Interfaces with board management (BMC)
136
137      - For out of band reset
138
139      - Power-on/off
140
141      - H/W sensor monitoring
142 5. Service Management
143
144    - Manages high availability of critical infrastructure and cluster services
145
146      - Supports many redundancy models: N, or N+M
147
148      - Active or passive monitoring of services
149
150      - Allows for specifying the impact of a service failure and escalation policy
151
152      - Automatically recovers failed services
153
154    - Uses multiple messaging paths to avoid split-brain communication failures
155
156      - Up to 3 independent communication paths
157
158      - LAG can also be configured for multi-link protection of each path
159
160      - Messages are authenticated using HMAC
161
162      - SHA-512 if configured / enabled on an interface by-interface basis
163 6. Support the ansible bootstrap to implement the zero touch provisioning
164
165 Enable the ansible configuration functions for infrastructure itself including the image installation and service configuration.
166
167 NOTE: These features leverage the StarlingX (www.starlingx.io). And in current release, these features are only avalaible for IA platform.
168
169 Multi OS and Deployment Configurations
170 --------------------------------------
171
172 The INF project supports Multi OS and currently the following OS are supported:
173
174 * CentOS 7
175 * Yocto 2.6
176
177 A variety of deployment configuration options are supported:
178
179 1. **All-in-one Simplex**
180
181   A single physical server providing all three cloud functions (controller, worker and storage).
182
183 2. **All-in-one Duplex**
184
185   Two HA-protected physical servers, both running all three cloud functions (controller, worker and storage), optionally with up to 50 worker nodes added to the cluster.
186
187 3. **All-in-one Duplex + up to 50 worker nodes**
188
189   Two HA-protected physical servers, both running all three cloud functions (controller, worker and storage), plus with up to 50 worker nodes added to the cluster.
190
191 4. **Standard with Storage Cluster on Controller Nodes**
192
193   A two node HA controller + storage node cluster, managing up to 200 worker nodes.
194
195 5. **Standard with Storage Cluster on dedicated Storage Nodes**
196
197   A two node HA controller node cluster with a 2-9 node Ceph storage cluster, managing up to 200 worker nodes.
198
199 6. **Distributed Cloud**
200
201   Distributed Cloud configuration supports an edge computing solution by providing central management and orchestration for a geographically distributed network of StarlingX systems.
202
203 **NOTE:**
204
205 * For CentOS based image, all the above deployment configuration are supported
206 * For Yocto Based image, only deployment 1 - 3 are supported, and only container based solution is supported, VM based is not supprted yet.
207
208 About Yocto and OpenEmbedded
209 ----------------------------
210 The Yocto Project is an open source collaboration project that provides templates,
211 tools and methods to help you create custom Linux-based systems for embedded and
212 IOT products, regardless of the hardware architecture.
213
214 OpenEmbedded is a build automation framework and cross-compile environment used
215 to create Linux distributions for embedded devices. The OpenEmbedded framework
216 is developed by the OpenEmbedded community, which was formally established in 2003.
217 OpenEmbedded is the recommended build system of the Yocto Project, which is a Linux
218 Foundation workgroup that assists commercial companies in the development of Linux-based
219 systems for embedded products.
220
221
222 About StarlingX
223 ---------------
224 StarlingX is a complete cloud infrastructure software stack for the edge used by the most demanding applications in industrial IOT, telecom, video delivery and other ultra-low latency use cases. With deterministic low latency required by edge applications, and tools that make distributed edge manageable, StarlingX provides a container-based infrastructure for edge implementations in scalable solutions that is ready for production now.
225
226 Contact info
227 ------------
228 If you need support or add new features/components, please feel free to contact the following:
229
230 - Jackie Huang <jackie.huang@windriver.com>