blob: fe9e64f099b66e737a7def3b882fb2f8097bc4bb [file] [log] [blame]
Andy Bavierf73c3d22021-08-30 10:29:06 -07001.. vim: syntax=rst
2
3Setting Up Aether-in-a-Box
4==========================
5
6Aether-in-a-Box (AiaB) provides an easy way to deploy the Aether software stack and
7run basic tests. This guide describes the steps to set up AiaB.
8
9AiaB 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
15Clone Repositories
16------------------
17
18Clone 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
27Set up Authentication Tokens
28----------------------------
29
30Edit the file *aether-in-a-box/configs/authentication*.
31
32Fill 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
39If you want to install using Aether's published Helm charts rather than the local charts
40checked out in the previous step, fill out REPO_USERNAME and REPO_PASSWORD with the
41information needed to authenticate with Aether's Helm chart repository. This step is optional.
42
43Start the 4G Core
44-----------------
45
46Deploy 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
52By default, the installation uses the local charts that were checked out earlier. However the
53files in the *configs/* directory can be used to install AiaB using charts published to the Aether Helm
54chart repository. For example, the file *configs/rc-1.5* can be used to install the Aether 1.5 release candidate.
55To 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
59Once you are done with the test, stop the 4G Core as follows::
60
61 make reset-test # this does not destroy K8s cluster
62
63Start the 5G Core
64-----------------
65
66Deploy 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
74Sample 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
90You 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
95SD-CORE Developer Loop
96----------------------
97
98Tips for SD-CORE developers:
99
100Deploy 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
109Stop the 5G Core and start it again::
110
111 make reset-5g-test
112 make 5gc