-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f593f11
commit c414025
Showing
633 changed files
with
293,495 additions
and
2,054 deletions.
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#! /bin/sh | ||
sudo rm /remote_ips.txt | ||
sudo rm /tmp/topoinfo | ||
sudo rm /tmp/topoinfodashboard | ||
sudo rm /tmp/pipe* | ||
sudo rm /tmp/logs.txt | ||
sudo rm /logs.txt | ||
sudo rm /ips.txt | ||
# cd kollaps/emulationcore | ||
# cargo build --release | ||
# cd .. | ||
# cd .. | ||
# cd kollaps/controller | ||
# cargo build --release | ||
# cd .. | ||
# cd .. | ||
sudo cp libTCAL.so /usr/local/bin/libTCAL.so | ||
sudo ./emulationcore $1 communicationmanager eno1 baremetal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,31 @@ | ||
FROM archlinux:latest | ||
FROM ubuntu:21.10 | ||
|
||
WORKDIR / | ||
|
||
RUN pacman -Sy --noconfirm \ | ||
archlinux-keyring && \ | ||
pacman -Sy --noconfirm \ | ||
bison \ | ||
flex \ | ||
RUN apt-get update \ | ||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y\ | ||
gcc \ | ||
glibc \ | ||
flex \ | ||
bison \ | ||
gettext \ | ||
grep \ | ||
iproute2 \ | ||
iptables \ | ||
make \ | ||
pkgconf \ | ||
python \ | ||
python-pip | ||
python3-pip \ | ||
&& apt-get clean -y | ||
|
||
ADD ./kollaps /Kollaps/kollaps | ||
|
||
ADD ./setup.py /Kollaps/setup.py | ||
|
||
ADD ./ /Kollaps/ | ||
ADD /kube/ /root/.kube | ||
|
||
RUN pip3 --no-cache-dir install wheel dnspython flask docker kubernetes netifaces && \ | ||
RUN pip3 --no-cache-dir install wheel dnspython flask docker kubernetes netifaces netaddr pyroute2 && \ | ||
pip3 --no-cache-dir wheel --no-deps -w /Kollaps /Kollaps && \ | ||
pip3 --no-cache-dir install /Kollaps/kollaps-1.0-py3-none-any.whl && \ | ||
rm -rf /Kollaps && \ | ||
mkdir /result && \ | ||
pip3 --no-cache-dir uninstall -y setuptools wheel pip | ||
#pacman -R --noconfirm make gcc flex bison pkgconf && \ | ||
#pacman -Scc --noconfirm |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,48 +1,66 @@ | ||
FROM archlinux:latest | ||
FROM ubuntu:21.10 | ||
|
||
WORKDIR / | ||
|
||
# Location of netem distribution files on archlinux | ||
ENV TC_LIB_DIR "/usr/share/tc/" | ||
|
||
RUN pacman -Sy --noconfirm \ | ||
archlinux-keyring && \ | ||
pacman -Sy --noconfirm \ | ||
bison \ | ||
flex \ | ||
ARG openssl_arch=linux-x86_64 | ||
ENV DEBIAN_FRONTEND=noninteractive \ | ||
TC_LIB_DIR=/usr/lib/tc/ | ||
#JEMALLOC_SYS_WITH_MALLOC_CONF=background_thread:true,narenas:1,tcache:false,dirty_decay_ms:0,muzzy_decay_ms:0,abort_conf:true | ||
|
||
RUN CONFIG_BPF=y \ | ||
CONFIG_BPF_SYSCALL=y \ | ||
CONFIG_NET_CLS_BPF=m \ | ||
CONFIG_NET_ACT_BPF=m \ | ||
CONFIG_BPF_JIT=y \ | ||
CONFIG_HAVE_BPF_JIT=y \ | ||
CONFIG_HAVE_EBPF_JIT=y \ | ||
CONFIG_BPF_EVENTS=y \ | ||
CONFIG_IKHEADERS=y \ | ||
CONFIG_NET_SCH_SFQ=m \ | ||
CONFIG_NET_ACT_POLICE=m \ | ||
CONFIG_NET_ACT_GACT=m \ | ||
CONFIG_DUMMY=m \ | ||
CONFIG_VXLAN=m | ||
|
||
|
||
RUN apt-get update \ | ||
&& DEBIAN_FRONTEND=noninteractive apt-get install -y\ | ||
gcc \ | ||
flex \ | ||
bison \ | ||
gettext \ | ||
glibc \ | ||
grep \ | ||
iproute2 \ | ||
iputils \ | ||
iptables \ | ||
make \ | ||
pkgconf \ | ||
python \ | ||
python-pip \ | ||
tcpdump | ||
python3-pip \ | ||
vim \ | ||
&& apt-get clean -y | ||
|
||
ADD ./pid1 /Kollaps/pid1 | ||
|
||
ADD ./ /Kollaps/ | ||
ADD ./kollaps/ /Kollaps/kollaps | ||
|
||
RUN tar -C /Kollaps/ -zxvf Kollaps/Aeron.tar.gz && \ | ||
cp -r /Kollaps/Aeron/binaries /usr/bin/Aeron && \ | ||
mkdir -p /home/daedalus/Documents/aeron4need/cppbuild/Release/ && \ | ||
cp -r /Kollaps/Aeron/lib /home/daedalus/Documents/aeron4need/cppbuild/Release/lib && \ | ||
cp /Kollaps/Aeron/usr/lib/libbsd.so.0.9.1 /usr/lib/libbsd.so.0.9.1 && \ | ||
cp /Kollaps/Aeron/usr/lib/libbsd.so.0 /usr/lib/libbsd.so.0 && \ | ||
rm -f Aeron.tar.gz | ||
ADD ./setup.py /Kollaps/setup.py | ||
|
||
# LL: only added kubernetes in l.33 | ||
RUN make -C /Kollaps/pid1 && \ | ||
cp /Kollaps/pid1/pid1 /usr/bin/pid1 && \ | ||
make -C /Kollaps/kollaps/TCAL -j8 && \ | ||
pip3 --no-cache-dir install wheel dnspython flask docker kubernetes netifaces && \ | ||
pip3 --no-cache-dir install wheel dnspython flask docker kubernetes netifaces openssh_wrapper netaddr && \ | ||
pip3 --no-cache-dir wheel --no-deps -w /Kollaps /Kollaps && \ | ||
pip3 --no-cache-dir install /Kollaps/kollaps-1.0-py3-none-any.whl && \ | ||
cp /Kollaps/kollaps/TCAL/libTCAL.so /usr/local/bin/libTCAL.so && \ | ||
cp -R /Kollaps/kollaps/rustbinaries/communicationmanager /usr/bin/communicationmanager && \ | ||
cp -R /Kollaps/kollaps/rustbinaries/emulationcore /usr/bin/emulationcore && \ | ||
cp /Kollaps/kollaps/rustbinaries/libcommunicationcore.so /usr/local/bin/libcommunicationcore.so && \ | ||
rm -rf /Kollaps && \ | ||
pip3 --no-cache-dir uninstall -y setuptools wheel pip | ||
#pacman -R --noconfirm make gcc flex bison pkgconf && \ | ||
#pacman -Scc --noconfirm | ||
pip3 --no-cache-dir uninstall -y setuptools wheel pip3 | ||
|
||
|
||
WORKDIR / | ||
|
||
ENTRYPOINT ["/usr/bin/pid1", "/usr/bin/python3", "-m", "kollaps.bootstrapper"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<experiment boot="kollaps:1.0"> | ||
<services> | ||
<!-- definition of the services (containers), --> | ||
<!-- kollaps dashboard to controll the experiments, should be present in all deployments --> | ||
<service name="dashboard" image="kollaps/dashboard:1.0" supervisor="true" port="8088"/> | ||
<!-- iperf clients --> | ||
<!-- <service name="client1" image="kollaps/iperf3-client:1.0" command="['server', '0', '0']"/> --> | ||
|
||
<!-- the "command" can be used to pass parameters to the container entrypoints. | ||
In this example we are passsing "server" which will be used to discover the IPs | ||
of the servers at run time --> | ||
<service name="client1" image="kollaps/iperf3-client:1.0" command="['server','1']"/> | ||
<service name="client2" image="kollaps/iperf3-client:1.0" command="['server','2']"/> | ||
<service name="client3" image="kollaps/iperf3-client:1.0" command="['server','3']"/> | ||
<service name="client4" image="kollaps/iperf3-client:1.0" command="['server','3']"/> | ||
<!-- iperf server, declared once, but three instances will be started, see below --> | ||
<service name="server" image="kollaps/iperf3-server:1.0" share="false"/> | ||
</services> | ||
<bridges> | ||
<!-- definition of the network elements (routers and switches) --> | ||
<bridge name="s1"/> | ||
<bridge name="s2"/> | ||
<bridge name="s3"/> | ||
</bridges> | ||
<links> | ||
<!-- definition of the links, the "network" should match the name of an existing container network --> | ||
<link origin="client1" dest="s3" latency="5" upload="100Mbps" download="100Mbps" jitter = "0.3" drop="0.1" network="kollaps_network"/> | ||
<link origin="client2" dest="s3" latency="5" upload="100Mbps" download="100Mbps" jitter = "0.3" drop="0.1" network="kollaps_network"/> | ||
<link origin="client3" dest="s1" latency="5" upload="100Mbps" download="100Mbps" jitter = "0.3" drop="0.1" network="kollaps_network"/> | ||
<link origin="client4" dest="server" latency="5" upload="10Mbps" download="10Mbps" jitter = "0.3" drop="0.1" network="kollaps_network"/> | ||
<link origin="s1" dest="s2" latency="10" upload="60Mbps" download="60Mbps" jitter = "0.5" drop="0.1" network="kollaps_network"/> | ||
<link origin="s2" dest="s3" latency="15" upload="20Mbps" download="20Mbps" jitter = "0.5" drop="0.1" network="kollaps_network"/> | ||
<link origin="s3" dest="server" latency="5" upload="5Mbps" download="5Mbps" jitter = "0.5" drop="0.1" network="kollaps_network"/> | ||
</links> | ||
<dynamic> | ||
<!-- schedulle the dynamics of the experiment. These apply to services and links, see documentation for more details. | ||
This section can be ommited in which case all the services will be started at the beginning of the experiment --> | ||
<schedule name="client1" time="0.0" action="join"/> | ||
<schedule name="client2" time="0.0" action="join"/> | ||
<schedule name="client3" time="0.0" action="join"/> | ||
<schedule name="client4" time="0.0" action="join"/> | ||
<!-- were we start three instances of the "server" service --> | ||
<schedule name="server" time="0.0" action="join" amount="4"/> | ||
<schedule name="server" time="120.0" action="leave" amount="4"/> | ||
</dynamic> | ||
</experiment> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<experiment boot="kollaps:1.0"> | ||
<services> | ||
<!-- definition of the services (containers), --> | ||
<!-- kollaps dashboard to controll the experiments, should be present in all deployments --> | ||
<service name="dashboard" image="kollaps/dashboard:1.0" supervisor="true" port="8088"/> | ||
<!-- iperf clients --> | ||
<!-- <service name="client1" image="kollaps/iperf3-client:1.0" command="['server', '0', '0']"/> --> | ||
|
||
<!-- the "command" can be used to pass parameters to the container entrypoints. | ||
In this example we are passsing "server" which will be used to discover the IPs | ||
of the servers at run time --> | ||
<service name="client1" image="kollaps/iperf3-client:1.0" command="['server','1']"/> | ||
<service name="client2" image="kollaps/iperf3-client:1.0" command="['server','2']"/> | ||
<service name="client3" image="kollaps/iperf3-client:1.0" command="['server','3']"/> | ||
<!-- iperf server, declared once, but three instances will be started, see below --> | ||
<service name="server" image="kollaps/iperf3-server:1.0" share="false"/> | ||
</services> | ||
<bridges> | ||
<!-- definition of the network elements (routers and switches) --> | ||
<bridge name="s1"/> | ||
<bridge name="s2"/> | ||
</bridges> | ||
<links> | ||
<!-- definition of the links, the "network" should match the name of an existing container network --> | ||
<link origin="client1" dest="s1" latency="10" upload="100Mbps" download="100Mbps" network="kollaps_network"/> | ||
<link origin="client2" dest="s1" latency="10" upload="100Mbps" download="100Mbps" network="kollaps_network"/> | ||
<link origin="client3" dest="s1" latency="10" upload="100Mbps" download="100Mbps" network="kollaps_network"/> | ||
<link origin="s1" dest="s2" latency="10" upload="60Mbps" download="60Mbps" network="kollaps_network"/> | ||
<link origin="s2" dest="server" latency="5" upload="100Mbps" download="100Mbps" network="kollaps_network"/> | ||
</links> | ||
<dynamic> | ||
<!-- schedulle the dynamics of the experiment. These apply to services and links, see documentation for more details. | ||
This section can be ommited in which case all the services will be started at the beginning of the experiment --> | ||
<schedule name="client1" time="0.0" action="join"/> | ||
<schedule name="client2" time="0.0" action="join"/> | ||
<schedule name="client3" time="0.0" action="join"/> | ||
<!-- were we start three instances of the "server" service --> | ||
<schedule name="server" time="0.0" action="join" amount="3"/> | ||
|
||
<schedule origin="client1" dest="s1" time="5.0" latency="10" upload="5Mbps" download="100Mbps"/> | ||
<schedule origin="client2" dest="s1" time="15.0" latency="10" upload="5Mbps" download="100Mbps"/> | ||
<schedule origin="client3" dest="s1" time="25.0" latency="10" upload="5Mbps" download="100Mbps"/> | ||
|
||
<schedule origin="s1" dest="s2" time="35.0" upload="5Mbps" download="5Mbps"/> | ||
|
||
<schedule origin="client3" dest="s1" time="45.0" action="leave"/> | ||
|
||
<schedule name="client1" time="60.0" action="crash"/> | ||
|
||
<schedule name="client2" time="70.0" action="crash"/> | ||
<schedule name="client3" time="80.0" action="crash"/> | ||
|
||
<schedule name="server" time="120.0" action="leave" amount="3"/> | ||
</dynamic> | ||
</experiment> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ FROM alpine:3.9 | |
RUN apk add --no-cache \ | ||
bind-tools \ | ||
bash \ | ||
iperf3 | ||
iperf3 | ||
|
||
ADD ./client.sh / | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.