JSON schema is used to describe the attributes and values in the xApp descriptor JSON file. The xApp onboarding process verifies the types and values of the xApp parameters in the descriptor.
If mismatches are found, xApp onboarding will return failure.
The schema file consists of two parts: sections that are static and cannot be changed for different xApp, and xApp specific controls section.
When an operator is onboarding an xApp that defines a control section, he/she will provide the controls section schema with together with the xApp descriptor.
The xapp_onboarder will combine the schema files into one.
How to Create Schema for the Controls Section
You can submit arbitrary schema for the controls section. However, if the xApp descriptor contains a controls section, you have to provide the correct schema that describes it.
If the xApp does not require a control section, you can ignore the control section schema.
It is highly recommended to use draft-07 schema. The following is a skeleton schema that you can use
Please include the list of required items in the required section, and provide the corresponding sub_schema in the properties section.
You can download the skeleton schema file here
xApp Descriptor Schema
The overall schema file includes the following sections.
xapp_name: xapp_name is a string variable. properties are as follows.
version: version is a string variable that follows the semantic versioning syntax.
containers: containers is a list of container objects that includes name of the container, container image name, registry, tag, and entry command . It has a structure of
The following schema defines the above structure
livenessProbe: livenessProbe defines the k8s liveness probe for the xApp pod. It follows the following schema
readinessProbe: readinessProbe defines the k8s readiness probe for the xApp pod. It follows the following schema
messaging: this schema defines the messaging parameters structure
metrics: this schema defines the metrics structure
Controls: This section will be replaced by the submitted control section schema. If the controls section schema is not provided, the following will be used to make sure that the xApp onboarder will reject an xApp descriptor with an undefined control section.
You can download the schema file here