Ansible automation¶
| Version | 2.0.0 (tag v2.0.0-release, 2026-10-23) |
| Repository | oop/deploy/ansible |
| Changes | r1-final...v2.0.0-release |
The Ansible automation gives each operator in an inventory its own OpenOP platform on its own Kubernetes cluster, using the oop-platform 2.0.0 Helm chart. It then federates the operators and runs end-to-end tests across them. A disposable lab runs the same tests locally and in GitLab CI.
New in this release¶
The playbooks are under ansible/ in the repository:
| Step | Playbook | What it does |
|---|---|---|
| 0 (optional) | playbooks/infrastructure/k3s/deploy.yml |
Installs k3s (v1.36.5+k3s1 by default) and Helm on plain Ubuntu VMs |
| 1 | playbooks/scenarios/r2_existing_cluster/deploy.yml |
Per operator: namespace, encryption keys, the oop-platform release and the SRM bootstrap |
| 2 | playbooks/scenarios/r2_existing_cluster/federate.yml |
Registers partners, grants agreements and creates federations |
| 3 | playbooks/scenarios/r2_existing_cluster/e2e.yml |
Runs the end-to-end tests |
| – | playbooks/scenarios/r2_existing_cluster/undeploy.yml |
Removes the Helm release |
| – | playbooks/infrastructure/k3s/undeploy.yml |
Deletes the k3s cluster (needs -e k3s_confirm_uninstall=true) |
Steps 0 to 3 can be run again safely. Each platform answers on four NodePorts: Keycloak 30081, Portal 30082, OEG 32263 and the FM EWBI 30989.
- SRM bootstrap from the inventory. The role builds the whole TF-SDK bootstrap and its credential mounts from
oop_platform_bootstrap. - End-to-end tests (
tests/r2_e2e/) cover platform security, the application catalogue, the workload lifecycle (container and Helm), QoD, location and Traffic Influence through the EURECOM NEF, and federation between two operators.-e e2e_suite=onboardingruns the catalogue tests alone. - Disposable lab (
ci/run_platform_lab.sh) with three variants: core platform, Helm applications, and the EURECOM network with a simulated device. It runs the same way locally and in CI. - Release feature report. A CI job builds an HTML and JSON matrix of the features each lab variant proved.
- Reading material: E2E tests, explained, the check catalogue and the TF-SDK support matrix.
To use it, follow Deploy with Ansible.
Breaking changes¶
- The Release 1 automation is removed: kind, the MongoDB-based components, i2Edge and lite2edge, the Artefact Manager, Zot, Homer, Prometheus, DEMAS and the docker-compose stacks. It stays available at tag
r1-final. - New inventory. Start from
inventory/r2.example.yml; Release 1 inventories do not apply. - One source for SRM control paths:
oop_platform_bootstrap. Do not also passcontrolPaths,topologyorcontrolPathCredentialsin chart values. - No image builds. Every component image must already exist, pinned by tag.
Upgrade notes¶
- Copy
inventory/r2.example.ymltoinventory/r2.local.yml, which git ignores. - Install
requirements.txt(Ansible 13, ansible-core 2.20) and thekubernetes.corecollection. - Create the Secrets that
oop_platform_bootstraprefers to in the SRM namespace before deploying. - For in-cluster workloads, set
workloads.namespaces. Declaring a control path does not grant RBAC permissions.
Known limitations¶
- No TLS, DNS, ingress or container registry is set up.
- The network checks prove the subscriptions sent to the NEF and their cleanup, not radio QoS, packet steering, notification delivery or positioning accuracy.
- Not covered by the lab: Open5GS and Open5GCore, browser login, the Portal, AI², the Data Lab, federation (run
e2e.ymlon your own clusters for it) and multi-cluster runs. - The bootstrap is not checked against backend health or credential validity.