Magma: v1.5.0 Release

Release date:
May 24, 2021
Previous version:
v1.4.0 (released March 16, 2021)
Magnitude:
21,247 Diff Delta
Contributors:
36 total committers
Data confidence:
Commits:

164 Commits in this Release

Ordered by the degree to which they evolved the repo in this version.

Authored March 30, 2021
Authored March 30, 2021
Authored March 24, 2021
Authored March 22, 2021

Top Contributors in v1.5.0

hcgatewood
themarwhal
ashish-pr
electronjoe
pshelar
jpad-freedomfi
koolzz
uri200
mattymo
arunuke

Directory Browser for v1.5.0

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

Magma v1.5 Release Notes (Fuji)

Introduction

The Magma 1.5 (Fuji) release adds support for some new features and fixes for other known issues. See the release page and test report for more information.

Key Features

Inbound roaming

Roaming support allows mobile users from one operator network to access services while visiting areas outside their network coverage. The implementation considers the use case when a subscriber of a network operator MNOH (home network) tries to access LTE services while visiting an area covered by operator MNOV (visiting network) that deploys Magma EPC.

Inbound roaming extends the S6a interface and adds support for the S8 interface. Inbound Roaming requires a federated architecture to connect to MNOV, while MNOH can be Federated using HSS, or in a non-Federated using Magma HSS which is then selected dynamically by PLMN Identifier (ID)

Idle Mode Paging Support: Magma 1.5 supports IDLE to CONNECTED UE originated mode. The current implementation does NOT support IDLE to CONNECTED network originated mode (network paging)

Ubuntu 20.04 support

Starting with this release, the default kernel for the AGW will be based on Ubuntu 20.04. Debian is still supported in this release but will be deprecated starting in release v1.6. This also updates Python to 3.8 and OVS to 2.14.

Intra-AGW S1 Mobility

This feature enables support for UE mobility across multiple eNBs over S1 connections and anchored at the same AGW instance. UEs should maintain the same IP address and should experience minimal network layer (i.e., IP layer for applications on the UE) packet loss. Note that Magma does not currently support indirect data forwarding, so some packet loss may be experienced during handover (this will be added in a future release).

PLMN restriction enhancements

This feature adds the ability to restrict UEs from unauthorized PLMNs. You can configure blocked PLMNs in the AGW via a config file so during the attach process, you can grep the PLMN from UE IMSI and perform an Attach reject by including PLMN of AGW into the restricted PLMN list.

IMEI restriction

Before this release, Magma did not check whether the hardware itself (as identified by its IMEI) is a legitimate/approved device type to access the network. IMEI restriction will allow such checks via configuration and will block access for the device via it’s IMEI if it is not allowed in the network.

Orc8r subscriber scaling

20K+ subscribers can now be provisioned at a time. Scaling limitations from previous releases have been addressed.

Reduced operating expenses via DB unification

This release unifies the DB for both Orc8r and NMS. The NMS DB was migrated from MariaDB to Postgres to standardize storage engines across both systems. For network operators using Magma on AWS, there are operating costs to running both MariaDB and Postgres, over using just one or the other. The unification is to have both NMS and orc8r use the same DB to reduce operating expenses of running Magma services.

NMS improvements

  • Gateway pool configuration for FWA high availability
  • Subscriber overview now displays configured subscribers and associated subscriber sessions in separate tables
  • Configured subscribers can be exported in a csv format.
  • Audit log table is available by default in admin page. Audit log table can be used to track any mutating changes done to the underlying configuration.

Known Issues

  • Attach Procedure Failure due to duplicate enb_ue_s1ap_ids. During scale testing, we observed on multiple gateways that after 5+ hrs we see attach procedure timeout on the UEs (#6414). It’s recommended to add a custom alert rule based on the duplicate_attach_request metric. Refer to the rules and metrics guides for configuration details.
  • S1 Handover testing with physical handsets is ongoing. During testing, we were unable to complete an S1 handover using a real UE and eNBs (#6429). We are continuing to test to determine if this behavior is UE or eNB dependent.

Upgrade Notes

Cloud Upgrade

  • Cloud upgrade is supported from v1.3 as well as v1.4
  • Terraform version 0.14.5 is recommended for orc8r upgrades. Current terraform scripts are not compatible with terraform 0.15.0.
  • Due to the database unification for NMS and orc8r, orc8r upgrades have two pre-requisite tasks:
    • DB Migration - Please refer to instructions on GitHub for the migration. Note that the migration MUST happen prior to executing the terraform upgrade.
    • Terraform main.tf sanitization - references to NMS DB need to be removed from the main.tf file. Further, the dialect for the orc8r DB needs to be specified. Please refer to the example main.tf located here.
  • Please note that the orc8r main.tf file should reference orc8r helm chart version - 1.5.21
  • In v1.5, a new pre-defined alert has been added to raise a critical alert when excessive duplicate attach requests are received at the gateway or if the SCTPD service restarts multiple times (this was introduced in v1.4). In order to start receiving these alarms, it is necessary to click on the β€œSync Pre-Defined alerts” in the NMS window for every network defined in the orc8r. Syncing the alerts once on the NMS does not replicate the behavior to other networks managed by the same NMS.

<h1 align="center"> <a href="https://github.com/magma/magma"><img src="https://i.imgur.com/FMmsGgy.png" alt="Magma"></a> </h1>

Access Gateway

  • Repo Change - In Magma Fuji (v1.5), Magma artifacts are now hosted on the new Magmacore repositories. Gateways migrating from older Magma releases can run the migration script to update the sources accordingly. This repository currently supports both Debian and Ubuntu OS flavors (please note that Fuji is the last release for Debian).
wget https://raw.githubusercontent.com/magma/magma/master/lte/gateway/release/upgrade_magma.sh
chmod +x upgrade_magma.sh
./upgrade_magma_sh
  • Image Version - 1.5.0-1619628161-f023455f

Critical bug fixes

  • QoS: Fix max bandwidth calculation. Pyroute2 API expects max-bandwidth parameter in bytes rather than bit rate (#6335)
  • Added fix to flush Pipelined Redis State on Stateless Restart (#6363)
  • Applied the use of meaningful names for MME threads (#5819)
  • Fixed datapath header calculations in OVS-2.14 (#6140)
  • Fixed the regression on the handling of GUTI attach type introduced by (#4769) for the creation and allocation of the emm_ctxt struct (#6114)
  • Fixed the bug in handling of a late ULA message received after ULA timer expiration (#5905)
  • Fixed type casting bug in S1AP state conversion (#6193)
  • Fixed faulty cause type parsing in context modification failure (#5921)

AGW

  • Added hash signature in persisting MME states to Redis to prevent unnecessary writes (#5868).
  • Eliminate some of the unnecessary state sync to Redis in S1AP task (#5888).
  • Added support for error indication handling for unknown UE context at RAN (#5956).

NMS

  • Fixed a read only user bug in the NMS (#5477). In this release, an error is thrown whenever read only user attempts to make a post/put/delete call in orc8r.

Other

  • Starting with this release, AGW with less than 4GB of memory is no longer officially supported.