Add first osmo-cn-latest image

Core network in a container. Starts all the services, configuration
needs to be tweaked.

Change-Id: Icfddc75447fbd94f9d5c19408ccc7f3a914e083f
changes/38/13438/1
Daniel Willmann 5 years ago
parent 8dea5c8a5a
commit 5ff268371f
  1. 2
      osmo-cn-latest/.release
  2. 45
      osmo-cn-latest/Dockerfile
  3. 1
      osmo-cn-latest/Makefile
  4. 20
      osmo-cn-latest/Release.key
  5. 51
      osmo-cn-latest/osmo-ggsn.cfg
  6. 19
      osmo-cn-latest/osmo-hlr.cfg
  7. 53
      osmo-cn-latest/osmo-mgw.cfg
  8. 30
      osmo-cn-latest/osmo-msc.cfg
  9. 34
      osmo-cn-latest/osmo-sgsn.cfg
  10. 36
      osmo-cn-latest/osmo-stp.cfg
  11. 33
      osmo-cn-latest/run.sh
  12. 4
      osmo-cn-latest/runit/ggsn-run
  13. 3
      osmo-cn-latest/runit/hlr-run
  14. 3
      osmo-cn-latest/runit/mgw-run
  15. 3
      osmo-cn-latest/runit/msc-run
  16. 3
      osmo-cn-latest/runit/sgsn-run
  17. 3
      osmo-cn-latest/runit/stp-run

@ -0,0 +1,2 @@
release=0.0.0
tag=osmo-cn-latest-0.0.0

@ -0,0 +1,45 @@
FROM debian:stretch
MAINTAINER Daniel Willmann <dwillmann@sysmocom.de>
ARG OSMOCOM_REPO="http://download.opensuse.org/repositories/network:/osmocom:/latest/Debian_9.0/"
COPY Release.key /tmp/Release.key
RUN apt-get update && \
apt-get install -y --no-install-recommends \
gnupg
RUN apt-key add /tmp/Release.key && \
rm /tmp/Release.key && \
echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list
ADD $OSMOCOM_REPO/Release /tmp/Release
RUN apt-get update && \
apt-get install -y --no-install-recommends \
osmo-msc osmo-hlr osmo-sgsn osmo-ggsn osmo-mgw osmo-stp \
runit telnet iptables && \
apt-get clean
WORKDIR /tmp
VOLUME /data
COPY osmo-stp.cfg /data/osmo-stp.cfg
COPY osmo-msc.cfg /data/osmo-msc.cfg
COPY osmo-hlr.cfg /data/osmo-hlr.cfg
COPY osmo-mgw.cfg /data/osmo-mgw.cfg
COPY osmo-sgsn.cfg /data/osmo-sgsn.cfg
COPY osmo-ggsn.cfg /data/osmo-ggsn.cfg
COPY runit/stp-run /etc/service/osmo-stp/run
COPY runit/msc-run /etc/service/osmo-msc/run
COPY runit/hlr-run /etc/service/osmo-hlr/run
COPY runit/mgw-run /etc/service/osmo-mgw/run
COPY runit/sgsn-run /etc/service/osmo-sgsn/run
COPY runit/ggsn-run /etc/service/osmo-ggsn/run
WORKDIR /data
CMD ["/sbin/runit"]
EXPOSE 23000/udp

@ -0,0 +1 @@
include ../make/Makefile

@ -0,0 +1,20 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)
mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc
a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl
CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4
5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee
S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y
CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy
b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc
aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI
ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw
8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI
L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb
/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I
ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi
8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v
d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4=
=Gvly
-----END PGP PUBLIC KEY BLOCK-----

@ -0,0 +1,51 @@
!
! OpenGGSN (0.94.1-adac) configuration saved from vty
!!
!
log file /data/osmo-ggsn.log
logging filter all 1
logging color 0
logging print category 1
logging timestamp 1
logging level ip info
logging level tun info
logging level ggsn info
logging level sgsn notice
logging level icmp6 debug
logging level lglobal notice
logging level llapd notice
logging level linp notice
logging level lmux notice
logging level lmi notice
logging level lmib notice
logging level lsms notice
logging level lctrl notice
logging level lgtp info
logging level lstats notice
logging level lgsup notice
logging level loap notice
logging level lss7 notice
logging level lsccp notice
logging level lsua notice
logging level lm3ua notice
logging level lmgcp notice
!
stats interval 5
!
line vty
no login
bind 0.0.0.0
!
ggsn ggsn0
gtp state-dir /tmp
gtp bind-ip 127.0.0.2
apn internet
gtpu-mode tun
tun-device tun4
type-support v4
ip prefix dynamic 10.0.0.1/24
ip dns 0 9.9.9.9
ip ifconfig 10.0.0.0/24
no shutdown
default-apn internet
no shutdown ggsn

@ -0,0 +1,19 @@
!
! OsmoHLR example configuration
!
log file /data/osmo-hlr.log
logging filter all 1
logging color 0
logging print category 1
logging timestamp 1
logging print extended-timestamp 1
logging level all debug
logging level linp error
!
line vty
bind 0.0.0.0
ctrl
bind 0.0.0.0
hlr
gsup
bind ip 127.0.0.1

@ -0,0 +1,53 @@
!
! OsmoMGW (1.2.0.17-52e3) configuration saved from vty
!!
!
log file /data/osmo-mgw.log
logging filter all 1
logging color 1
logging print category 1
logging timestamp 0
logging level all everything
logging level rtp notice
logging level lglobal notice
logging level llapd notice
logging level linp notice
logging level lmux notice
logging level lmi notice
logging level lmib notice
logging level lsms notice
logging level lctrl notice
logging level lgtp notice
logging level lstats notice
logging level lgsup notice
logging level loap notice
logging level lss7 notice
logging level lsccp notice
logging level lsua notice
logging level lm3ua notice
logging level lmgcp debug
!
stats interval 5
!
line vty
no login
bind 0.0.0.0
!
mgcp
bind ip 127.0.0.1
bind port 2427
rtp port-range 4002 16000
rtp bind-ip 192.168.42.10
rtp ip-probing
rtp ip-dscp 184
no rtp keep-alive
no rtcp-omit
no rtp-patch
sdp audio-payload number 98
sdp audio-payload name GSM
sdp audio-payload send-ptime
sdp audio-payload send-name
loop 0
number endpoints 31
allow-transcoding
osmux off

@ -0,0 +1,30 @@
!
! OsmoMSC configuration saved from vty
!
log file /data/osmo-msc.log
logging filter all 1
logging color 1
logging print category 1
logging timestamp 0
logging level all everything
!
line vty
no login
bind 0.0.0.0
!
cs7 instance 0
asp asp-clnt-OsmoMSC-A-Iu 2905 2904 m3ua
remote-ip 192.168.42.10
network
network country code 901
mobile network code 1
short name OsmoMSC
long name OsmoMSC
encryption a5 0
rrlp mode none
mm info 1
msc
mgw remote-ip 127.0.0.1
assign-tmsi
auth-tuple-max-reuse-count 3
auth-tuple-reuse-on-error 1

@ -0,0 +1,34 @@
!
! Osmocom SGSN (0.9.0.474-0ede2) configuration saved from vty
!!
!
log file /data/osmo-sgsn.log
logging filter all 1
logging color 1
logging print category 1
logging timestamp 0
logging level all everything
!
line vty
no login
bind 0.0.0.0
!
sgsn
gtp local-ip 127.0.0.1
ggsn 0 remote-ip 127.0.0.2
ggsn 0 gtp-version 1
auth-policy remote
gsup remote-ip 127.0.0.1
gsup remote-port 4222
ns
timer tns-block 3
timer tns-block-retries 3
timer tns-reset 3
timer tns-reset-retries 3
timer tns-test 30
timer tns-alive 3
timer tns-alive-retries 10
encapsulation udp local-ip 0.0.0.0
encapsulation udp local-port 23000
encapsulation framerelay-gre enabled 0
bssgp

@ -0,0 +1,36 @@
!
! osmo-stp (0.0.6.3.179-b248) configuration saved from vty
!!
!
log file /data/osmo-stp.log
logging filter all 1
logging color 0
logging print category 1
logging timestamp 1
logging level all everything
logging level lglobal notice
logging level llapd notice
logging level linp debug
logging level lmux notice
logging level lmi notice
logging level lmib notice
logging level lsms notice
logging level lctrl notice
logging level lgtp notice
logging level lstats notice
logging level lgsup notice
logging level loap notice
logging level lss7 debug
logging level lsccp debug
logging level lsua debug
logging level lm3ua debug
!
line vty
no login
bind 0.0.0.0
!
cs7 instance 0
xua rkm routing-key-allocation dynamic-permitted
listen m3ua 2905
accept-asp-connections dynamic-permitted
local-ip 192.168.42.10

@ -0,0 +1,33 @@
#! /bin/sh
. ../jenkins-common.sh
docker_images_require \
"osmo-cn-latest"
docker network create --subnet 192.168.42.0/24 $NET_NAME
mkdir $VOL_BASE_DIR/osmo-cn
cp osmo-stp.cfg $VOL_BASE_DIR/osmo-cn/
cp osmo-msc.cfg $VOL_BASE_DIR/osmo-cn/
cp osmo-hlr.cfg $VOL_BASE_DIR/osmo-cn/
cp osmo-mgw.cfg $VOL_BASE_DIR/osmo-cn/
cp osmo-sgsn.cfg $VOL_BASE_DIR/osmo-cn/
cp osmo-ggsn.cfg $VOL_BASE_DIR/osmo-cn/
cp hlr.db $VOL_BASE_DIR/osmo-cn/
echo Starting Osmocom core services
docker run --rm \
--cap-add=NET_ADMIN \
--device /dev/net/tun:/dev/net/tun \
--network $NET_NAME --ip 192.168.42.10 \
-p 0.0.0.0:23000:23000/udp \
-v $VOL_BASE_DIR/osmo-cn:/data \
--name osmo-cn \
$REPO_USER/osmo-cn-latest
echo Stopping containers
docker container kill osmo-cn
network_remove

@ -0,0 +1,4 @@
#!/bin/sh
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
exec /usr/bin/osmo-ggsn -c /data/osmo-ggsn.cfg

@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/osmo-hlr -c /data/osmo-hlr.cfg -l /data/hlr.db

@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/osmo-mgw -c /data/osmo-mgw.cfg

@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/osmo-msc -c /data/osmo-msc.cfg

@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/osmo-sgsn -c /data/osmo-sgsn.cfg

@ -0,0 +1,3 @@
#!/bin/sh
exec /usr/bin/osmo-stp -c /data/osmo-stp.cfg
Loading…
Cancel
Save