Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Check using 'docker container ls' that SDNC, CPS&NCMP, DMI-Plugin and netconf-pnp-simulator are up and running.

Running CSIT tests locally within CPS

If using Windows, first install WSL using the following command within Powershell as an administrator and restart your machine (If using a Linux environment, these steps can be skipped)

Code Block
languagebash
titleDocker compose command from sim folder
wsl --install

Enable WSL 2 and run the following command within Powershell as an administrator and restart your machine.

Code Block
languagebash
titleDocker compose command from sim folder
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Download and install the Linux kernel update package

Set WSL 2 as the default Linux distribution

Code Block
languagebash
titleDocker compose command from sim folder
wsl --set-default-version 2

Install Ubuntu 20.04 for Windows from the Microsoft store

Image Added

Once this is launched, it will then install the Ubuntu Machine, this may take a few minutes.

You will need to set your Unix Username and Password.

  • Remember your password, you will need it for SUDO commands!

Next step is to setup docker desktop with WSL2

Download and install docker desktop at 

Once docker desktop is installed go to Settings>General and check 'Use the WSL 2 based engine'. Click apply and restart

Image Added

Once restated, go to Settings>Resources>WSL Integration and check 'Enable Integration with my default WSL distro' and enable your integration

Image Added

Click Apply & Restart

From your Linux/WSL terminal

Update package index

Code Block
languagebash
titleDocker compose command from sim folder
sudo apt update

Install Python3

Code Block
languagebash
titleDocker compose command from sim folder
sudo apt install python3

Install pip

Code Block
languagebash
titleDocker compose command from sim folder
sudo apt install python3-pip

Upgrade pip

Code Block
languagebash
titleDocker compose command from sim folder
sudo pip3 install --upgrade pip

Install Robot Framework

Code Block
languagebash
titleDocker compose command from sim folder
pip3 install robotframework

Install git

Code Block
languagebash
titleDocker compose command from sim folder
sudo apt install git

Install maven

Code Block
languagebash
titleDocker compose command from sim folder
sudo apt install maven

Clone CPS and Dmi Plugin repos to home directory

Note - You will need to set up your ssh key as outlined here Setting Up Your Development Environment

Copy the settings.xml file from the oparent repo to your .m2 folder located within your home directory

Note - This folder will be hidden, but it should exist once you have maven installed!

Verify the docker daemon is accepting connections.

Code Block
languagebash
titleDocker compose command from sim folder
docker ps

If you see this error

Code Block
languagebash
titleDocker compose command from sim folder
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

Issue the following command

Code Block
languagebash
titleDocker compose command from sim folder
sudo chmod 666 /var/run/docker.sock

Do a mvn clean install on both directories to pull down the necessary libraries from the POM.

Navigate to csit directory.

Run the following script

Code Block
languagebash
titleDocker compose command from sim folder
sudo bash run-project-csit.sh

Note - The first time this runs it will download all the libraries defined in the CSTI scripts. This may take awhile be patient (smile)

Once the scripts have run, the output should look like the following

Image Added

Potential issues

This issue may also appear when running the scripts from a windows WSL environment

Code Block
languagebash
titleDocker compose command from sim folder
Error response from daemon: invalid IP address in add-host: ""

To resolve this, do the following:

Issue the following command

Code Block
languagebash
titleDocker compose command from sim folder
sudo apt install net-tools


Code Block
languagebash
titleDocker compose command from sim folder
ifconfig

From the eth0 configuration take the inet address

Image Added

And manually add this address to the LOCAL_IP variable within the setup.sh script located in the following directory cps/csit/plans/cps

Image Added

Save this configuration.

Run scripts again.

If your tests don't run after doing this, as seen above check for this error.

Code Block
languagebash
titleDocker compose command from sim folder
/tmp/tmp.rgIeMxiRCGrobot_venv/bin/python: Error while finding module specification for 'robot.run' (ModuleNotFoundError: No module named 'robot')

In the file run-csit.sh located within the cps/csit directory

Look for the following line.

Code Block
languagebash
titleDocker compose command from sim folder
python -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES}

Change this to

Code Block
languagebash
titleDocker compose command from sim folder
python3 -m robot.run -N ${TESTPLAN} -v WORKSPACE:/tmp ${ROBOT_VARIABLES} ${TESTOPTIONS} ${SUITES}

Run scripts again

FAQ

How to fix "Error: could not open `{argLine}'when running unit tests from Intellij IDE ?

...