Release 2.0.0

Release 2.0.0

Merges develop into main for Release 2. FM is a full rewrite: a FastAPI service that speaks the GSMA OPG.04 E/WBI to partner operators and takes its work from SRM and OEG. The R1 Connexion stack is gone (!12 (merged)).

flowchart LR
  OEG["OEG"] -- "HTTP /internal<br/>partners, agreements, federation, identity" --> FM
  SRM["SRM"] -- "HTTP /internal<br/>onboard, deploy, terminate, instances, zones" --> FM
  FM["Federation Manager 2.0.0"] -- "E/WBI (OPG.04)<br/>OAuth2 client credentials" --> P["partner FM"]
  P -- "E/WBI + callbacks<br/>token must carry our audience" --> FM
  FM --> DB[("fm database<br/>Alembic migrations")]

/internal listens on its own port and never on the EWBI one (!33 (merged)).

What changed since v1.0.0-release

Federation lifecycle

  • FastAPI rewrite with the OPG.04 E/WBI surface, OAuth2 and the SRM command loop (!11 (merged)), aligned with GSMA and wired through SRM (!10 (merged)).
  • Partner registration admin API (!20 (merged)); the partner client secret is accepted by value and stored encrypted (!30 (merged)).
  • GetFederationDetails answered as the partner (!21 (merged)); onPartnerStatusEvent callbacks received (!22 (merged)).
  • Recovery from stale federated state (!26 (merged)).
  • Our identity on GET /internal/identity (!28 (merged)).

Zones and agreements

  • Our own zones offered to partners (!23 (merged)), the zone subscription flow (!24 (merged)), and sync of partner zones with clean-up of ended subscriptions (!36 (merged)).
  • Partner agreements through the internal API (!35 (merged)); one agreement per partner, edited in place (!40 (merged)).
  • Zone changes pushed on validity dates and retried, and withdrawn subscriptions released (!41 (merged)).

Applications

Security and operations

Tested

develop at 853bb20f (image ci-develop-853bb20f, pipeline green), deployed fresh with Helm 2.0 on the i2cat three-operator test environment on 2026-10-23 and federated pairwise:

  • Ansible R2 e2e suite: 23/23 passed. Covers EWBI auth (no token, wrong Keycloak, another partner's federation), federation through OEG, a federation that survives an FM restart, ending and re-establishing a federation, and partner zones.
  • Agreements and instances suite: 10/10 passed. Covers the second agreement refused with 409 and relayed by OEG, PATCH in place, end and start dates, a missed withdrawal resent, a token without our audience refused, a federated deploy from operator 1 onto operator 2's zone with the requested names kept, and a delete on both sides.

After merging

Tag v2.0.0 and publish the image as labs.etsi.org:5050/oop/code/federation-manager:2.0.0, which the Helm chart defaults to. CI doesn't push that tag on its own.

Merge request reports

Loading
Loading