Updated documents
1. Remove harbor references
2. Using clone commands using annonymous https
3. Added more notes & diagrams in the configuration
Change-Id: Iaaf5be0b2a1065f58d8b9c3efcba408056539535
diff --git a/_static/images/SDCore_Access_Control.png b/_static/images/SDCore_Access_Control.png
new file mode 100644
index 0000000..ef5a8ac
--- /dev/null
+++ b/_static/images/SDCore_Access_Control.png
Binary files differ
diff --git a/_static/images/config_slice.png b/_static/images/config_slice.png
new file mode 100644
index 0000000..aebc52e
--- /dev/null
+++ b/_static/images/config_slice.png
Binary files differ
diff --git a/_static/images/gNBSim.png b/_static/images/gNBSim.png
old mode 100755
new mode 100644
index 8e85fc8..ab14b4f
--- a/_static/images/gNBSim.png
+++ b/_static/images/gNBSim.png
Binary files differ
diff --git a/configuration/application_filtering.rst b/configuration/application_filtering.rst
index 5fd79dc..6222cc0 100644
--- a/configuration/application_filtering.rst
+++ b/configuration/application_filtering.rst
@@ -7,6 +7,10 @@
Application Filtering Overview
==============================
+.. image:: ../_static/images/SDCore_Access_Control.png
+ :width: 700px
+ :align: center
+
Below config snapshot shows how to configure application filtering in the network slice.
Each application filter in the network slice can have action either ``permit`` or ``deny``
diff --git a/configuration/config.rst b/configuration/config.rst
index d37072c..df751dd 100644
--- a/configuration/config.rst
+++ b/configuration/config.rst
@@ -29,10 +29,16 @@
- REST Config Interface
- Basic static configuration is passed through helm chart
- - Dynamic slice creation APIs are provided through REST interface.
+ - Dynamic *Network Slice* management APIs are provided through REST interface.
- REST APIs are defined to create/modify/delete network slice.
- REST APIs are also provided to provision subscribers and grouping the subscribers under device Group.
+.. image:: ../_static/images/config_slice.png
+ :width: 500px
+ :align: center
+
+
+
Configuration Steps
-------------------
This Configuration describes what to configure at high level from RoC/SIMAPP. ConfigPod stores this configuration
diff --git a/configuration/config_simapp.rst b/configuration/config_simapp.rst
index 6029c71..0828d6b 100644
--- a/configuration/config_simapp.rst
+++ b/configuration/config_simapp.rst
@@ -8,6 +8,9 @@
Easiest way to configure SD-Core is to use simapp. Simapp is the POD which takes
yaml configuration and configures the subscribers, device groups, network slices
+Simapp Initial Configuration Helm Values
+----------------------------------------
+
.. code-block::
config:
@@ -81,8 +84,11 @@
.. note::
Simapp takes initial configuration through helm chart. Above yaml files is initial config.
- Operator can add multiple devices, device groups & slices in the initial config. If simapp
- is already running then ``kubectl edit configmap simapp -n <namespace>`` can be used to update
- the simapp configuration. Simapp handles config delete, modify & addition by watching configmap
- for any changes. There is no need to restart simapp after configmap change. New config will
- be automatically reloaded.
+ Operator can add multiple devices, device groups & slices in the initial config.
+
+Configuration Modification through Simapp interface
+---------------------------------------------------
+If simapp is already running then ``kubectl edit configmap simapp -n <namespace>`` can be used to update
+the simapp configuration. Simapp handles config delete, modify & addition by watching configmap
+for any changes. There is no need to restart simapp after configmap change. New config will be automatically
+reloaded and updated configuration is passed to SD-Core.
diff --git a/deployment/deployment4G.rst b/deployment/deployment4G.rst
index 65f822b..4bdfdb1 100644
--- a/deployment/deployment4G.rst
+++ b/deployment/deployment4G.rst
@@ -47,23 +47,6 @@
- 4Gi
-Prepare access credential for SD-Core images
---------------------------------------------
-
-Container images can be download from ONF self-hosted container registry but you have to gain the access token first.
-
-1. Login to `Aether Harbor Registry <https://registry.aetherproject.org/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects>`_ using your ONF Crowd credential,
-2. Select ``User Profile`` drop-down menu in the upper-right corner
-3. Generate the CLI secret and it's the secret token you have to access the container registry via CLI tool.
-4. Login to the container registry with your username and access token
- by ``docker login command`` to ensure you can access it.
-
-.. code-block::
-
- ╰─$ docker login registry.aetherproject.org --username hwchiu
- Password:
- Login Succeeded
-
Deployment Options
------------------
@@ -80,7 +63,7 @@
'''''''''''''''''''''''''''''''''''
.. code-block::
- git clone ssh://gerrit.opencord.org:29418/sdcore-helm-charts
+ git clone "https://gerrit.opencord.org/sdcore-helm-charts"
cd sdcore-helm-charts/sdcore-helm-charts/
helm dep update #Update Helm dependencies
@@ -99,7 +82,7 @@
.. code-block::
- helm install -n sdcore-4g --create-namespace -f myvaules.yaml sdcore-4g .
+ helm install -n sdcore-4g --create-namespace -f myvalues.yaml sdcore-4g ~/cord/sdcore-helm-charts/sdcore-helm-charts
To verify the installation:
diff --git a/deployment/deployment5G.rst b/deployment/deployment5G.rst
index 317c528..5ffe8b3 100644
--- a/deployment/deployment5G.rst
+++ b/deployment/deployment5G.rst
@@ -59,23 +59,6 @@
- 4Gi
-Prepare access credential for SD-Core images
---------------------------------------------
-
-Container images can be download from ONF self-hosted container registry but you have to gain the access token first.
-
-1. Login to `Aether Harbor Registry <https://registry.aetherproject.org/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects>`_ using your ONF Crowd credential,
-2. Select ``User Profile`` drop-down menu in the upper-right corner
-3. Generate the CLI secret and it's the secret token you have to access the container registry via CLI tool.
-4. Login to the container registry with your username and access token
- by ``docker login command`` to ensure you can access it.
-
-.. code-block::
-
- ╰─$ docker login registry.aetherproject.org --username hwchiu
- Password:
- Login Succeeded
-
Deployment Options
------------------
@@ -93,7 +76,7 @@
'''''''''''''''''''''''''''''''''''
.. code-block::
- git clone ssh://gerrit.opencord.org:29418/sdcore-helm-charts
+ git clone "https://gerrit.opencord.org/sdcore-helm-charts"
cd sdcore-helm-charts/sdcore-helm-charts/
helm dep update #Update Helm dependencies
@@ -108,17 +91,37 @@
Step3 - Install 5G using SD-Core umbrella helm chart
''''''''''''''''''''''''''''''''''''''''''''''''''''
-The following command will deploy the SD-Core helm chart with release name sdcore-4g in the sdcore-4g namespace.
+The following command will deploy the SD-Core helm chart with release name sdcore-5g in the sdcore-5g namespace.
.. code-block::
- helm install -n sdcore-5g --create-namespace -f myvaules.yaml sdcore-5g .
+ helm install -n sdcore-5g --create-namespace -f myvalues.yaml sdcore-5g ~/cord/sdcore-helm-charts/sdcore-helm-charts
To verify the installation:
.. code-block::
helm -n sdcore-5g ls
+ ajayonf@node:~$ helm -n sdcore-5g ls
+ NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
+ sdcore-5g sdcore-5g 1 2022-03-05 16:25:32.338495035 -0700 MST deployed sd-core-0.10.9
+ ajayonf@node:~$
+
+ ajayonf@node:~$ kubectl get pods -n sdcore-5g
+ NAME READY STATUS RESTARTS AGE
+ amf-66bf99c879-5x4ms 1/1 Running 0 3m23s
+ ausf-65dc454b79-jp2cb 1/1 Running 0 3m23s
+ mongodb-6df94d8dd9-h8p4w 1/1 Running 0 3m23s
+ nrf-65bcfbb496-xvt6t 1/1 Running 0 3m23s
+ nssf-6f58859d67-552l2 1/1 Running 0 3m23s
+ pcf-5b4c75f57d-sl5rh 1/1 Running 0 3m23s
+ simapp-d8994999d-98k6v 1/1 Running 0 3m23s
+ smf-77c89ccc6d-4d8g2 1/1 Running 0 3m23s
+ udm-6dcdc457c6-gwmfk 1/1 Running 0 3m23s
+ udr-84678ff6dc-zkj52 1/1 Running 0 3m23s
+ upf-0 0/5 Pending 0 3m23s
+ webui-66b4df44b-9clwf 1/1 Running 0 3m23s
+ ajayonf@node:~$
To uninstall:
diff --git a/developer/aiab.rst b/developer/aiab.rst
index c0a3c01..b0c7758 100644
--- a/developer/aiab.rst
+++ b/developer/aiab.rst
@@ -16,7 +16,8 @@
describes the steps to set up AiaB.
AiaB can be set up with a 4G or 5G SD-CORE. We use SimApp to configure
-the required state in SD-CORE for testing core functionality.
+the required subscribers & network slices in SD-CORE for testing core
+functionality.
Helm charts are the primary method of installing the SD-CORE resources.
AiaB offers a great deal of flexibility regarding which Helm chart
@@ -39,48 +40,36 @@
your Gerrit ID::
cd ~
- git clone "ssh://<username>@gerrit.opencord.org:29418/aether-in-a-box"
+ git clone "https://gerrit.opencord.org/aether-in-a-box"
mkdir -p ~/cord
cd ~/cord
- git clone "ssh://<username>@gerrit.opencord.org:29418/sdcore-helm-charts"
- git clone "ssh://<username>@gerrit.opencord.org:29418/aether-helm-charts"
+ git clone "https://gerrit.opencord.org/sdcore-helm-charts"
-Set up Authentication Tokens
-____________________________
+.. note::
+ Only one version of the SD-CORE (4G or 5G) can be installed in AIAB environment
+ at a time. The first time you build AiaB, it takes a while because it sets up the
+ Kubernetes cluster. Subsequent builds will be much faster if you follow below steps
+ to delete & redeploy SD-Core (4G/5G) without destroying the Kubernetes
-::
+Using 4G SD-CORE
+________________
- cd ~/aether-in-a-box
-
-Edit the file configs/authentication.
-
-Fill out REGISTRY_USERNAME and REGISTRY_CLI_SECRET as follows:
-
- * Log into the Aether Harbor Registry using your Crowd credentials
- * Select User Profile from the drop-down menu in the upper right corner
- * For REGISTRY_USERNAME, use the Username in your profile
- * Copy the CLI secret to the clipboard and paste to REGISTRY_CLI_SECRET
-
-Also fill out REPO_USERNAME and REPO_PASSWORD with the information needed to
-authenticate with Aether’s Helm chart repositories.
-
-If you have already set up AiaB but you used incorrect credentials, first
-clean up AiaB as described in the Cleanup section, then edit
-configs/authentication and re-build AiaB.
-
-Start the 4G SD-CORE
-____________________
-
-::
+To deploy 4G SD-CORE::
make test
-Start the 5G SD-CORE
-____________________
+To delete 4G SD-CORE deployment ::
-If you have already installed the 4G SD-CORE, you must skip this step.
-Only one version of the SD-CORE can be installed at a time
+ make reset-test
+
+The above step performs UE attach and data test. If you wish to update any images
+of SD-Core 4G components then edit file in *~/aether-in-a-box/sd-core-4g-values.yaml*.
+After updating config in *sd-core-4g-values.yaml* you can reset deployment and run
+the test again.
+
+Using 5G SD-CORE
+________________
To deploy 5G SD-CORE::
@@ -92,34 +81,23 @@
The above step uses gNBSim to perform Registration + UE-Initiated PDU Session
Establishment + User Data Packets. To test other procedures, modify *gnb.conf*
-in *ransim-values.yaml* (refer gNBSim documentation :ref:`gNB-Simulator`)
-
-Cleanup
-_______
-
-The first time you build AiaB, it takes a while because it sets up the
-Kubernetes cluster. Subsequent builds will be much faster if you follow
-these steps to clean up the Helm charts without destroying the Kubernetes
-cluster.::
-
- Clean up the 4G SD-CORE: *make reset-test
- Clean up the 5G SD-CORE: *make reset-5g-test
+in *~/aether-in-a-box/sd-core-5g-values.yaml* (refer gNBSim documentation :ref:`gNB-Simulator`)
Developer Loop
______________
Suppose you wish to test a new build of a 5G SD-CORE services. You can deploy
-custom images by editing ~/aether-in-a-box/5g-core-values.yaml, for example::
+custom images by editing ~/aether-in-a-box/sd-core-5g-values.yaml, for example::
images:
tags:
- webui: registry.aetherproject.org/omecproject/5gc-webui:onf-release3.0.5-roc-935305f
- pullPolicy: IfNotPresent
+ webui: omecproject/5gc-webui:master-7f96cfd
To upgrade a running 5G SD-CORE with the new image, or to deploy the 5G SD-CORE
with the image::
- make 5gc
+ make reset-5g-test # delete 5G deployment if it was already started before updating image
+ make 5gc #now this deployment will use new webui image
Troubleshooting / Known Issues
______________________________
@@ -127,10 +105,9 @@
If you suspect a problem, first verify that all pods are in Running state::
kubectl -n omec get pods
- kubectl -n aether-roc get pods
If the pods are stuck in ImagePullBackOff state, then it’s likely an issue
-with credentials. See the Set up Authentication Tokens section.
+with image name.
4G Test Fails
_____________
@@ -138,14 +115,10 @@
Occasionally make test (for 4G) fails for unknown reasons; this is true
regardless of which Helm charts are used. If this happens, first try
cleaning up AiaB and re-running the test. If make test fails consistently,
-check whether the configuration has been pushed to the SD-CORE::
+then try to debug the issue by looking at spgwc, mme logs.
- kubectl -n omec logs config4g-0 | grep "Successfully"
+5G Test Fails
+_____________
-You should see that a device group and slice has been pushed::
-
- [INFO][WebUI][CONFIG] Successfully posted message for device group 4g-oaisim-user to main config thread
- [INFO][WebUI][CONFIG] Successfully posted message for slice default to main config thread
-
-Then tail the config4g-0 log and make sure that the configuration has been
-successfully pushed to all SD-CORE components.
+If make 5g-test fails consistently, then try to debug the issue by looking
+at logs at amf, smf.
diff --git a/developer/gnbsim.rst b/developer/gnbsim.rst
index b7ba789..927c8af 100644
--- a/developer/gnbsim.rst
+++ b/developer/gnbsim.rst
@@ -25,6 +25,7 @@
and process down-link user data (ICMP echo response) over the established data
plane path (N3 Tunnel).
+
Configure gNBSim
-----------------------
* The config file for gNBSim can be found at *<repo dir>/config/gnbsim.yaml*
@@ -57,30 +58,6 @@
Registration + UE initiated PDU Session Establishment + User Data packets
+ AN Release + UE Initiated Service Request
-Build gNBSim
--------------------
-* To modify gNBSim and build a new docker image:
-
- .. code-block:: bash
-
- $ cd <repo dir>
- $ make docker-build
-
-* To use newly created image in the AiaB cluster:
-
- .. code-block:: bash
-
- $ cd <aiab repo dir>
- $ make reset-5g-test
-
- Update *ransim-values.yaml* to point to the newly built image, then run:
-
- .. code-block:: bash
-
- $ make 5g-test
-
- (refer AiaB documentation :ref:`aiab-guide`)
-
Run gNBSim
-----------
* To quickly launch and test AiaB with 5G SD-CORE using gNBSim:
@@ -111,3 +88,35 @@
.. code-block:: bash
$ ./gnbsim --cfg <config file path>
+
+Build gNBSim
+-------------------
+
+* If you find a need to change gNBSim code and use the updated image in the AIAB setup then
+ follow below steps.
+
+* To modify gNBSim and build a new docker image:
+
+ .. code-block:: bash
+
+ $ git clone https://github.com/omec-project/gnbsim.git
+ $ cd gnbsim
+ $ make docker-build #requires golang installed on the machine
+
+* To use newly created image in the AiaB cluster:
+
+Update *~/aether-in-box/sd-core-5g-values.yaml* to point to the newly built image, then run:
+
+ .. code-block:: bash
+
+ $ cd ~/aether-in-a-box/
+ $ make reset-5g-test
+
+
+ .. code-block:: bash
+
+ $ make 5g-test
+
+ (refer AiaB documentation :ref:`aiab-guide`)
+
+
diff --git a/testing/sdcore_testing.rst b/testing/sdcore_testing.rst
index b1f0f82..244ab46 100644
--- a/testing/sdcore_testing.rst
+++ b/testing/sdcore_testing.rst
@@ -206,8 +206,7 @@
1. `omec_c3po_container_remote <https://jenkins.opencord.org/job/omec_c3po_container_remote/>`_ (public)
2. `omec_Nucleus_container_remote <https://jenkins.opencord.org/job/omec_Nucleus_container_remote/>`_ (public)
-3. `omec_upf-epc_container_remote <https://jenkins.opencord.org/job/omec_upf-epc_container_remote/>`_ (public)
-4. `omec_spgw_container_remote` (private, under member-only folder)
+3. `omec_spgw_container_remote` (private, under member-only folder)
And the jobs run on Aether Jenkins include