Skip to content

Commit ae03971

Browse files
committed
sync with onramp refactor
Signed-off-by: Larry Peterson <llp@cs.princeton.edu>
1 parent f97df3b commit ae03971

File tree

7 files changed

+79
-88
lines changed

7 files changed

+79
-88
lines changed

conf.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -281,8 +281,8 @@ def get_version():
281281
intersphinx_mapping = {
282282
'ansible': ('https://docs.ansible.com/ansible/latest', None),
283283
'sphinx': ('https://www.sphinx-doc.org/en/master', None),
284-
'sdcore': ('https://docs.sd-core.opennetworking.org/main', None),
285-
'sdran': ('https://docs.sd-ran.org/master', None),
284+
'sdcore': ('https://docs.sd-core.aetherproject.org/main', None),
285+
'sdran': ('https://docs.sd-ran.aetherproject.org/master', None),
286286
'sysapproach5g': ('https://5g.systemsapproach.org/', None),
287287
'sysapproachnet': ('https://book.systemsapproach.org/', None),
288288
'sysapproachsdn': ('https://sdn.systemsapproach.org/', None),

onramp/blueprints.rst

+12-8
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,14 @@ The UERANSIM blueprint includes the following:
307307
[master_nodes]
308308
node1
309309
310+
[worker_nodes]
311+
#node2
312+
310313
[ueransim_nodes]
311314
node2
312315
313-
* New make targets, ``aether-ueransim-install``,
314-
``aether-ueransim-run``, and ``aether-ueransim-uninstall``, to be
316+
* New make targets, ``ueransim-install``,
317+
``ueransim-run``, and ``ueransim-uninstall``, to be
315318
executed after the standard SD-Core installation.
316319

317320
* A new submodule ``deps/ueransim`` (corresponding to repo
@@ -320,7 +323,8 @@ The UERANSIM blueprint includes the following:
320323
for the emulator.
321324

322325
* The Jenkins pipeline ``ueransim.groovy`` validates the UERANSIM
323-
blueprint.
326+
blueprint. It also illustrates how to run Linux commands that
327+
exercise the user plane from the emulated UE.
324328

325329
To use UERANSIM, first copy the vars file to ``main.yml``:
326330

@@ -335,15 +339,15 @@ followed by UERANSIM:
335339

336340
.. code-block::
337341
338-
$ make aether-k8s-install
339-
$ make aether-5gc-install
340-
$ make aether-ueransim-install
341-
$ make aether-ueransim-run
342+
$ make k8s-install
343+
$ make 5gc-install
344+
$ make ueransim-install
345+
$ make ueransim-run
342346
343347
The last step actually starts UERANSIM, configured according to the
344348
specification given in files ``custom-gnb.yaml`` and
345349
``custom-ue.yaml`` located in ``deps/ueransim/config``. Make target
346-
``aether-ueransim-run`` can be run multiple times, where doing so
350+
``ueransim-run`` can be run multiple times, where doing so
347351
reflects any recent edits to the config files. More information about
348352
UERANSIM can be found on `GitHub
349353
<https://github.com/aligungr/UERANSIM>`__, including how to set up the

onramp/gnb.rst

+20-12
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,26 @@ using.
7171

7272
.. code-block::
7373
74-
core:
75-
standalone: true
76-
data_iface: ens18
77-
values_file: "deps/5gc/roles/core/templates/radio-5g-values.yaml"
78-
ran_subnet: ""
79-
helm:
80-
chart_ref: aether/sd-core
81-
chart_version: 0.12.6
82-
upf:
83-
ip_prefix: "192.168.252.0/24"
84-
amf:
85-
ip: "10.76.28.113"
74+
core:
75+
standalone: true # set to false to place under control of ROC
76+
data_iface: ens18
77+
values_file: "deps/5gc/roles/core/templates/radio-5g-values.yaml"
78+
ran_subnet: "" # set to empty string to get subnet from 'data_iface'
79+
helm:
80+
local_charts: false # set chart_ref to local path name if true
81+
chart_ref: aether/sd-core
82+
chart_version: 1.1.0
83+
upf:
84+
ip_prefix: "192.168.252.0/24"
85+
iface: "access"
86+
mode: af_packet # Options: af_packet or dpdk
87+
default_upf:
88+
ip:
89+
access: "192.168.252.3/24"
90+
core: "192.168.250.3/24"
91+
ue_ip_pool: "172.250.0.0/16"
92+
amf:
93+
ip: "10.76.28.113"
8694
8795
8896
Prepare UEs

onramp/network.rst

+17-9
Original file line numberDiff line numberDiff line change
@@ -210,23 +210,31 @@ section are defined in the ``core`` and ``gnbsim`` sections of the
210210
``vars/main.yml`` file. Note that an empty value for
211211
``core.ran_subnet`` implies the physical L2 network is used to connect
212212
RAN elements to the core, as is typically the case when connecting
213-
physical gNBs.
214-
213+
physical gNBs. Many of the other variables are explained in subsequent
214+
sections, but for a summary, see the :doc:`Quick Reference </onramp/ref>`.
215215

216216
.. code-block::
217217
218218
core:
219-
standalone: true
219+
standalone: true # set to false to place under control of ROC
220220
data_iface: ens18
221-
values_file: "config/sdcore-5g-values.yaml"
222-
ran_subnet: "172.20.0.0/16"
221+
values_file: "deps/5gc/roles/core/templates/sdcore-5g-values.yaml"
222+
ran_subnet: "172.20.0.0/16" # set to empty string to get subnet from 'data_iface'
223223
helm:
224-
chart_ref: aether/sd-core
225-
chart_version: 0.12.6
224+
local_charts: false # set chart_ref to local path name if true
225+
chart_ref: aether/sd-core
226+
chart_version: 1.1.0
226227
upf:
227-
ip_prefix: "192.168.252.0/24"
228+
ip_prefix: "192.168.252.0/24"
229+
iface: "access"
230+
mode: af_packet # Options: af_packet or dpdk
231+
default_upf:
232+
ip:
233+
access: "192.168.252.3/24"
234+
core: "192.168.250.3/24"
235+
ue_ip_pool: "172.250.0.0/16"
228236
amf:
229-
ip: "10.76.28.113"
237+
ip: "10.76.28.113"
230238
231239
gnbsim:
232240
...

onramp/overview.rst

+6-4
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ and Kubernetes (rather than depending entirely on OnRamp's playbooks).
5454

5555
That final :doc:`Other Blueprints </onramp/blueprints>` section then
5656
gives a synopsis of several additional OnRamp blueprints. Each
57-
blueprint enables a particular combination of Ansible features,
58-
demonstrating how those features are enabled, configured, and
59-
deployed. This section presumes familiarity with all of OnRamp's
60-
capabilities introduced in the earlier sections.
57+
blueprint enables a particular combination of Aether features,
58+
demonstrating how those features are configured, and deployed. This
59+
section presumes familiarity with all of OnRamp's capabilities
60+
introduced in the earlier sections. For a summary review of all
61+
available blueprints, see the :doc:`Quick Reference </onramp/ref>`
62+
guide.

onramp/start.rst

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ Quick Start
44
This section describes a low-overhead way to get started with OnRamp.
55
It brings up a one-node Kubernetes cluster, deploys a 5G version of
66
SD-Core on that cluster, and runs an emulated 5G workload against the
7-
5G Core. It assumes a low-end server that meets the following
7+
5G Core. It assumes a modest server that meets the following
88
requirements:
99

10-
* Haswell CPU (or newer), with at least 4 CPU cores and 16GB RAM.
10+
* Haswell CPU (or newer), with at least 4 CPU cores (ideally 8) and
11+
16GB RAM (ideally 32GB).
1112
* Clean install of Ubuntu 20.04 or 22.04, with 5.15 (or later) kernel.
1213

1314
For example, something like an Intel NUC is likely more than enough to get
@@ -18,7 +19,7 @@ in a VirtualBox VM), because the goal is to eventually scale a
1819
deployment and/or run Aether 24/7, OnRamp has been developed and
1920
tested on physical servers and server-based VMs. The latter includes
2021
Proxmox (see the example configuration shown in :numref:`Figure %s
21-
<fig-proxmox>`); AWS (specify a ``t2.xlarge`` instance); and CloudLab
22+
<fig-proxmox>`); AWS (specify an ``M7iFlex2xlarge`` instance); and CloudLab
2223
(specify either a ``small-lan`` or ``single-pc-ubuntu`` instance).
2324

2425
.. _fig-proxmox:

testing/integration_tests.rst

+18-50
Original file line numberDiff line numberDiff line change
@@ -5,53 +5,21 @@
55
Integration Tests
66
===================
77

8-
A set of integration tests run daily to validate various
9-
configurations of Aether, corresponding to the set of supported
10-
:doc:`OnRamp Blueprints </onramp/blueprints>`. The tests are managed
11-
by Jenkins, and can be monitored using the following
12-
`Dashboard <https://jenkins.aetherproject.org/view/Aether%20OnRamp/>`__.
13-
The following summarizes the current set of tests.
14-
15-
Basic Functionality
16-
----------------------
17-
18-
These tests validate the base components, configured with (``AMP``) or
19-
without the Aether Management Plane; running on either a single server
20-
(``QuickStart``) or two servers (``2server``); configured with the
21-
officially released Helm Charts (``default-charts``) or the most
22-
recently published charts (``latest-charts``); and deployed on Ubuntu
23-
``20.04`` or ``22.04``.
24-
25-
* ``AetherOnRamp_QuickStart_20.04_default-charts``
26-
* ``AetherOnRamp_QuickStart_22.04_default-charts``
27-
* ``AetherOnRamp_QuickStart_20.04_latest-charts``
28-
* ``AetherOnRamp_QuickStart_22.04_latest-charts``
29-
* ``AetherOnRamp_QuickStart_20.04_AMP``
30-
* ``AetherOnRamp_QuickStart_22.04_AMP``
31-
* ``AetherOnRamp_2servers_20.04_default-charts``
32-
* ``AetherOnRamp_2servers_22.04_default-charts``
33-
34-
Advanced Functionality
35-
----------------------------
36-
37-
These tests validate blueprints that incorporate additional
38-
functionality, including being configured with alternative RANs
39-
(``Physical-ENB``, ``Physical-GNB``, ``SD-RAN``, ``UERANSIM``) and
40-
with multiple UPF pods (``Multi-UPF``).
41-
42-
* ``AetherOnRamp_2servers_20.04_UERANSIM``
43-
* ``AetherOnRamp_QuickStart_20.04_UERANSIM``
44-
* ``AetherOnRamp_2servers_Multi-UPF``
45-
* ``AetherOnRamp_QuickStart_Multi-UPF``
46-
* ``AetherOnRamp_QuickStart_SD-RAN``
47-
* ``AetherOnRamp_Physical-ENB``
48-
* ``AetherOnRamp_Physical-GNB``
49-
50-
Testing In-Depth
51-
-------------------------
52-
53-
Although still a work-in-progress, we also plan for additional
54-
in-depth tests, including automated testing of the :doc:`Aether API
55-
</testing/aether-roc-tests>`.
56-
57-
* ``AetherOnRamp_QuickStart_API-Test``
8+
A set of integration tests validate various configurations of Aether.
9+
The tests are managed by Jenkins, and can be monitored using the
10+
following `Dashboard <https://jenkins.aetherproject.org/>`__.
11+
12+
Source code for the integration tests can be found on `GitHub
13+
<https://github.com/opennetworkinglab/aether-jenkins>`__, where each
14+
file in the repo corresponds to a Groovy script that implements a Jenkins pipeline
15+
for one of the :doc:`Aether Blueprints </onramp/blueprints>`.
16+
17+
The pipelines are executed daily, with each pipeline parameterized to
18+
run in multiple jobs. The ``${AgentLabel}`` parameter selects the
19+
Ubuntu release being tested (currently ``20.04`` and ``22.04``),
20+
with all jobs running in AWS VMs (currently resourced as ``M7iFlex2xlarge``).
21+
Pipelines that exercise two-server tests (e.g., ``ueransim.groovy``, ``upf.groovy``,
22+
and ``gnbsim.groovy`` run in VMs that have the
23+
`AWS CLI <https://aws.amazon.com/cli/>`__ installed; the CLI is is used to create
24+
the second VM. All VMs have Ansible installed, as documented in the
25+
:doc:`OnRamp Guide </onramp/start>`.

0 commit comments

Comments
 (0)