Skip to content

Add free5GC as an example CNF#2377

Open
marketa-zejdova wants to merge 4 commits intomainfrom
feature/free5gc-example-cnf
Open

Add free5GC as an example CNF#2377
marketa-zejdova wants to merge 4 commits intomainfrom
feature/free5gc-example-cnf

Conversation

@marketa-zejdova
Copy link
Copy Markdown
Collaborator

Description

Introduce free5GC as an example CNF that is fully deployable and testable via the CNTi test suite.

Issues:

Refs: #2374

How has this been tested:

  • Covered by existing integration testing
  • Added integration testing to cover
  • Verified all A/C passes
    • develop
    • master
    • tag/other branch
  • Test environment
    • Shared Packet K8s cluster
    • New Packet K8s cluster
    • Kind cluster
  • Have not tested

Types of changes:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Checklist:

Documentation

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • No updates required.

Code Review

  • Does the test handle fatal exceptions, ie. rescue block

Issue

  • Tasks in issue are checked off

@collivier
Copy link
Copy Markdown
Collaborator

@marketa-zejdova could we leverage public helm charts instead of duplicating all files in our tree ?

@collivier
Copy link
Copy Markdown
Collaborator

+ it would be great to cover this example cnf via gate jobs

@marketa-zejdova
Copy link
Copy Markdown
Collaborator Author

@marketa-zejdova could we leverage public helm charts instead of duplicating all files in our tree ?

For now, I used a local copy of the free5GC Helm chart as a temporary solution. The upstream chart is still missing some changes needed for this deployment to work reliably (mainly MongoDB storage and kind compatibility).

I also had to make a few adjustments on our side to get it running on kind.

Because of that, I didn’t want to pull the chart directly from their development branch, as it could introduce breaking changes.

I agree that copying the chart is not ideal long-term. Would it be better to reference a public Helm repository here, or possibly publish a stabilized version of this chart somewhere (if we have an internal Helm registry)?

@marketa-zejdova
Copy link
Copy Markdown
Collaborator Author

marketa-zejdova commented Apr 16, 2026

  • it would be great to cover this example cnf via gate jobs

I agree this would be useful. We are planning to handle it in a follow-up PR.

Comment thread example-cnfs/free5gc/README.md Outdated

Additionally, the following adjustments were made to container startup configuration:

- Removed the `/sbin/tini` entrypoint from multiple container deployments
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why exactly is this needed? What issues does this address? That does not make sense to me on a first glance.

Comment thread example-cnfs/free5gc/README.md Outdated
This example is intended as a **reference CNF deployment** for testing purposes and has several limitations:

- **Privileged networking requirements**
- The UPF requires advanced networking capabilities (e.g., IP forwarding)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Elaborate more in details what do you mean by this. What is impact on CNTi tests?

Comment thread example-cnfs/free5gc/README.md Outdated
- This may conflict with strict Kubernetes security policies

- **Potential CNTi test failures**
- Some certification tests (e.g., related to privileged containers or security contexts) may fail due to the networking requirements of free5GC
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean "may fail"? We should know cert test execution results of Free5GC. Be more specific. List tests that fail and reasoning.

kubeadmConfigPatches:
- |
kind: KubeletConfiguration
allowedUnsafeSysctls:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does control plane really require this?

Copy link
Copy Markdown
Collaborator Author

@marketa-zejdova marketa-zejdova Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the allowedUnsafeSysctls the upf pods fail after cnf_install with SysctlForbidden

sysctlForbidden sysctlForbidden

@marketa-zejdova marketa-zejdova force-pushed the feature/free5gc-example-cnf branch from 40c9b18 to 7153c56 Compare April 28, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants