Update the doc/overview.rst for Cherry release
[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 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, in this release, we only cover the container one. 
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
32 2.High performance data plane including the DPDK based vswitch and PCI pass-through/SR-IOV.
33
34 In the Cherry release, besides the Bronze release features, it has the 2 server mode supported. And these 2 servers will be active and standby mode to provide the high availability (HA) capability.
35 The controller functionality and storage functionality will be deployed at the 2 servers with standby-active mode managed by "service management". If one server or one service in one server has error, it will be switched from active to standby one to maintain the service availability.
36
37 In the Bronze release, the following components and services are enabled:
38
39 1. Fault Management
40
41    - Framework for infrastructure services to raise and persist alarm and event data.
42    
43      - Set, clear and query customer alarms
44
45      - Generate customer logs for significant events
46
47    - Maintains an Active Alarm List
48
49    - Provides REST API to query alarms and events, also available through SNMP traps
50
51    - Support for alarm suppression
52
53    - Operator alarms
54
55      - On platform nodes and resources
56
57      - On hosted virtual resources
58
59    - Operator logs - Event List
60
61      - Logging of sets/clears of alarms
62
63      - Related to platform nodes and resources
64     
65      - Related to hosted virtual resources
66
67 2. Configuration Management
68
69    - Manages Installation and Commissioning
70    
71      - Auto-discover of new nodes
72
73      - Full Infrastructure management
74
75      - Manage installation parameters (i.e. console, root disks)
76
77    - Nodal Configuration
78
79      - Node role, role profiles
80
81      - Core, memory (including huge page) assignments
82
83      - Network Interfaces and storage assignments
84
85    - Hardware Discovery
86
87      - CPU/cores, SMT, processors, memory, huge pages
88
89      - Storage, ports
90
91      - GPUs, storage, Crypto/compression H/W
92
93 3. Software Management
94
95    - Manages Installation and Commissioning
96
97      - Auto-discover of new nodes
98
99      - Full Infrastructure management
100
101      - Manage installation parameters (i.e. console, root disks)
102
103    - Nodal Configuration
104
105      - Node role, role profiles
106
107      - Core, memory (including huge page) assignments
108
109      - Network Interfaces and storage assignments
110
111    - Hardware Discovery
112
113      - CPU/cores, SMT, processors, memory, huge pages
114
115      - Storage, ports
116
117      - GPUs, storage, Crypto/compression H/W
118 4. Host Management
119
120    - Full life-cycle and availability management of the physical hosts
121
122    - Detects and automatically handles host failures and initiates recovery
123
124    - Monitoring and fault reporting for:
125
126      - Cluster connectivity
127
128      - Critical process failures
129
130      - Resource utilization thresholds, interface states
131
132      - H/W fault / sensors, host watchdog
133
134      - Activity progress reporting
135
136    - Interfaces with board management (BMC)
137
138      - For out of band reset
139
140      - Power-on/off
141
142      - H/W sensor monitoring
143 5. Service Management
144
145    - Manages high availability of critical infrastructure and cluster services
146
147      - Supports many redundancy models: N, or N+M
148
149      - Active or passive monitoring of services
150
151      - Allows for specifying the impact of a service failure and escalation policy
152
153      - Automatically recovers failed services
154
155    - Uses multiple messaging paths to avoid split-brain communication failures
156
157      - Up to 3 independent communication paths
158
159      - LAG can also be configured for multi-link protection of each path
160
161      - Messages are authenticated using HMAC
162
163      - SHA-512 if configured / enabled on an interface by-interface basis
164 6. Support the ansible bootstrap to implement the zero touch provisioning
165
166 Enable the ansible configuration functions for infrastructure itself including the image installation and service configuration.
167
168
169 NOTE: These features leverage the StarlingX (www.starlingx.io). And in Bronze release, these features are only avalaible for IA platform.
170
171 NOTE: In Bronze release single server solution is supported only. All the functionalities include controller functions, storage functions and compute functions are integrated in the single server.  
172
173 About Yocto and OpenEmbedded
174 ----------------------------
175 The Yocto Project is an open source collaboration project that provides templates,
176 tools and methods to help you create custom Linux-based systems for embedded and
177 IOT products, regardless of the hardware architecture.
178
179 OpenEmbedded is a build automation framework and cross-compile environment used
180 to create Linux distributions for embedded devices. The OpenEmbedded framework
181 is developed by the OpenEmbedded community, which was formally established in 2003.
182 OpenEmbedded is the recommended build system of the Yocto Project, which is a Linux
183 Foundation workgroup that assists commercial companies in the development of Linux-based
184 systems for embedded products.
185
186
187 About StarlingX
188 ---------------
189 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.
190
191 Contact info
192 ------------
193 If you need support or add new features/components, please feel free to contact the following:
194
195 - Jackie Huang <jackie.huang@windriver.com>
196
197 - Xiaohua Zhang <xiaohua.zhang@windriver.com>