[{"label":"Latest (0.1.0)","version":"latest"}]

Configuration Management Interface latest

The Configuration Management Interface (cmi) provides a producing data source for reading and writing CM data in the R1 environment.

The cmi provides a pre-release API that is expected to change as O-RAN Alliance standards mature.

It allows getting and setting individual CM values for individual cells as well as settting multiple values for one or more cells.

The service is accessible as a direct data type (that is, once data-type discovery via the dms has been used to find the service) and via job requests mediated by the Data Management Service (dms).

Three data-types are exposed:

  • cmread_direct: Read one parameter for one cell.
  • cmwrite_direct: Write one parameter for one cell.
  • cmwrite: Write multiple parameters for one or more cells.

The _direct types may, as the name implies, be used directly (that is with direct HTTP requests to cmi) from an rApp once the consuming rApp has discovered the type and the URI of an available producer.

cmwrite is used by creating jobs on the dms and asynchronously waiting to be notified of results.


  • The data format used for representing CM parameters is a simple format designed to allow early experimentation prior to a standard being formalized by the O-RAN alliance. It may be insufficiently expressive for some use cases. Please provide feedback when this is the case.

  • These formats are likely to change.

  • The cmwrite format is designed to allow ordered collections of multiple CM changes to a mix of cells and parameters. Depending on the CM system behind the CMI, the collections can be associated with an optional policy, TRANSACTION or NON_TRANSACTION, which describes what happens in the event of one or more failures in the changes in the collection. With NON_TRANSACTION partial failures are allowed. With TRANSACTION, if the backend supports it, a rollback will be attempted when there is any failure.

    Each change in a collection may be associated with an optional operation: set, add, remove. These mean:

    • set: The stored value is changed to the provided value.
    • add: The stored value is updated to have the provided value or values (if it is a list) added if it is not already present.
    • remove: The stored value is updated to have all entries of the provided value or values removed.

    add and remove only work for values that are already in list form (including an empty list).

    The behavior of add and remove results in list values being de-duplicated. If duplicate values are required, set must be used.

[{"label":"Latest (0.1.0)","version":"latest"}]

Was this page helpful?