Fixed the http request call for VES PM message [Issue-ID: ODUHIGH-412]
[o-du/l2.git] / docs / README
index 98d5b6c..7a497ba 100644 (file)
@@ -18,7 +18,7 @@ A. Directory Structure :
    f. mt       : wrapper functions over OS
    g. phy_stub : Stub code for Physical layer
    h. rlog     : logging module
-   i. o1       : o1 module
+   i. O1       : O1 module
 
 
 B. Pre-requisite for Compilation :
@@ -37,48 +37,75 @@ C. Pre-requisite for O1 Interface (Required only if run with O1 interface enable
 -----------------------------------------------------------------------------------
 1. Setup netconf server
 
-       Create new netconf user (login with root user and run following commands)
-       $adduser --system netconf && \
-        echo "netconf:netconf!" | chpasswd
+    a. Add new netconf user (login with root user or use sudo and run following script)
+       $cd l2/build/scripts
+       $sudo ./add_netconf_user.sh
 
-       $mkdir -p /home/netconf/.ssh && \
-       ssh-keygen -A && \
-       ssh-keygen -t dsa -P '' -f /home/netconf/.ssh/id_dsa && \
-        cat /home/netconf/.ssh/id_dsa.pub > /home/netconf/.ssh/authorized_keys
-       Install netconf packages. 
-       $cd l2/build/scripts
-       $chmod +x install_lib_O1.sh
-       $ ./install_lib_O1.sh -c
+    b. Install netconf packages.
+       $chmod +x install_lib_O1.sh
+       $sudo ./install_lib_O1.sh -c
 
-2. Start Netopeer2-server:
-   $cd l2/build/scripts
-   $./netopeer-server.sh start
-
-3. Install the yang modules
-   $cd l2/build/yang
-   $sysrepoctl -i o-ran-sc-odu-alarm-v1.yang
-   $sysrepoctl -i o-ran-sc-odu-interface-v1.yang
-
-4. Configure the startup IP and Port configurations for DU, CU and RIC
+2. Update the configuration according to your setup.
 
    $cd l2/build/config
 
-   Open the startup_config.xml and edit the desired IP and Port for CU, DU and RIC.
-   Then load the configuration in the sysrepo running datastore using the command below
+   a. Open the startup_config.xml and edit the desired IP and Port for CU, DU and RIC.
+   b. Open the nacm_config.xml and edit the desired user name to provide the access to that user.
+   c. Open the netconf_server_ipv6.xml and edit the desired netconf server configuration.
+   d. Open the oamVesConfig.json and edit the details of OAM VES collector.
+   e. Open the smoVesConfig.json and edit the details of SMO VES collector.
+   f. Open the netconfConfig.json and edit the details of Netopeer server.
+   g. Install the yang modules and load initial configuration
 
-   $sysrepocfg --import=startup_config.xml --datastore running --module  o-ran-sc-odu-interface-v1 
+   $cd l2/build/scripts
+   $sudo ./load_yang.sh
 
-5. Configure the netconf server details for VES PNF Event
+   h. Install additional 3GPP yang models.
 
-   $cd l2/build/config
+      Download following 3GPP REL17 YANG models
+      https://forge.3gpp.org/rep/sa5/MnS/tree/Rel17-draft/yang-models
 
-   Open the netconfConfig.xml and edit the desired MAC address, IP, Port, Username and Password for VES PNF Registration.
+   $cd l2/build/yang
 
-6. Configure the VES server details to send VES Events
+   _3gpp-common-top.yang
+   _3gpp-5g-common-yang-types.yang
+   _3gpp-common-yang-types.yang
+   _3gpp-common-managed-element.yang
+   _3gpp-common-measurements.yang
+   _3gpp-common-subscription-control.yang
+   _3gpp-common-fm.yang
+   _3gpp-common-trace.yang
+   _3gpp-common-managed-function.yang
+   _3gpp-nr-nrm-gnbdufunction.yang
+   _3gpp-nr-nrm-nrcelldu.yang
+   _3gpp-nr-nrm-rrmpolicy.yang
+
+   Note :There are some corrections required in _3gpp-common-trace.yang and _3gpp-common-trace.yang yang model. Please follow these steps.
 
-   $cd l2/build/config
+   $cd l2/build/yang
+   $sed -i -e 's/"IMMEDIATE_MDT"/"IMMEDIATE_MDT_ONLY"/g' _3gpp-common-trace.yang
+   $sed -i -e 's/"TRACE"/"TRACE_ONLY"/g' _3gpp-common-trace.yang
+
+   Install all the downloaded yang models.
 
-   Open the vesConfig.xml and edit the desired IP, Port, Username and Password to send VES Event.
+   $cd l2/build/yang
+   $sysrepoctl -i      _3gpp-common-yang-types.yang
+   $sysrepoctl -i      _3gpp-common-top.yang
+   $sysrepoctl -i      _3gpp-common-measurements.yang
+   $sysrepoctl -i      _3gpp-common-trace.yang
+   $sysrepoctl -i      _3gpp-common-managed-function.yang
+   $sysrepoctl -i      _3gpp-common-subscription-control.yang
+   $sysrepoctl -i      _3gpp-common-fm.yang
+   $sysrepoctl -i      _3gpp-common-managed-element.yang
+   $sysrepoctl -i      _3gpp-5g-common-yang-types.yang
+   $sysrepoctl -i      _3gpp-nr-nrm-rrmpolicy.yang
+   $sysrepoctl -i      _3gpp-nr-nrm-gnbdufunction.yang
+   $sysrepoctl -i      _3gpp-nr-nrm-nrcelldu.yang
+
+
+3. Start Netopeer2-server:
+   $cd l2/build/scripts
+   $sudo ./netopeer-server.sh start
 
 
 D. How to Clean and Build:
@@ -165,7 +192,7 @@ F. How to execute:
    b. ifconfig <interface name>:CU_STUB "192.168.130.82"
    c. ifconfig <interface name>:RIC_STUB "192.168.130.80"
 
-PS: If O1 interface is enabled, IP should match those configured in step C.4.
+PS: If O1 interface is enabled, IP should match those configured in step C.2.a.
 
 2. Execute CU Stub:
    a. CU execution folder:
@@ -295,3 +322,20 @@ H. How to execute the Health Check : get alarm-list
 
    The XML output is a list of active alarms in the O-DU High system.
 
+I. Push cell and slice configuration over O1 using netopeer-cli
+---------------------------------------------------------------
+   When O-DU High is run with O1 enabled it waits for cell configuration to be pushed by SMO. In case the SMO is not available then these configurations can be pushed via netopeer-cli as follows.
+   1. Follow step H.1 and H.2.
+   2. update cellConfig.xml and rrmPolicy.xml.
+      $cd l2/build/config
+      $edit-config --target candidate --config=cellConfig.xml
+      $edit-config --target candidate --config=rrmPolicy.xml
+
+
+J. Troubleshooting Netconf server issues
+----------------------------------------
+   In case the Netconf server and sysrepo breaks down, run the following steps:
+
+   $cd l2/build/scripts
+   $sudo ./troubleshoot_netconf.sh cleanup
+   execute section C.2.f, C.3 again