Public Repository

Last pushed: 2 years ago
Short Description
Multi-protocol Test Suite : the solution to integrate, test and optimize your IP telecom system.
Full Description

Slave MTS Worker, used for large distributed test environments.


With MTS (Multi-protocol Test Suite) you get the powerful tool to:

  • Test protocols with functional and regression tests
  • Test load endurance and stress tests
  • Simulate all network equipments as client, server or both sides
  • Supervision and monitoring on production equipment (capture mode)

MTS is an Internet Protocol (IP) multi-protocol tester at layer 3, specially designed for the IMS architecture. MTS supports EPC protocols for 4G, the application protocols used for Email, SMS, IPTV, signaling and alarms and the 4 main transport protocols.


How to use it?

This Docker package provides a straightforward way to deploy an MTS slave on any machine, regardless of the underlying host platform. MTS has some platform-specific bindings.

First, ensure you have Docker running on your machine.

Then, pull the image:

docker pull mtsericsson/mts-slave

And create a container based on that image:

docker create mtsericsson/mts-slave

Grab the hash that the create command prints on standard output, and execute:

docker start IMAGE_ID

Where IMAGE_ID is the hash you grabbed from stdout.

Then, the container should be running, check so with:

docker ps

How to build it?

Retrieve the Dockerfile and place it in a mts-slave directory.

Time to run the build: ensure your terminal columns and lines size is the following:

  • cols=128 (check it with tput cols)
  • lines=65 (check it with tput lines)

Important: you MUST ensure this criteria is exactly verified, since the Dockerfile relies on a method that tricks the MTS installer input commands, which total number is based on the available screen space. A 50% large full-screen sub-terminal window on a 1920x1200 screen should do just fine. If your screen is smaller, adjust the for _ in {0..28} loop headers with a higher loop limit. It's safe to validate the new limit by trial and error, since the MTS setup will hard-fail if there's anything wrong (with NullPointerExceptions).

Launch the build:

cd mts-slave && docker build .

Once the image has been built, you can tag it as such:

docker images

Grab the corresponding IMAGE_ID:

docker tag IMAGE_ID mtsericsson/mts-master:latest

If you are a maintainer, you can push it to the Docker remote:

docker push mtsericsson/mts-master


Dockerfile

FROM centos:7

# Build display configuration (for IZPack pipe install hack)
# cols=128
# lines=65

RUN \
  yum -y install wget java-1.8.0-openjdk lksctp-tools libpcap && \
  wget "http://downloads.sourceforge.net/project/mts-ericsson/mts-6.2.1_beta-standard.jar?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmts-ericsson%2Ffiles%2F%3Fsource%3Ddirectory&ts=1452853512&use_mirror=netix" -O /root/mts.jar && \
  ((sleep 0.1; for _ in {0..28}; do echo -ne '\n'; sleep 0.1; done; sleep 1; echo '1'; sleep 1; echo '/root/mts'; sleep 1; echo '1'; sleep 1; echo '1024'; sleep 1; echo '1'; sleep 1) | /usr/bin/java -jar /root/mts.jar) && \
  rm -f /root/mts.jar && \
  echo '/usr/bin' > /root/mts/bin/java_home

WORKDIR "/root/mts/bin/"

CMD ["./startSlave.sh"]
Docker Pull Command
Owner
mtsericsson