WORK IN PROGRESS
Introduction: A1-PMS Compliance with O-RAN Specifications
The A1 Policy Management System (A1-PMS) plays a crucial role in managing policies and configurations within the O-RAN network architecture. As the O-RAN Alliance continually refines its specifications, it becomes essential to assess how well A1-PMS adheres to these evolving standards. In this discussion, I will make the comparison between the latest O-RAN API specifications and the upstream OpenAPI specifications utilized for implementing A1-PMS. Trying to examine the alignment, discrepancies, and potential areas for improvement.
Topics: optional parameters, what can be unimplementable
Simple Comparison of OpenAPI Specifications
I identidy as openapi-oran.yaml the specifications given by O-Ran Alliance revised on 31/03/2024, and openapi.yaml the upstream openapi specifications upstream in the /api folder.
Paths
openapi-oran.yaml Paths:
/policytypes
/policytypes/{policyTypeId}
/policytypes/{policyTypeId}/policies
/policytypes/{policyTypeId}/policies/{policyId}
/policytypes/{policyTypeId}/policies/{policyId}/status
openapi.yaml Paths:
/a1-policy/v2/policy-instances
/a1-policy/v2/policy-types
/a1-policy/v2/policies/{policy_id}
/a1-policy/v2/configuration
/a1-policy/v2/services/{service_id}/keepalive
/a1-policy/v2/services
/a1-policy/v2/policy-types/{policytype_id}
/a1-policy/v2/policies
/a1-policy/v2/services/{service_id}
/a1-policy/v2/policies/{policy_id}/status
Components
openapi-oran.yaml Components:
- Schemas:
PolicyObject
PolicyStatusObject
PolicyTypeObject
ProblemDetails
JsonSchema
NotificationDestination
PolicyId
PolicyTypeId
openapi.yaml Components:
- Schemas:
policy_type_definition
error_information
void
status_info
authorization_result
ric_info
service_registration_info
policy_info_list
policy_status_info
service_status
ric_info_list
input
policy_authorization
policy_type_id_list
policy_info
policy_id_list
service_status_list
service_callback_info_v2
Simple Analysis
Paths Analysis
- Both specifications provide endpoints for managing policies and policy types, but the structure and naming conventions differ.
- openapi-oran.yaml has a simpler path structure centered around
policytypes
and nested resources withinpolicytypes
. - openapi.yaml includes a more complex path structure under the
/a1-policy/v2
prefix, indicating versioning and a potentially more hierarchical and service-oriented approach.
Components Analysis
- openapi-oran.yaml has a focused set of schemas primarily around policies (
PolicyObject
,PolicyStatusObject
,PolicyTypeObject
) and identifiers. - openapi.yaml has a more extensive and varied set of schemas including policy information, RIC (Radio Interface Controller) information, and service registration, suggesting a broader scope.
- The schemas in openapi.yaml appear to cater to a more granular level of API operations with various status and info objects (
policy_status_info
,service_status
,ric_info_list
).
Summary
- Paths: The
openapi-oran.yaml
specification uses a simpler, less hierarchical path structure, whereasopenapi.yaml
uses a more complex, versioned path structure indicating a possibly broader and more modular API. - Components: The
openapi-oran.yaml
has fewer and more policy-focused components, whileopenapi.yaml
offers a wider range of schemas supporting more detailed interactions with policies and related services.