# A simple note to build AiaB (public ver) ## Reference * [related question on ONF Community Slack](https://onf-community.slack.com/archives/C01E4HMLBNV/p1626193051052300) * [Aether-in-a-box docs](https://docs.aetherproject.org/master/developer/sdcore.html) ## Requirement 1. Access to [Aether registry](https://registry.aetherproject.org/harbor/projects) 2. Access to [Aether-in-a-box](https://gerrit.opencord.org/admin/repos/aether-in-a-box) repository ## Installation Steps 1. Clone the source repository ``` mkdir cord && cd cord git clone "ssh://aweimeow@gerrit.opencord.org:29418/helm-charts" git clone "ssh://aweimeow@gerrit.opencord.org:29418/aether-helm-charts" cd $HOME git clone "ssh://aweimeow@gerrit.opencord.org:29418/aether-in-a-box" ``` 2. Start the build process ``` cd $HOME/aether-in-a-box make test # The hss, mme, spgwc pods will not up due to the credential wasn't given ``` 3. Login the Docker registry and store secret in Kubernetes cluster - Get the credential from [Aether registry](https://registry.aetherproject.org/harbor/projects) - Execute the `docker login registry.aetherproject.org` command - Apply the credential as secret to Kubernetes (in omec namespace) ``` # .dockerconfig is normally in $HOME/.docker/config.json kubectl -n omec create secret generic aether.registry \ --from-file=.dockerconfigjson=<path/to/.docker/config.json> \ --type=kubernetes.io/dockerconfigjson ``` 4. The UE deployment was completed, ping test will start automatically. ``` Test1: ping from UE to SGI network gateway ping -I oip1 192.168.250.1 -c 15 PING 192.168.250.1 (192.168.250.1) from 172.250.255.254 oip1: 56(84) bytes of data. 64 bytes from 192.168.250.1: icmp_seq=1 ttl=64 time=29.7 ms ... 64 bytes from 192.168.250.1: icmp_seq=15 ttl=64 time=21.4 ms --- 192.168.250.1 ping statistics --- 15 packets transmitted, 15 received, 0% packet loss, time 14017ms rtt min/avg/max/mdev = 13.281/21.813/29.753/5.173 ms Test2: ping from UE to 8.8.8.8 ping -I oip1 8.8.8.8 -c 3 PING 8.8.8.8 (8.8.8.8) from 172.250.255.254 oip1: 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=111 time=36.7 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=111 time=36.4 ms 64 bytes from 8.8.8.8: icmp_seq=3 ttl=111 time=35.4 ms --- 8.8.8.8 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2001ms rtt min/avg/max/mdev = 35.451/36.210/36.776/0.557 ms Test3: ping from UE to google.com ping -I oip1 google.com -c 3 PING google.com (142.250.190.142) from 172.250.255.254 oip1: 56(84) bytes of data. 64 bytes from ord37s36-in-f14.1e100.net (142.250.190.142): icmp_seq=1 ttl=111 time=28.4 ms 64 bytes from ord37s36-in-f14.1e100.net (142.250.190.142): icmp_seq=2 ttl=111 time=40.3 ms 64 bytes from ord37s36-in-f14.1e100.net (142.250.190.142): icmp_seq=3 ttl=111 time=28.3 ms --- google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 28.364/32.400/40.376/5.641 ms Finished to test ``` Check the pod status ``` aweimeow@node:~/aether-in-a-box$ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE default router 1/1 Running 0 11m kube-system calico-kube-controllers-8f7bb5b75-qffjp 1/1 Running 0 54m kube-system calico-node-gf2bb 1/1 Running 0 55m kube-system coredns-dff8fc7d-w6rnf 1/1 Running 0 11m kube-system dns-autoscaler-5d74bb9b8f-tr8xt 1/1 Running 0 54m kube-system kube-apiserver-node1 1/1 Running 0 55m kube-system kube-controller-manager-node1 1/1 Running 0 55m kube-system kube-multus-ds-amd64-l2kpb 1/1 Running 0 54m kube-system kube-proxy-cvdlt 1/1 Running 0 55m kube-system kube-scheduler-node1 1/1 Running 0 55m kube-system kubernetes-dashboard-667c4c65f8-snlpn 1/1 Running 0 54m kube-system kubernetes-metrics-scraper-54fbb4d595-5855x 1/1 Running 0 54m kube-system nodelocaldns-tcdtg 1/1 Running 0 54m omec cassandra-0 1/1 Running 0 11m omec enb-0 1/1 Running 0 2m49s omec hss-0 1/1 Running 0 11m omec mme-0 4/4 Running 0 11m omec pcrf-0 1/1 Running 0 11m omec spgwc-0 2/2 Running 0 11m omec ue-0 1/1 Running 0 2m49s omec ue-setup-if-x846s 0/1 Completed 0 2m53s omec upf-0 4/4 Running 0 10m ``` ## Reset test and deploy the 5G core ``` make reset-test make 5gc ``` ``` aweimeow@node:~/aether-in-a-box$ kubectl get pods -n omec NAME READY STATUS RESTARTS AGE amf-554d78cc4f-j6npv 1/1 Running 0 3m16s ausf-76cd468bf-n9vp7 1/1 Running 0 3m15s gnbsim-0 1/1 Running 0 2m2s mongodb-55555bc884-z987f 1/1 Running 0 3m15s nrf-748b4f64c8-rpvvj 1/1 Running 0 3m16s nssf-56454fb8b5-q2jts 1/1 Running 0 3m16s pcf-5f9d565cb-th29k 1/1 Running 0 3m15s simapp-6659f94c97-pbrj2 1/1 Running 0 4m12s smf-77d49f8d46-kq72h 1/1 Running 0 3m15s udm-7d448f7b6-9r2s9 1/1 Running 0 3m16s udr-9bf6567dd-q57px 1/1 Running 0 3m15s ue-setup-if-x846s 0/1 Completed 0 12m ue-teardown-if-mlhgc 0/1 Completed 0 5m upf-0 4/4 Running 0 3m30s webui-54f4f8b7d-csgq8 1/1 Running 0 3m16s ``` 10. Clean ``` make clean rm -rf /tmp/* ```