ajay | b3f4098 | 2021-12-08 14:26:11 -0800 | [diff] [blame] | 1 | .. |
| 2 | SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org> |
| 3 | SPDX-License-Identifier: Apache-2.0 |
| 4 | |
ajay | ce0380c | 2021-12-14 21:51:00 -0800 | [diff] [blame] | 5 | .. _aiab-guide: |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 6 | |
| 7 | ================ |
ajay | d19711c | 2021-12-07 12:07:04 -0800 | [diff] [blame] | 8 | Aether In a Box |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 9 | ================ |
| 10 | |
| 11 | Setting Up Aether-in-a-Box |
| 12 | __________________________ |
| 13 | |
| 14 | Aether-in-a-Box (AiaB) provides an easy way to deploy Aether’s SD-CORE |
| 15 | components and run basic tests to validate the installation. This guide |
| 16 | describes the steps to set up AiaB. |
| 17 | |
| 18 | AiaB can be set up with a 4G or 5G SD-CORE. We use SimApp to configure |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 19 | the required subscribers & network slices in SD-CORE for testing core |
| 20 | functionality. |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 21 | |
| 22 | Helm charts are the primary method of installing the SD-CORE resources. |
| 23 | AiaB offers a great deal of flexibility regarding which Helm chart |
| 24 | versions 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 | |
| 30 | AiaB 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 | |
| 36 | Clone Repositories |
| 37 | __________________ |
| 38 | |
| 39 | To initialize the AiaB environment, first clone the following repository using |
| 40 | your Gerrit ID:: |
| 41 | |
| 42 | cd ~ |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 43 | git clone "https://gerrit.opencord.org/aether-in-a-box" |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 44 | |
| 45 | mkdir -p ~/cord |
| 46 | cd ~/cord |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 47 | git clone "https://gerrit.opencord.org/sdcore-helm-charts" |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 48 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 49 | .. 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 |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 54 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 55 | Using 4G SD-CORE |
| 56 | ________________ |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 57 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 58 | To deploy 4G SD-CORE:: |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 59 | |
Ajay Lotan Thakur | 5aaab13 | 2022-06-22 21:54:58 -0700 | [diff] [blame] | 60 | make 4g-core |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 61 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 62 | To delete 4G SD-CORE deployment :: |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 63 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 64 | make reset-test |
| 65 | |
| 66 | The above step performs UE attach and data test. If you wish to update any images |
| 67 | of SD-Core 4G components then edit file in *~/aether-in-a-box/sd-core-4g-values.yaml*. |
| 68 | After updating config in *sd-core-4g-values.yaml* you can reset deployment and run |
| 69 | the test again. |
| 70 | |
| 71 | Using 5G SD-CORE |
| 72 | ________________ |
Vini Gajjar | 816e185 | 2022-01-24 14:32:44 +0530 | [diff] [blame] | 73 | |
| 74 | To deploy 5G SD-CORE:: |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 75 | |
Ajay Lotan Thakur | 5aaab13 | 2022-06-22 21:54:58 -0700 | [diff] [blame] | 76 | make 5g-core |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 77 | |
Vini Gajjar | 816e185 | 2022-01-24 14:32:44 +0530 | [diff] [blame] | 78 | To deploy and test 5G SD-CORE:: |
| 79 | |
| 80 | make 5g-test |
| 81 | |
| 82 | The above step uses gNBSim to perform Registration + UE-Initiated PDU Session |
| 83 | Establishment + User Data Packets. To test other procedures, modify *gnb.conf* |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 84 | in *~/aether-in-a-box/sd-core-5g-values.yaml* (refer gNBSim documentation :ref:`gNB-Simulator`) |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 85 | |
| 86 | Developer Loop |
| 87 | ______________ |
| 88 | |
| 89 | Suppose you wish to test a new build of a 5G SD-CORE services. You can deploy |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 90 | custom images by editing ~/aether-in-a-box/sd-core-5g-values.yaml, for example:: |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 91 | |
| 92 | images: |
| 93 | tags: |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 94 | webui: omecproject/5gc-webui:master-7f96cfd |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 95 | |
| 96 | To upgrade a running 5G SD-CORE with the new image, or to deploy the 5G SD-CORE |
| 97 | with the image:: |
| 98 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 99 | make reset-5g-test # delete 5G deployment if it was already started before updating image |
Ajay Lotan Thakur | 5aaab13 | 2022-06-22 21:54:58 -0700 | [diff] [blame] | 100 | make 5g-core #now this deployment will use new webui image |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 101 | |
| 102 | Troubleshooting / Known Issues |
| 103 | ______________________________ |
| 104 | |
| 105 | If you suspect a problem, first verify that all pods are in Running state:: |
| 106 | |
| 107 | kubectl -n omec get pods |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 108 | |
| 109 | If the pods are stuck in ImagePullBackOff state, then it’s likely an issue |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 110 | with image name. |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 111 | |
| 112 | 4G Test Fails |
| 113 | _____________ |
| 114 | |
Ajay Lotan Thakur | 5aaab13 | 2022-06-22 21:54:58 -0700 | [diff] [blame] | 115 | Occasionally make 4g-core (for 4G) fails for unknown reasons; this is true |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 116 | regardless of which Helm charts are used. If this happens, first try |
Ajay Lotan Thakur | 5aaab13 | 2022-06-22 21:54:58 -0700 | [diff] [blame] | 117 | cleaning up AiaB and re-running the test. If make 4g-core fails consistently, |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 118 | then try to debug the issue by looking at spgwc, mme logs. |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 119 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 120 | 5G Test Fails |
| 121 | _____________ |
ajay | 8794529 | 2021-12-08 00:52:00 -0800 | [diff] [blame] | 122 | |
ajay | cbd1706 | 2022-03-06 11:12:58 -0800 | [diff] [blame] | 123 | If make 5g-test fails consistently, then try to debug the issue by looking |
| 124 | at logs at amf, smf. |