Nephio R1 Release Notes

Overview

Prerequisites

See the Install Guide for the prerequisites for the supported environments.

Support matrix

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

  • Ubuntu-20.04-focal Linux
  • 8 cores
  • 32 GB memory
  • 200 GB disk size
  • default user with sudo passwordless permissions

This install has been verified on VMs running on Google Cloud, OpenStack, AWS, vSphere, and Azure. It has also been verified on Vagrant VMs running on Windows and Linux.

For non-sandbox installations, any conforming Kubernetes cluster is sufficient for the management cluster.

Features

API

CRDs are provided for the UPF, SMF, and AMF 5G Core services.

Web UI

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

Packages

The following packages are supported:

  • Kpt packages for all free5GC 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:

  • Create Kubernetes clusters. This functionality is based on the Cluster API. Currently, only Kubernetes in Docker (KIND) cluster creation is supported.
  • Fully automated deployment of the UPF, SMF, and AMF services of free5GC. These are deployed on multiple clusters based on the user’s intent, expressed via the CRDs.
  • Deployment of other free5GC functions.
  • Autoscaling up of the UPF, SMF, and AMF services based on changes to the capacity requirements expressed as user intent.

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 and editing of packages, as well as the 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

  • When deploying the sandbox environment on an Ubuntu VM running on OpenStack, the deployment may fail. Reinstalling the packages will get around this issue.

  • Packages may take time to be approved by the auto-approval controller. If they appear to have frozen, it may help to restart the 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 kpt alpha 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.