blob: b0c7758c975f3416f5ac280228c034c5e7dbf550 [file] [log] [blame]
ajayb3f40982021-12-08 14:26:11 -08001..
2 SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
3 SPDX-License-Identifier: Apache-2.0
4
ajayce0380c2021-12-14 21:51:00 -08005.. _aiab-guide:
ajay87945292021-12-08 00:52:00 -08006
7================
ajayd19711c2021-12-07 12:07:04 -08008Aether In a Box
ajay87945292021-12-08 00:52:00 -08009================
10
11Setting Up Aether-in-a-Box
12__________________________
13
14Aether-in-a-Box (AiaB) provides an easy way to deploy Aethers SD-CORE
15components and run basic tests to validate the installation. This guide
16describes the steps to set up AiaB.
17
18AiaB can be set up with a 4G or 5G SD-CORE. We use SimApp to configure
ajaycbd17062022-03-06 11:12:58 -080019the required subscribers & network slices in SD-CORE for testing core
20functionality.
ajay87945292021-12-08 00:52:00 -080021
22Helm charts are the primary method of installing the SD-CORE resources.
23AiaB offers a great deal of flexibility regarding which Helm chart
24versions to install:
25
26* Local definitions of charts (for testing Helm chart changes)
27* Latest published charts (for deploying a development version of Aether)
28* Specified versions of charts (for deploying a specific Aether release)
29
30AiaB can be run on a bare metal machine or VM. System prerequisites:
31
32* Ubuntu 18.04
33* Kernel 4.15 or later
34* Haswell CPU or newer
35
36Clone Repositories
37__________________
38
39To initialize the AiaB environment, first clone the following repository using
40your Gerrit ID::
41
42 cd ~
ajaycbd17062022-03-06 11:12:58 -080043 git clone "https://gerrit.opencord.org/aether-in-a-box"
ajay87945292021-12-08 00:52:00 -080044
45 mkdir -p ~/cord
46 cd ~/cord
ajaycbd17062022-03-06 11:12:58 -080047 git clone "https://gerrit.opencord.org/sdcore-helm-charts"
ajay87945292021-12-08 00:52:00 -080048
ajaycbd17062022-03-06 11:12:58 -080049.. note::
50 Only one version of the SD-CORE (4G or 5G) can be installed in AIAB environment
51 at a time. The first time you build AiaB, it takes a while because it sets up the
52 Kubernetes cluster. Subsequent builds will be much faster if you follow below steps
53 to delete & redeploy SD-Core (4G/5G) without destroying the Kubernetes
ajay87945292021-12-08 00:52:00 -080054
ajaycbd17062022-03-06 11:12:58 -080055Using 4G SD-CORE
56________________
ajay87945292021-12-08 00:52:00 -080057
ajaycbd17062022-03-06 11:12:58 -080058To deploy 4G SD-CORE::
ajay87945292021-12-08 00:52:00 -080059
60 make test
61
ajaycbd17062022-03-06 11:12:58 -080062To delete 4G SD-CORE deployment ::
ajay87945292021-12-08 00:52:00 -080063
ajaycbd17062022-03-06 11:12:58 -080064 make reset-test
65
66The above step performs UE attach and data test. If you wish to update any images
67of SD-Core 4G components then edit file in *~/aether-in-a-box/sd-core-4g-values.yaml*.
68After updating config in *sd-core-4g-values.yaml* you can reset deployment and run
69the test again.
70
71Using 5G SD-CORE
72________________
Vini Gajjar816e1852022-01-24 14:32:44 +053073
74To deploy 5G SD-CORE::
ajay87945292021-12-08 00:52:00 -080075
76 make 5gc
77
Vini Gajjar816e1852022-01-24 14:32:44 +053078To deploy and test 5G SD-CORE::
79
80 make 5g-test
81
82The above step uses gNBSim to perform Registration + UE-Initiated PDU Session
83Establishment + User Data Packets. To test other procedures, modify *gnb.conf*
ajaycbd17062022-03-06 11:12:58 -080084in *~/aether-in-a-box/sd-core-5g-values.yaml* (refer gNBSim documentation :ref:`gNB-Simulator`)
ajay87945292021-12-08 00:52:00 -080085
86Developer Loop
87______________
88
89Suppose you wish to test a new build of a 5G SD-CORE services. You can deploy
ajaycbd17062022-03-06 11:12:58 -080090custom images by editing ~/aether-in-a-box/sd-core-5g-values.yaml, for example::
ajay87945292021-12-08 00:52:00 -080091
92 images:
93 tags:
ajaycbd17062022-03-06 11:12:58 -080094 webui: omecproject/5gc-webui:master-7f96cfd
ajay87945292021-12-08 00:52:00 -080095
96To upgrade a running 5G SD-CORE with the new image, or to deploy the 5G SD-CORE
97with the image::
98
ajaycbd17062022-03-06 11:12:58 -080099 make reset-5g-test # delete 5G deployment if it was already started before updating image
100 make 5gc #now this deployment will use new webui image
ajay87945292021-12-08 00:52:00 -0800101
102Troubleshooting / Known Issues
103______________________________
104
105If you suspect a problem, first verify that all pods are in Running state::
106
107 kubectl -n omec get pods
ajay87945292021-12-08 00:52:00 -0800108
109If the pods are stuck in ImagePullBackOff state, then its likely an issue
ajaycbd17062022-03-06 11:12:58 -0800110with image name.
ajay87945292021-12-08 00:52:00 -0800111
1124G Test Fails
113_____________
114
115Occasionally make test (for 4G) fails for unknown reasons; this is true
116regardless of which Helm charts are used. If this happens, first try
117cleaning up AiaB and re-running the test. If make test fails consistently,
ajaycbd17062022-03-06 11:12:58 -0800118then try to debug the issue by looking at spgwc, mme logs.
ajay87945292021-12-08 00:52:00 -0800119
ajaycbd17062022-03-06 11:12:58 -08001205G Test Fails
121_____________
ajay87945292021-12-08 00:52:00 -0800122
ajaycbd17062022-03-06 11:12:58 -0800123If make 5g-test fails consistently, then try to debug the issue by looking
124at logs at amf, smf.