Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • xapp_name: this is the unique identifier to address an xApp. A valid xApp descriptor must includes the xapp\_name attribute. The following is an example.

    Code Block
    "xapp_name": "example_xapp"


  • version: this is the semantic version number of the xApp descriptor. It defines the version numbers of the xApp artifacts (e.g., xApp helm charts) that will be generated from the xApp descriptor. Together with the xapp\_name, they defines the unique identifier of an xApp artifact that can be on-boarded, distributed and deployed. The following is an example.

    Code Block
    "version": "1.0.0"


  • containers: This section defines a list of containers that the xApp will run. For each container, a structure that defines the container name, image registry, image name, image tag and , the command that it runs is , and container http and rmr service ports are required. The following is an example that defines two containers.

    Code Block
        "containers": [
            {
                "name": "example_container_1",
                "image": {
                    "registry": "example_image_registry_1",
                    "name": "example_image_name_1",
                    "tag": "example_image_tag_1"
            },
           },  "command": "example_command_1",
            "ports":{
                "commandhttp": 8080,
                "examplermr_command_1"
    data": 4560,
                 },
    "rmr_route": 4561
            }
        {},
        {
            "name": "example_container_2",
                "image": {
                    "registry": "example_image_registry_2",
                "name": "example_image_name_2",
                "nametag": "example_image_nametag_2",
            },
            "tagcommand": "example_image_tagcommand_2",
            "ports":{
                "http": }8080,
                "commandrmr_data": 4560,
                "examplermr_command_2"route": 4561
            }
        }
    ]


  • controls: The control section holds the configuration data that are visible to the external network management systems (NMS) and can be configured via Portal or SMO through CM O1 interface. The initial configuration of xApp is defined in the xApp descriptor and created during xApp deployment. Therefore, the configuration can only be uploaded and modified via Portal or SMO. The following is an example.

    Code Block
        "controls": {
            "active": True,
            "requestorId": 66,
            "ranFunctionId": 1,
            "ricActionId": 0,
            "interfaceId": {
                "globalENBId": {
                    "plmnId": "310150",
                    "eNBId": 202251
                }
            }
        }


  • metrics: The metrics section of the xApp descriptor holds information about metrics provided by the xApp. These information include the \textit{name}, \textit{type} and \textit{description} of each counter. The metrics section is required by VESPA manager (RIC platform component) and the actual metrics data are exposed to external servers via Prometheus/VESPA interface. The following is an example.

    Code Block
        "metrics": [
            {
                "objectName": "UEEventStreamingCounters",
                "objectInstance": "SgNBAdditionRequest",
                "name": "SgNBAdditionRequest",
                "type": "counter",
                "description": "The total number of SG addition request events processed"
            },
            {
                "objectName": "UEEventStreamingCounters",
                "objectInstance": "SgNBAdditionRequestAcknowledge",
                "name": "SgNBAdditionRequestAcknowledge",
                "type": "counter",
                "description": "The total number of SG addition request acknowledge events processed"
            }
        ]


  • internal xApp parameters sections: the xApp descriptor can include arbitrary number of xApp defined parameters sections that contains the configurations that will only be consumed by the xApp containers. The xApp descriptor will be injected into the contianer as a JSON file, and an environment variable XAPP_DESCRIPTOR_PATH will point to the directory where the JSON file is mounted. The following is an example.

    Code Block
        "logger": {
            "level": 3
        }


...