Nephio R2 Release Notes

Overview

Prerequisites

Refer to the Install Guide for the prerequisites for supported environments.

Support matrix

The sandbox environment requires a physical or virtual machine with the following:

  • Ubuntu-20.04-focal or Ubuntu 22.04 Linux Or Fedora 34
  • a minimum of eight cores and a recommended 16 cores (these are needed for end-to-end testing with RAN and core)
  • 32 GB memory
  • 200 GB disk size
  • a default user with sudo passwordless permissions

This installation has been verified on VMs running on Google Cloud.

A Nephio sandbox can be created on any Kubernetes cluster v1.26 and above.

Features

API

Common CRDs are provided for 5G Core and RAN services.

Web UI

Nephio has a basic web UI to view and manage the packages, and the resources contained in the packages.

Packages

The following packages are supported:

  • Kpt packages for all free5GC services
  • Kpt packages for all OAI services
  • Packages for the core Nephio services
  • Packages for the Cluster API services for cluster creation
  • Packages for the dependent services

Functionalities

The following functionalities are supported:

  • Multivendor support
    • API changes
    • Generalization
    • Parameterization
    • Reuse of parameters
  • Multicloud support
    • Sandbox
    • GCP
    • OpenShift
  • OAI components
    • Deploying OAI 5G Core and RAN Network Functions (CU-CP, CU-UP, RF Simulated DU).
    • OAI 5G Core network functions are developed using Python Kubernetes Operator Framework (KOPF).
    • End-to-end call with RF Simulated OAI-NR-UE.
  • Integration with new release of Porch
    • Porch is now part of Nephio and is hosted in the Nephio repository.
    • Stability.
    • Security.
    • Repository watcher changes.
  • Documentation
    • New web-based documentation.
  • Experimental
    • Nephio SDK.
    • Flux-based deployment of Helm charts.
    • Helm-to-operator converter.
    • Topology Controller - Northbound API to express the network topology.

Fixes

The following fixes are available:

  • Removing rigid dependency on Gitea.
  • Upgrading the Multus version.
  • ConfigMap generator function.
  • Web UI configuration options for authentication.
  • Reorganizing the package catalog.
  • Reducing the hard coding of the NF parameters.
  • Stability of end-to-end tests.
  • Porch improvements.
  • Documentation enhancements.

Limitations

The following limitations need to be borne in mind:

  • For infrastructure automation, only the creation of KIND clusters is supported.
  • Inter-cluster networking is not dynamic. Therefore, as more clusters are deployed, some manual tweaking will be needed for inter-cluster communications.
  • Provisioning of VLAN interfaces on nodes is currently performed manually.
  • Feedback of workload deployments from workload clusters to the management cluster is limited. You may need to connect directly to the workload cluster via kubectl to debug any deployment issues.
  • Web UI features are limited to the viewing/editing of packages and resources in those packages and their deployment. Additional features will be added in subsequent releases.
  • When the capacities of the UPF, SMF, and AMF NFs are changed, the free5GC Operator on the workload cluster will instantiate a new POD with correspondingly modified resources (CPU, memory, and so on). During this process, the POD will restart. This is a limitation of free5GC.
  • Only Gitea works with automated cluster provisioning to create new repositories and join them to Nephio. To use a different Git provider, you must manually provision the cluster repositories, register them to the Nephio management server, and set up Config Sync on the workload cluster.
  • In the current demo configuration, the Web UI does not require authentication. Testing of the Web UI with authentication configured has not yet been done.
  • The Web UI only shows resources in the default namespace.
  • While many types of Git authentication are supported, testing has only been done with token-based Git authentication in Gitea.

Known issues and workarounds

  • Packages may take time to be approved by the auto-approval controller. If they appear to have frozen, it may help to restart Porch and the Nephio controllers using the following commands:
kubectl -n porch-system rollout restart deploy porch-server
kubectl -n nephio-system rollout restart deploy nephio-controller
  • Occasional calls to porchctl rpkg copy may fail with the following message, or similar: Error: Internal error occurred: error applying patch: conflict: fragment line does not match src line. If such a message appears, then retry in a little while, as this error may resolve itself. Restarting Porch may also help.

  • During specialization, we may have duplicate parameterRef extensions, leading to failed deployments (the wrong configurations are generated). The current workaround is to redeploy the package. The bug is due to the NFDeploy reconciliation not being idempotent.

  • The free5GC operator may create duplicate entries in the SMF function configuration. This will not do any harm, but is nevertheless incorrect.

  • Links in the documentation may not render in GitHub, due to the limitations of the tool being used for web-based documentation.