managing tailor-made enhanced packet cores for 4g/5g...

22
This project has received funding from the EU’s Horizon 2020 research and innovation programme under grant agreement No 815279. Managing Tailor-Made Enhanced Packet Cores Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM for 4G/5G Testbeds in OSM with the with the SimulaMet OpenAirInterface VNF SimulaMet OpenAirInterface VNF Thomas Dreibholz, Thomas Dreibholz, [email protected] [email protected] Andrés Felipe Ocampo, Andrés Felipe Ocampo, [email protected] [email protected] OSM10 Hackfest OSM10 Hackfest December 2, 2020 December 2, 2020

Upload: others

Post on 16-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • This project has received funding from the EU’s Horizon 2020 research and innovation programme under grant agreement No 815279.

    Managing Tailor-Made Enhanced Packet CoresManaging Tailor-Made Enhanced Packet Coresfor 4G/5G Testbeds in OSM for 4G/5G Testbeds in OSM with thewith the

    SimulaMet OpenAirInterface VNFSimulaMet OpenAirInterface VNF

    Thomas Dreibholz, Thomas Dreibholz, [email protected]@simula.noAndrés Felipe Ocampo, Andrés Felipe Ocampo, [email protected]@simula.no

    OSM10 HackfestOSM10 HackfestDecember 2, 2020December 2, 2020

    mailto:[email protected]:[email protected]

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 2

    Table of Contents

    • OpenAirInterface and Our Goal• Basic Testbed Setup• The SimulaMet EPC VNF• Juju Configuration and Challenges• Managing Builds• Demo

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 3

    OpenAirInterface (OAI)● OpenAirInterface (OAI):

    – Open Source software for EPC and eNodeB (i.e. packet core and base stations)

    – Details: https://www.openairinterface.org

    – 4G LTE available, 5G under development

    – Ongoing work, with many different Git branches

    ● Idea:

    – Manage OAI setups in OSM (at least, the EPC part)● Automatic setup and deployment

    – Easy to add additional features (e.g. Mobile Edge Computing components)

    – Open Source, of course! → https://github.com/simula/5gvinni-oai-ns

    https://www.openairinterface.org/https://github.com/simula/5gvinni-oai-ns

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 4

    ● Hardware:

    – User Equipment(modems, smartphones, etc.)

    – Programmable sim cards

    – Software-Defined Radio boards

    ● For the rest (eNodeBs, EPC):

    – OpenAirInterface Open Source software

    – Running on regular Linux PCs

    – But: difficult to install and maintain!

    ProgrammableProgrammable

    Sim CardsSim Cards

    Setting Up a 4G/5G Testbed

    User EquipmentUser Equipment(UE)(UE)

    Software-DefinedSoftware-DefinedRadio BoardsRadio Boards

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 5

    Our Goal: An OpenAirInterface VNF● Main purpose: testbed setups for research and development

    ● OAI EPC as VNF

    – Easy to use, EPC should (hopefully) work “out of the box”

    – Build of OAI software inside VMs, according to specified Gitrepositories and commits ⇨ get exactly the desired installation

    ● NSs using the VNF and possibly other VNFs

    – Example 1: add Mobile Edge Computing services to EPC

    – Example 2: get basic EPC to test extended eNodeB software

    – ...

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 6

    Basic Testbed Setup

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 7

    What is needed for the VNF?

    ● Base VDU image

    ● The VNF itself

    ● Juju Charms to configure the components

    ● Management of the build process

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 8

    Base VDU Image● VDU image goals:

    – Full-featured base VDU image, including development and debug tools

    – Different versions of Ubuntu LTS (Xenial, Bionic, Focal)

    – Up-to-date (i.e. all updates installed)

    ● Packer scripting:

    – Fully automatic installation using Packer

    – Preseeding (Ubuntu < 20.04); Subiquity (Ubuntu ≥ 20.04)● Additional PPA, keyboard layout setup, EFI boot, etc.● All updates installed● => Fresh, state-of-the art installation (avoids issues with “old” installations)

    – Details: https://github.com/simula/nornet-vmimage-builder-scripts

    https://github.com/simula/nornet-vmimage-builder-scripts

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 9

    The SimulaMet EPC VNF

    HSS: Home Subscriber ServerMME: Mobile Management EntitySPGW-C: Control Plane of the Packet Data Network GatewaySPGW-U: User Plane of the Packet Data Network Gateway

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 10

    VNF Parameters Example● # ====== HSS ===============================================

    hss_git_repository: ‘https://github.com/simula/openairinterface-openair-hss.git'hss_git_commit: 'dreibh/cassandra-build-fix-2020.w44'hss_S6a_address: '172.16.6.129'network_realm: 'simula.nornet'network_k: '449C4B91AEACD0ACE182CF3A5A72BFA1'network_op: '1006020F0A478BF6B699F15C062E42B3'network_imsi_first: '242881234500000'network_msisdn_first: '24288880000000'network_users: '1024'

    ● # ====== MME ===============================================mme_git_repository: 'https://github.com/simula/openairinterface-openair-mme.git'mme_git_commit: '2020.w44'mme_S1C_ipv4_interface: '192.168.247.102/24'mme_S1C_ipv4_gateway: '0.0.0.0'mme_S1C_ipv6_interface: ''mme_S1C_ipv6_gateway: ''mme_S11_ipv4_interface: '172.16.1.102/24'mme_S6a_address: '172.16.6.2'network_mcc: '242'network_mnc: '88'

    ● ...

    Git repositoryGit repository

    Git commit(or tag or branch)

    Git commit(or tag or branch)

    Tailor-Made EPC Setup according to

    Your needs!

    Tailor-Made EPC Setup according to

    Your needs!

    https://github.com/simula/openairinterface-openair-hss.githttps://github.com/simula/openairinterface-openair-mme.git

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 11

    Configuration with Juju● Day-0/1: For each VDU (EPC component, i.e. HSS, MME, SPGW-C, SPGW-U):

    – Install necessary additional packages (depends on component)

    – Set up network configuration

    – Clone component sources (Git repository and commit)

    – Build the sources

    – Create/update component’s configuration files

    – Write systemd unit file (for “sudo service start|stop|restart”)

    – Some convenience: System-Info, login banner per component, prompt colours, etc.

    – Start the component

    ● Day-2: actions to start/stop/reconfigure components

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 12

    Juju Proxy Charm Challenges● First version: charms.sshproxy._run() with lots of escaping

    – $ \$ ; \ \\ ; " \\\" ; \" \\\\\\"⇨ ⇨ ⇨ ⇨– Really ugly to read, a mess to debug, …

    ● Better solution:

    – Write “normal” code => Base64 encoding => charms.sshproxy._run()

    – => echo “” | base64 -d | /bin/bash -x

    ● Even better:

    – Some helper functions as a Python library “VDUHelper”● Code execution in VDU, file upload into VDU, etc.

    – Add same library code to all our Juju proxy charms (=> automatically, with CMake ...)

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 13

    Managing VNFD/NSD Builds● Multiple manual steps to generate and deploy VNFs and NSs

    – Strictly verify all YAML files with yamllint (very useful, to avoid problems and surprises!)

    – Copy Charm files to VNFDs and build Charms (charm build …)● Including our library “VDUHelper”

    – Verify descriptor(s) and generate VNFD package(s)(validate_descriptor.py, generate_descriptor_pkg.sh)

    – Verify descriptor(s) and generate NSD package(s)

    ● Initial approach: write a Makefile

    ● Better approach:

    – Git for source management ⇨ information about all relevant source files– Let CMake write Makefiles and take care of dependencies!

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 14

    Live Demo:SimulaMet EPC + Cloud RAN

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 15

    Scenario Overview

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 16

    Cloud RAN

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 17

    Network Setup

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 18

    Cloud RAN + EPC in OSM

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 19

    Murphy’s LawMurphy‘s Law:„Anything that can go wrong, will go wrong.“

    Murphy‘s Law:„Anything that can go wrong, will go wrong.“

    „Accident ferroviaire de la gare Montparnasse“Image sources: Wikimedia

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 20

    OSM Wishlist● OSM 8.0.2 is a great stability improvement!

    – Only issue so far, with multiple NS instances: steadily increasing number of osm-mon-collector processes, until OOM killer starts terminating them → bug in OSM?

    ● Wishlist items:

    – Improvement for OSM (and Juju) dependencies:● OSM and Juju depend on many APT packages, PIP Python packages, Snap, …● Murphy’s Law → many opportunities for things to go wrong● In case of any dependency issues, OSM installation/NS instantiation is going to fail

    (happened a couple of times in the past, particularly due to PIP package issues)● => Wishlist: possibility to only depend on APT packages?

    – If possible: feature to freeze versions● => Wishlist: possibility to even run without any Internet access?

  • 30 November 2020 Managing Tailor-Made Enhanced Packet Cores for 4G/5G Testbeds in OSM 21

    Sources

    ● Get the sources here: https://github.com/simula/5gvinni-oai-ns

    – Open Source, GPL-licensed

    – README: how to set up a testbed

    – images/: VDU preseeded image build script

    – juju/: The Juju Charms used by the VNF

    – SimulaMet-OAI-EPC_vnfd/: VNF descriptor

    – SimulaMet-OAI-EPC_nsd/: NS descriptor for simple example

    https://github.com/simula/5gvinni-oai-ns

  • This project has received funding from the EU’s Horizon 2020 research and innovation programme under grant agreement No 815279.

    Any Questions?Any Questions?

    Thomas DreibholzThomas [email protected]@simula.no

    https://www.simula.no/people/dreibhhttps://www.simula.no/people/dreibh

    Andrés Felipe OcampoAndrés Felipe [email protected]@simula.no

    https://www.simula.no/people/andreshttps://www.simula.no/people/andres

    mailto:[email protected]://www.simula.no/people/dreibhmailto:[email protected]://www.simula.no/people/andres

    TitleTable of ContentsOpenAirInterfaceSetting Up a 4G/5G TestbedOur Goal: An OpenAirInterface VNFBasic Testbed SetupWhat is needed for the VNF?Base VDU ImageThe SimulaMet EPC VNFVNF Parameters ExampleConfiguration with JujuJuju Proxy Charm ChallengesManaging VNF/NS BuildsLive Demo: SimulaMet EPC + Cloud RANScenario OverviewCloud RANNetwork SetupCloud RAN + EPC in OSMMurphy's LawOSM WishlistSourcesAny Questions?