Andy Bavier | f73c3d2 | 2021-08-30 10:29:06 -0700 | [diff] [blame^] | 1 | .. vim: syntax=rst |
| 2 | |
| 3 | Setting Up Aether-in-a-Box |
| 4 | ========================== |
| 5 | |
| 6 | Aether-in-a-Box (AiaB) provides an easy way to deploy the Aether software stack and |
| 7 | run basic tests. This guide describes the steps to set up AiaB. |
| 8 | |
| 9 | AiaB can be run on a bare metal machine or VM. Prerequisites: |
| 10 | |
| 11 | * Ubuntu 18.04 |
| 12 | * Kernel 4.15 or later |
| 13 | * Haswell CPU or newer |
| 14 | |
| 15 | Clone Repositories |
| 16 | ------------------ |
| 17 | |
| 18 | Clone the following repositories, using your gerrit ids as necessary:: |
| 19 | |
| 20 | mkdir -p ~/cord # need to clone below 2 repos in this directory |
| 21 | git clone "ssh://<username>@gerrit.opencord.org:29418/helm-charts" |
| 22 | git clone "ssh://<username>@gerrit.opencord.org:29418/aether-helm-charts" |
| 23 | |
| 24 | cd ~ # go back to home directory |
| 25 | git clone "ssh://<username>@gerrit.opencord.org:29418/aether-in-a-box" |
| 26 | |
| 27 | Set up Authentication Tokens |
| 28 | ---------------------------- |
| 29 | |
| 30 | Edit the file *aether-in-a-box/configs/authentication*. |
| 31 | |
| 32 | Fill out REGISTRY_USERNAME and REGISTRY_CLI_SECRET as follows: |
| 33 | |
| 34 | * Log into the `Aether Harbor Registry <https://registry.aetherproject.org>`_ using your Crowd credentials |
| 35 | * Select *User Profile* from the drop-down menu in the upper right corner |
| 36 | * For REGISTRY_USERNAME, use the *Username* in your profile |
| 37 | * Copy the *CLI secret* to the clipboard and paste to REGISTRY_CLI_SECRET |
| 38 | |
| 39 | If you want to install using Aether's published Helm charts rather than the local charts |
| 40 | checked out in the previous step, fill out REPO_USERNAME and REPO_PASSWORD with the |
| 41 | information needed to authenticate with Aether's Helm chart repository. This step is optional. |
| 42 | |
| 43 | Start the 4G Core |
| 44 | ----------------- |
| 45 | |
| 46 | Deploy Aether-in-a-Box and start the 4G core:: |
| 47 | |
| 48 | cd aether-in-a-box |
| 49 | |
| 50 | make test # create K8s cluster, start 4G network functions, and run ping test |
| 51 | |
| 52 | By default, the installation uses the local charts that were checked out earlier. However the |
| 53 | files in the *configs/* directory can be used to install AiaB using charts published to the Aether Helm |
| 54 | chart repository. For example, the file *configs/rc-1.5* can be used to install the Aether 1.5 release candidate. |
| 55 | To install AiaB using the chart versions specified in this file, set the *CHARTS* variable when invoking *make*:: |
| 56 | |
| 57 | CHARTS=rc-1.5 make test |
| 58 | |
| 59 | Once you are done with the test, stop the 4G Core as follows:: |
| 60 | |
| 61 | make reset-test # this does not destroy K8s cluster |
| 62 | |
| 63 | Start the 5G Core |
| 64 | ----------------- |
| 65 | |
| 66 | Deploy Aether-in-a-Box and start the 5G core:: |
| 67 | |
| 68 | cd aether-in-a-box |
| 69 | |
| 70 | make 5gc # start all 5G network functions with default images |
| 71 | |
| 72 | kubectl get pods -n omec # verify that all 5g pods are started |
| 73 | |
| 74 | Sample output:: |
| 75 | |
| 76 | NAME READY STATUS RESTARTS AGE |
| 77 | amf-7d6f649b4f-jzd9r 1/1 Running 0 41s |
| 78 | ausf-8dd5d7465-xrjdl 1/1 Running 0 41s |
| 79 | gnbsim-0 1/1 Running 0 25s |
| 80 | mongodb-55555bc884-wqcrh 1/1 Running 0 41s |
| 81 | nrf-ddd7d8d5b-vjv84 1/1 Running 0 41s |
| 82 | nssf-7978bb74cc-zct9v 1/1 Running 0 41s |
| 83 | pcf-5bbbff96d6-l54f6 1/1 Running 0 41s |
| 84 | smf-86b6fd5674-tq8h9 1/1 Running 0 41s |
| 85 | udm-5fdf9cf56d-76hlt 1/1 Running 0 41s |
| 86 | udr-d8f855c6b-jj8lw 1/1 Running 0 41s |
| 87 | upf-0 4/4 Running 0 55s |
| 88 | webui-79c8b7dfc7-wn6st 1/1 Running 0 41s |
| 89 | |
| 90 | You can use *gnbsim* to test 5G functionality. For example, to run the 5G user registration:: |
| 91 | |
| 92 | kubectl -n omec exec gnbsim-0 -- /go/src/gnbsim/gnbsim register |
| 93 | |
| 94 | |
| 95 | SD-CORE Developer Loop |
| 96 | ---------------------- |
| 97 | |
| 98 | Tips for SD-CORE developers: |
| 99 | |
| 100 | Deploy custom images by editing `~/aether-in-a-box/aether-in-a-box-values.yaml`:: |
| 101 | |
| 102 | images: |
| 103 | tags: |
| 104 | webui: registry.aetherproject.org/omecproject/5gc-webui:onf-release3.0.5-roc-935305f |
| 105 | pullPolicy: IfNotPresent |
| 106 | pullSecrets: |
| 107 | - name: "aether.registry" |
| 108 | |
| 109 | Stop the 5G Core and start it again:: |
| 110 | |
| 111 | make reset-5g-test |
| 112 | make 5gc |