blob: b89f49b3bc2cbbe793a1f5232e264745d8b0f64e [file] [log] [blame]
Scott Bakeraf71a722021-12-15 16:30:01 -08001Aether 1.6 Release
2==================
3
4Highlights
5----------
6
7The focus of this release of Aether is expanding the Quality of Service (QoS)
8feature to include the ability to have per-Slice and per-Device-by-Application
9QoS settings, as well as to add a new Application Filtering feature. Aether
10modeling continues to be improved as documented below, and many additional
11reliability improvements have been made to the underlying subsystems.
12
13New Features & Improvements
14---------------------------
15
16Three Levels of Quality of Service (QoS) Control
17""""""""""""""""""""""""""""""""""""""""""""""""
18
19Aether now supports Maximum Bitrate Quality of Service (MBR QoS) settings at
20three different levels:
21
22* Per-Device. Configured as part of the Device-Group abstraction. Each slice may
23 contain multiple device groups, and therefore configure a heterogeneous set of
24 devices. These settings are mandatory.
25
26* Per-Device by Application. These allow the MBR to be limited for the flow
27 between a pair of Device and Application. These QoS settings are optional and
28 are specified as part of Application Filtering.
29
30* Per-Slice. The per-Slice settings allow the aggregate bandwidth of all devices
31 in a slice to be limited. This is enforced as part of the User Plane Function
32 (UPF). These QoS settings are optional.
33
34In addition to MBR, Aether also allows a Traffic Class to be specified at the
35Per-Device (Device-Group) and Application contexts. The Traffic Class further
36defines the QCI and ARP used for 5G.
37
38Application Filtering
39"""""""""""""""""""""
40
41Aether supports application filtering performed by the User Plane Function
42(UPF). The application filtering feature allows devices in a slice to have
43access to only those applications allocated to the slice, and vice-versa,
44thereby extending the isolation capabilities of a slice to the
45edge-applications. Some applications (such as public Internet access) can also
46be shared across slices.
47
48Aether allows a total of five user-defined application endpoint filtering
49rules, plus one default rule that may be set to either Allow-All or Deny-All.
50The application endpoint filtering rules allow the filter to be composed of
51application IP address, protocol (TCP, UDP, etc), and port. Each rule is
52assigned a priority, and the rules are executed in priority order until a match
53is found. The default rule (for example Deny-All), is assigned the least
54priority and is executed last.
55
56UPF Pools
57"""""""""
58
59Aether allows a set of UPFs to be created at customer onboarding, and those
60UPFs may later be associated with Slices as the customer creates additional
61slices. Additional UPFs may be added to the pool at any time by the operator.
62The GUI maintains the invariant that a UPF may only be assigned to one Slice at
63a time, that the UPF must be located at the same Site as the VCS, and assists
64the user in filtering out in-use UPFs when a VCS is created.
65
66Monitoring Support
67""""""""""""""""""
68
69The Aether GUI now displays site health statistics. These statistics are
70collected by Aether using the Prometheus tool set, and are fetched on demand by
71the GUI. Aether can display metrics such as the number of nodes and number of
72healthy edge monitoring devices at a site.
73
74Modeling Updates
75""""""""""""""""
76
77The following other miscellaneous modeling updates have been added:
78
79* Standardized all bitrates to be specified as bits per second (bps).
80
81* Several models have been updated to make it so that their names may be easily
82 changed, without requiring the model to be deleted and re-created.
83
84* The AP-List model has been renamed to Small-Cell and has been merged into the
85 Site model.
86
87Testing
88-------
89
90Aether uses automated testing based on Jenkins and Robot Framework. The tests
91performed are described below.
92
93SD-Core Tests
94"""""""""""""
95
96* 4G
97
98 * Functional coverage: attach, detach, dataplane traffic, handover, TAU, paging,
99 error scenarios, failure/restart of network functions
100
101* 5G
102
103 * Functional Coverage: register, deregister,dataplane traffic scenarios,
104 handover, TAU, DDN, few error scenarios, few failure/restart of network
105 functions
106
107Jenkins jobs for functional and scale tests can be found on `Aether Jenkins -
108SD-Core System Tests
109<https://jenkins.aetherproject.org/view/SD%20Core%20System%20Tests/>`_
110
111ROC
112"""
113
114* Functional API and GUI test coverages
115
116Jenkins jobs: `Aether Jenkins - ROC System Tests
117<https://jenkins.aetherproject.org/view/ROC%20System%20Tests/>`_
118
119System Tests
120""""""""""""
121
122* 4G
123
124 * Functional testing includes multiple slice creations, enable/disable of device
125 groups, add/update IMSI ranges, QoS validations, rate limiting tests (at UE,
126 slice, application), application filtering tests, container restart tests
127
128Jenkins Jobs: `Aether Jenkins - Aether System Tests
129<https://jenkins.aetherproject.org/view/Aether%20System%20Tests/>`_
130
131Documentation
132-------------
133
134Aether documentation is available at `docs.aetherproject.org
135<https://docs.aetherproject.org>`_
136
137Known Issues and Limitations
138----------------------------
139
140* An individual Device may participate in a 4G core or a 5G core, but not both.
141
142* 4G Devices may each participate in a single DeviceGroup, and 4G DeviceGroups
143 may each participate in a single VCS.
144
145* Application endpoints may only specify an IPv4 address, and may not specify
146 ports (either a single one or a range). As a consequence, we support the
147 definition of only one application per IPv4 address. This limitation will
148 be removed in Aether 2.0.
149
150* When ROCs sdcore-adapter-v4 pod restarts, its cached internal state must be
151 manually refreshed.
152
153* If ConfigPod is crashed/restarted then we need a manual restart of simapp pod.
154
155* UPFs listed in the ROC should all be reachable, cannot include an unreachable
156 UPF which may keep the existing UPFs to not function properly.
157
158Component Versions
159------------------
160
161ROC:
162
163* atomix-controller: 0.6.8
164
165* atomix-raft-storage: 0.1.15
166
167* onos-operator: v0.4.14
168
169* aether-roc-umbrella: 1.4.64
170
171SD-Core:
172
173* sdcore-helm-chart: 0.9.16
174
175BESS UPF
176
177* omec-user-plane: 0.5.4
178
179SD-Fabric 1.0.1 release (`release note
180<https://docs.sd-fabric.org/1.0.1/release/1.0.1.html>`_)
181
182* sdfabric: 1.0.10
183
184* onos-classic chart: 0.1.26
185
186* stratum chart: 0.1.18
187
188* pfcp-agent chart: 0.0.1
189
190* dbuf chart: 0.0.1
191
192* int-host-reporter chart: 0.0.1
193
194Sercomm eNB
195
196* Firmware version: TEST3918@210224
197
198* Configuration file version: 0.1.0