Run Integration Test Locally¶
Overview¶
Sometimes you might want to run some CSIT integration tests on your VM instead of the sandbox, this guide contains information about pre-requisites that need to be installed.
Operating System¶
To run the integration tests you will need a Linux-type OS, like Ubuntu or CentOS. Setup can be done manually, or you can download a VM image with the pre-installed OS.
Set up the integration test framework¶
Install Python¶
For Debian-based distributions
sudo apt-get install python3
sudo apt-get install python3-pip
Install Robot Framework and Extended Requests Library¶
Note
RobotFramework installation guide can be found here
Releng/Builder CI/CD installation options can be checked inside the integration-install-robotframework.sh
pip3 install robotframework
pip3 install robotframework-extendedrequestslibrary
Install Libraries needed for test suites¶
pip3 install alabaster Babel docutils imagesize Jinja2 lfdocs-conf
Setup SSH access¶
Add new user with name jenkins to the linux, setup home directory for this user. Create and add pair of ssh keys. Put them to /home/jenkins/.ssh
Note
This is only applicable if you don’t change a ${DEFAULT_USER} variable.
Test ssh connection:
ssh jenkins@localhost -i /home/jenkins/.ssh/id-rsa
Warning
If Robot can not connect through SSH, but manually connection works ok - update paramiko library:
pip3 install --upgrade robotframework-sshlibrary
pip3 install --upgrade paramiko
Run single integration test¶
Start Karaf and install required features.
Run test:
robot -L debug --variable KARAF_HOME:/home/user/workspace/netconf/karaf/target/assembly/bin --variable USER_HOME:/home/jenkins --variable DEFAULT_LINUX_PROMPT:\$ --variable ODL_SYSTEM_IP:127.0.0.1 --variable ODL_SYSTEM_1_IP:127.0.0.1 --variable RESTCONFPORT:8181 --variable IS_KARAF_APPL:True ./test.robot
- Where
KARAF_HOME - path to karaf directory
USER_HOME - path to jenkins home directotry. Used by Robot to read id-rsa key for ssh connection. Can be set to any directory where .ssh folder with id-rsa key located
ODL_SYSTEM_IP - IP of ODL restconf server.
ODL_SYSTEM_1_IP (ODL_SYSTEM_2_IP, ODL_SYSTEM_3_IP) - IP`s of ODL cluster.
RESTCONFPORT - Restconf server port. 8181 by default.
Current list of parameters used by jenkins job can be found at integration-run-test.sh script.
Full list of variables available from the CSIT is configured under the Variables.robot
Note
Every suite can have different options. Please check Jenkins configuration for the specific test.
Getting result¶
- On test finish, test result will be in the same folder as Robot test file:
report.html
log.html
output.xml