Merge "Fixes for SIB1 transmission and FAPI STOP.request [Issue-ID: ODUHIGH-325]"
[o-du/l2.git] / docs / installation-guide.rst
index ab169b0..e8c005b 100644 (file)
@@ -97,27 +97,100 @@ Following libraries are required to compile and execute O-DU High:
    - Ubuntu : sudo apt-get install -y libpcap-dev
    - CentOS : sudo yum install -y libpcap-devel
 
-Following libraries are required to compile and execute O1 module:
+
+
+Cloning code
+--------------
+
+- Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
+
+- Clone code into <O-DU High Directory> 
+
+  git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
+
+
+Setting up Netconf server
+-------------------------
  
-- Netconf:
+  Following steps are required to compile ODU with O1 interface enabled:
+
+- Install Netconf libraries:
+   
    libssh, libyang, libnetconf2, sysrepo, netopeer2
 
    Script is provided in the following folder to install these libraries
 
    - Ubuntu :  
    
-       | cd <O-DU High Directory>/l2/build/o1
-       | sudo ./install_lib.sh
+       | cd <O-DU High Directory>/l2/build/scripts
+       | sudo ./install_lib_O1.sh -c
 
+- Start Netopeer2-server:
+       
+   - Ubuntu :  
+       | cd <O-DU High Directory>/l2/build/scripts
+       | sudo ./netopeer-server.sh start
 
-Cloning code
---------------
+- Create a new netconf user
+      
+      Switch to root user and run following commands
+      
+   - Ubuntu :  
+   
+      | adduser --system netconf && \\
+      |    echo "netconf:netconf!" | chpasswd
 
-- Create a folder to clone the O-DU High code into. The folder is hereafter referred to as <O-DU High Directory>.
+      | 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
 
-- Clone code into <O-DU High Directory> 
+- Install the YANG modules
+
+   - Ubuntu :
+
+      | cd <O-DU High Directory>/l2/build/yang
+      | sysrepoctl -i ./yang/o-ran-sc-odu-alarm-v1.yang
+      | sysrepoctl -i ./yang/o-ran-sc-odu-interface-v1.yang
+      | sysrepoctl -i ./yang/o-ran-sc-du-hello-world.yang
+
+- Configure the startup IP and Port configurations for DU, CU and RIC
+
+   - Ubuntu :
+
+      | cd <O-DU High Directory>/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
+      |
+      | sysrepocfg --import=startup_config.xml --datastore running --module  o-ran-sc-odu-interface-v1
+
+- Configure the netconf server details for VES PNF Event
+
+   - Ubuntu :
+
+      | cd <O-DU High Directory>/l2/build/config
+      |
+      | Open the netconfConfig.json and edit the desired MAC address, IP, Port, Username and Password for VES PNF Registration.
+
+-  Configure the VES server details to send VES Events
+
+   - Ubuntu :
+
+      | cd <O-DU High Directory>/l2/build/config
+      |
+      |  Open the vesConfig.json and edit the desired IP, Port, Username and Password to send VES Event.
+
+- Configure the nacm module to provide access to new user
+
+   - Ubuntu :
+
+      | cd <O-DU High Directory>/l2/build/config
+      |
+      | Open the nacm_config.xml and edit the desired user-name to provide the access to that user.
+      |
+      | $sysrepocfg --import=nacm_config.xml --datastore running --module  ietf-netconf-acm
 
-  git clone "https://gerrit.o-ran-sc.org/r/o-du/l2"
 
 Compilation
 ------------
@@ -133,13 +206,10 @@ Compilation
        make clean_odu MACHINE=BIT64 MODE=FDD
        
 
-   - Build O-DU High binary
+   - Compile O-DU High binary
    
        make odu MACHINE=BIT64 MODE=FDD
        
-       To build with O1 interface enabled:
-
-       make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
 
 - Build CU Stub :
 
@@ -151,7 +221,7 @@ Compilation
    
        make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
 
-   - Build CU Stub binary
+   - Compile CU Stub binary
    
        make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
 
@@ -165,35 +235,57 @@ Compilation
    
        make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
 
-   - Build RIC Stub binary
+   - Compile RIC Stub binary
    
        make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD
 
-- Build O-DU High with O1 interface enabled:
 
-   - Navigate to o1 Build folder
+Compilation with O1 interface enabled
+--------------------------------------
+
+- Build O-DU High:
+
+   - Navigate to Build folder
+
+       cd <O-DU High Directory>/l2/build/odu
+
+   - Clean O-DU High binary
+
+       make clean_odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+       
+
+   - Compile O-DU High binary
+   
+       make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+       
+
+- Build CU Stub :
+
+   - Navigate to Build folder
    
-       cd <O-DU High Directory>/l2/build/o1
+       cd <O-DU High Directory>/l2/build/odu
 
-   - Clean O1 binary
+   - Clean CU Stub binary
    
-       make clean_o1 MACHINE=BIT64
+       make clean_cu NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
 
-   - Build O1 binary
+   - Compile CU Stub binary
    
-       make o1 MACHINE=BIT64
+       make cu_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
 
-   - Navigate to odu Build folder
+- Build RIC Stub :
 
+   - Navigate to Build folder
+   
        cd <O-DU High Directory>/l2/build/odu
 
-   - Clean O-DU High binary
+   - Clean RIC Stub binary
+   
+       make clean_ric NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
 
-       make clean_odu MACHINE=BIT64 MODE=FDD
-       
-   - Build O-DU High binary
+   - Compile RIC Stub binary
    
-       make odu MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
+       make ric_stub NODE=TEST_STUB MACHINE=BIT64 MODE=FDD O1_ENABLE=YES
 
 
 
@@ -205,4 +297,3 @@ The above generated images can be found at:
 
 - RIC Stub  - <O-DU High Directory>/l2/bin/ric_stub
 
-- O1        - <O-DU High Directory>/l2/build/o1/bin/o1