From da70cc89b67899732a554ca7012dc6a2825fd146 Mon Sep 17 00:00:00 2001 From: Zhe Date: Tue, 9 Jun 2020 12:54:33 -0400 Subject: [PATCH] Add xapp onboarder guide document Signed-off-by: Zhe Change-Id: I095459ea8e914f4db88ebfb26b5871c476651362 --- docs/_static/css/s4defs-roles.css | 316 ++++++++++++++++++ docs/conf.py | 9 + docs/developer-guide.rst | 102 ------ docs/index.rst | 20 +- docs/overview.rst | 17 - docs/release-notes.rst | 27 -- docs/xapp_onboarder/guide/config-file.json | 100 ++++++ docs/xapp_onboarder/guide/descriptor.rst | 200 ++++++++++++ docs/xapp_onboarder/guide/embedded-schema.json | 435 +++++++++++++++++++++++++ docs/xapp_onboarder/guide/example.rst | 37 +++ docs/xapp_onboarder/guide/schema.rst | 50 +++ docs/xapp_onboarder/guide_index.rst | 18 + docs/xapp_onboarder/images/onboard.png | Bin 0 -> 127678 bytes docs/{ => xapp_onboarder}/images/xapp-flow.png | Bin docs/xapp_onboarder/index.rst | 16 + docs/xapp_onboarder/overview.rst | 58 ++++ tox.ini | 2 + 17 files changed, 1253 insertions(+), 154 deletions(-) create mode 100644 docs/_static/css/s4defs-roles.css delete mode 100644 docs/developer-guide.rst delete mode 100644 docs/overview.rst delete mode 100644 docs/release-notes.rst create mode 100644 docs/xapp_onboarder/guide/config-file.json create mode 100644 docs/xapp_onboarder/guide/descriptor.rst create mode 100644 docs/xapp_onboarder/guide/embedded-schema.json create mode 100644 docs/xapp_onboarder/guide/example.rst create mode 100644 docs/xapp_onboarder/guide/schema.rst create mode 100644 docs/xapp_onboarder/guide_index.rst create mode 100644 docs/xapp_onboarder/images/onboard.png rename docs/{ => xapp_onboarder}/images/xapp-flow.png (100%) create mode 100644 docs/xapp_onboarder/index.rst create mode 100644 docs/xapp_onboarder/overview.rst diff --git a/docs/_static/css/s4defs-roles.css b/docs/_static/css/s4defs-roles.css new file mode 100644 index 0000000..f47492d --- /dev/null +++ b/docs/_static/css/s4defs-roles.css @@ -0,0 +1,316 @@ +.black { + color: black; +} + +.gray { + color: gray; +} + +.grey { + color: gray; +} + +.silver { + color: silver; +} + +.white { + color: white; +} + +.maroon { + color: maroon; +} + +.red { + color: red; +} + +.magenta { + color: magenta; +} + +.fuchsia { + color: fuchsia; +} + +.pink { + color: pink; +} + +.orange { + color: orange; +} + +.yellow { + color: yellow; +} + +.lime { + color: lime; +} + +.green { + color: green; +} + +.olive { + color: olive; +} + +.teal { + color: teal; +} + +.cyan { + color: cyan; +} + +.aqua { + color: aqua; +} + +.blue { + color: blue; +} + +.navy { + color: navy; +} + +.purple { + color: purple; +} + +.under { + text-decoration: underline; +} + +.over { + text-decoration: overline; +} + +.blink { + text-decoration: blink; +} + +.line { + text-decoration: line-through; +} + +.strike { + text-decoration: line-through; +} + +.it { + font-style: italic; +} + +.ob { + font-style: oblique; +} + +.small { + font-size: small; +} + +.large { + font-size: large; +} + +.smallpar { + font-size: small; +} + + +/* Style pour les badges en bas de la page. */ + +div.supportBadges { + margin: 1em; + text-align: right; +} + +div.supportBadges ul { + padding: 0; + display: inline; +} + +div.supportBadges li { + display: inline; +} + +div.supportBadges a { + margin-right: 1px; + opacity: 0.6; +} + +div.supportBadges a:hover { + opacity: 1; +} + + +/* Details elements in the sidebar */ + +a.reference { + border-bottom: none; + text-decoration: none; +} + +ul.details { + font-size: 80%; +} + +ul.details li p { + font-size: 85%; +} + +ul.externallinks { + font-size: 85%; +} + + +/* Pour le drapeau de langue */ + +img.languageswitch { + width: 50px; + height: 32px; + margin-left: 5px; + vertical-align: bottom; +} + +div.sphinxsidebar { + overflow: hidden !important; + font-size: 120%; + word-wrap: break-word; + width: 300px; + max-width: 300px; +} + +div.sphinxsidebar h3 { + font-size: 125%; +} + +div.sphinxsidebar h4 { + font-size: 110%; +} + +div.sphinxsidebar a { + font-size: 85%; +} + + +/* Image style for scrollUp jQuery plugin */ + +#scrollUpLeft { + bottom: 50px; + left: 260px; + height: 38px; + width: 38px; + background: url('//perso.crans.org/besson/_images/.top.svg'); + background: url('../_images/.top.svg'); +} + +@media screen and (max-width: 875px) { + #scrollUpLeft { + right: 50px; + left: auto; + } +} + + +/* responsive for font-size. */ + +@media (max-width: 875px) { + body { + font-size: 105%; + /* Increase font size for responsive theme */ + } +} + +@media (max-width: 1480px) and (min-width: 876px) { + body { + font-size: 110%; + /* Increase font size for not-so-big screens */ + } +} + +@media (min-width: 1481px) { + body { + font-size: 115%; + /* Increase even more font size for big screens */ + } +} + + +/* Social Icons in the sidebar (available: twitter, facebook, linkedin, google+, bitbucket, github) */ + +.social-icons { + display: inline-block; + margin: 0; + text-align: center; +} + +.social-icons a { + background: none no-repeat scroll center top #444444; + border: 1px solid #F6F6F6; + border-radius: 50% 50% 50% 50%; + display: inline-block; + height: 35px; + width: 35px; + margin: 0; + text-indent: -9000px; + transition: all 0.2s ease 0s; + text-align: center; + border-bottom: none; +} + +.social-icons li { + display: inline-block; + list-style-type: none; + border-bottom: none; +} +.social-icons li a { + border-bottom: none; +} + +.social-icons a:hover { + background-color: #666666; + transition: all 0.2s ease 0s; + text-decoration: none; +} + +.social-icons a.facebook { + background-image: url('../_images/.facebook.png'); + background-image: url('//perso.crans.org/besson/_images/.facebook.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} + +.social-icons a.bitbucket { + background-image: url('../_images/.bitbucket.png'); + background-image: url('//perso.crans.org/besson/_images/.bitbucket.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} + +.social-icons li a.github { + background-image: url('../_images/.github.png'); + background-image: url('//perso.crans.org/besson/_images/.github.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} + +.social-icons li a.wikipedia { + background-image: url('../_images/.wikipedia.png'); + background-image: url('//perso.crans.org/besson/_images/.wikipedia.png'); + display: block; + margin-left: auto; + margin-right: auto; + background-size: 35px 35px; +} diff --git a/docs/conf.py b/docs/conf.py index 0b88dfc..443da2a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -21,3 +21,12 @@ linkcheck_ignore = [ 'https://gerrit.o-ran-sc.org.*' ] +rst_prolog = """ +.. include:: +.. default-role:: + +""" + +html_css_files = ['css/s4defs-roles.css'] + +extensions = ['sphinxcontrib.contentui'] diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst deleted file mode 100644 index 4b148a1..0000000 --- a/docs/developer-guide.rst +++ /dev/null @@ -1,102 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. -.. Copyright (C) 2019 AT&T Intellectual Property - -Developer-Guide -=============== - -.. contents:: - :depth: 3 - :local: - -Overview ---------- - -The introduction of a new xApp to Near Realtime RIC consists of a number of steps: - -1. xApp developer implements the xApp and packaging into a docker container; -2. xApp developer creates a "descriptor" for the xApp describing how it can be configured; -3. the xApp developer generates a testing Helm chart using tools provided in this repo and test xApp in a Kubernetes/Helm environment; -4. the xApp developer submits the xApp "descriptor" along with the container image for on-boarding. - -At deployment time, the descriptor and the container image of an already on-boarded xApp are applied to a standard Helm chart for the generation of the Helm chart for the xApp. Such Helm chart is pushed to the private Helm repository of the xApp Manager of the Near Realtime RIC Platform. - -The image below depicts this workflow. - -.. image:: images/xapp-flow.png - :scale: 50 % - :align: center - - -xApp Descriptor ---------------- -An xApp's descriptor consists of two files, a config-file.json file and a schema.json file which provides the schema definition of the config-file.json file. - -An example pair of config and schema files can be found at the ric-app/admin repo, under its init directory: -https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/admin.git;a=tree;f=init;hb=HEAD - - - -Generating Helm Charts ----------------------- -The ric-xapp/bin/install script is provided for generating the xApp Helm chart. - -The scrip will insert the xApp descriptor files into the standard xApp helm chart template, package it, and upload it to a Helm repository. - -Prerequisites: -- config-file.json file from the xApp descriptor; -- schema.json file from the xApp descriptor; -- full path with tag of the docker image of the xApp; -- a recipe file that contains the full URL of the helm repo; -- username and password of the helm repo. - -Parameters: - -+------------+----------------------------------------------------+ -| option | Description | -+============+====================================================+ -|-n |name of the xApp | -+------------+----------------------------------------------------+ -|-v | version of the helm chart | -+------------+----------------------------------------------------+ -|-f | path of the recipe that contains the helm repo URL | -+------------+----------------------------------------------------+ -|-I | full docker image path | -+------------+----------------------------------------------------+ -|-d | path to the schema.json file | -+------------+----------------------------------------------------+ -|-c | path to the config-file.json file | -+------------+----------------------------------------------------+ -|-h | helm repo username | -+------------+----------------------------------------------------+ -|-p | helm repo password | -+------------+----------------------------------------------------+ - - -Below is an example of the recipe file that specifies the Helm repo parameters: -:: - - global: - # Docker registry from which RIC platform components pull the images - repository: nexus3.o-ran-sc.org:10004 - # Name of the K8S docker credential that is onboarded by 20-credential - repositoryCred: docker-reg-cred - # Docker image pull policy - imagePullPolicy: Always - # Helm repo that will be used by xApp manager - helmRepository: "https://helm-entry" - # Certificate of the helm repo - helmRepositoryCert: xapp-mgr-certs - # Name of the K8S secret that contains the credential of the helm repo - helmRepositoryCred: xapp-mgr-creds - # The name of the tiller that xApp helm client talks to - - -The resultant Helm chart is available at /tmp/{{chart-name}}-{{chart-version}}.tgz. This file can be uploaded yo Helm chart using an API call that the Helm chart repo supports. For example, the following command applies to a Chart Museum type of Helm repo: -:: - - curl -Lk -u $HELM_REPO_USERNAME:$HELM_REPO_PASSWORD "$HELM_REPO"/api/charts --data-binary "@/tmp/$CHART_NAME-$CHART_VERSION.tgz" - - - diff --git a/docs/index.rst b/docs/index.rst index 0bc154d..127308f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -7,14 +7,18 @@ Welcome to O-RAN SC Integratoin for xApp Development Documentation ================================================================== +The it/dev repo is used by the O-RAN SC Integration and Testing project for hosting miscellaneous development codes. +This repo contains integration artifacts for developing Near Realtime RAN Intelligent Controller applications (xApps). + +Because the life cycles of Near Realtime RIC xApps are managed by Near Realtime RIC +Platform, the xApps are expect to conform with certain behavioral patterns and provide +well-described interfaces. The artifacts here help the xApp developers to generate (Near Realtime) RIC Platform deployment ready Helm charts for their xApps. + + +The following is a list of projects hosted by this repo. + .. toctree:: - :maxdepth: 2 - :caption: Contents: + :maxdepth: 1 - overview.rst - developer-guide.rst - release-notes.rst + xapp_onboarder/index.rst -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/overview.rst b/docs/overview.rst deleted file mode 100644 index 4b8e427..0000000 --- a/docs/overview.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. SPDX-License-Identifier: CC-BY-4.0 -.. -.. Copyright (C) 2019 AT&T Intellectual Property - - -Overview -====================== - -The it/dev repo is used by the O-RAN SC Integration and Testing project for hosting miscellaneous development codes. - -For Amber release this repo contains integration artifacts for developing Near Realtime RAN Intelligent Controller applications (xApps). - -Because the life cycles of Near Realtime RIC xApps are managed by Near Realtime RIC -Platform, the xApps are expect to conform with certain behavioral patterns and provide -well-described interfaces. The artifacts here help the xApp developers to generate (Near Realtime) RIC Platform deployment ready Helm charts for their xApps. - diff --git a/docs/release-notes.rst b/docs/release-notes.rst deleted file mode 100644 index d14acbe..0000000 --- a/docs/release-notes.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. -.. Copyright (C) 2019 AT&T Intellectual Property - - -Release-Notes -============= - - -This document provides the release notes for O-RAN SC Amber release of it/dev. - -.. contents:: - :depth: 3 - :local: - - - -Integration Development for xApps -================================== - -Version 1.0.0, Nov 11, 2019 ---------------------------- -* Standard Near Realtime RIC xApp Helmm chart -* Scripts for on-board a Near Realtime RIC xApp - - diff --git a/docs/xapp_onboarder/guide/config-file.json b/docs/xapp_onboarder/guide/config-file.json new file mode 100644 index 0000000..fcec5db --- /dev/null +++ b/docs/xapp_onboarder/guide/config-file.json @@ -0,0 +1,100 @@ +{ + "xapp_name": "mcxapp", + "version": "1.0.2", + "containers": [ + { + "name": "mcxapp", + "image": { + "registry": "nexus3.o-ran-sc.org:10002", + "name": "o-ran-sc/ric-app-mc", + "tag": "1.0.2" + }, + "command": "/playpen/bin/container_start.sh" + } + ], + "livenessProbe": { + "exec": { + "command": ["/usr/local/bin/health_ck"] + }, + "initialDelaySeconds": 5, + "periodSeconds": 15 + }, + "readinessProbe": { + "httpGet": { + "path": "ric/v1/health/alive", + "port": 8080 + }, + "initialDelaySeconds": 5, + "periodSeconds": 15 + }, + "messaging": { + "ports": [ + { + "name": "http", + "container": "mcxapp", + "port": 8080, + "description": "http service" + }, + { + "name": "rmr-data", + "container": "mcxapp", + "port": 4560, + "txMessages": + [ + "RIC_SUB_REQ", + "RIC_SUB_DEL_REQ" + ], + "rxMessages": + [ + "RIC_SUB_RESP", + "RIC_SUB_FAILURE", + "RIC_SUB_DEL_RESP", + "RIC_INDICATION" + ], + "policies": [1,2], + "description": "rmr data port for mcxapp" + }, + { + "name": "rmr-route", + "container": "mcxapp", + "port": 4561, + "description": "rmr route port for mcxapp" + } + ] + }, + "controls": { + "active": true, + "interfaceId": { + "globalENBId": { + "plmnId": 123456, + "eNBId": 5678 + } + }, + "ves_collector_address": "xapp-sandbox2.research.att.com:8888", + "measurement_interval": 10000, + "simulator_mode": "true", + "debug_mode": "true", + "local": { + "host": ":8080" + }, + "logger": { + "level": 3 + } + }, + "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" + } + ] +} \ No newline at end of file diff --git a/docs/xapp_onboarder/guide/descriptor.rst b/docs/xapp_onboarder/guide/descriptor.rst new file mode 100644 index 0000000..89f579c --- /dev/null +++ b/docs/xapp_onboarder/guide/descriptor.rst @@ -0,0 +1,200 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +xApp descriptor +=============== + + +Introduction +------------ + +The xApp descriptor is provided by the xApp developer. xApp descriptor includes all the basic and essential information for the RIC platform to manage the life cycle of the xApp. Information and configuration included in the xApp descriptor will be used to generate the xApp helm charts and define the data flows to the north and south bound traffics. xApp developer can also include self-defined internal parameters that will be consumed by the xApp in the xApp descriptor. + +The xApp descriptor comes with a config-file.json file that defines the behavior of the xApp, and optionally a schema.json JSON schema file that validates the self-defined parameters. + +Config File Structure +--------------------- +The xApp descriptor config-file.json file follows a JSON structure. The following are the key sections that defines an xApp. + + +* **xapp_name:** :red:`(REQUIRED)` 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:** :red:`(REQUIRED)` 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:** :red:`(REQUIRED)` 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 defined. :red:`The name and images are REQUIRED.` The command field is optional. 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" + }, + { + "name": "example_container_2", + "image": { + "registry": "example_image_registry_2", + "name": "example_image_name_2", + "tag": "example_image_tag_2" + } + } + ] + + +* **controls:** :green:`(OPTIONAL)` The control section holds the internal configuration of the xApp. Therefore, this section is xApp specific. This section can include arbitrary number of xApp defined parameters. The xApp consumes the parameters by reading the xApp descriptor file that will be injected into the container as a JSON file. An environment variable XAPP_DESCRIPTOR_PATH will point to the directory where the JSON file is mounted inside the container. :red:`If the controls section is not empty, the xApp developer must provide the additional schema file for this controls section.` Please refer to Schema for xApp Descriptor for creating such schema file. The following is an example for the controls section. + + .. code-block:: + + "controls": { + "active": True, + "requestorId": 66, + "ranFunctionId": 1, + "ricActionId": 0, + "interfaceId": { + "globalENBId": { + "plmnId": "310150", + "eNBId": 202251 + } + } + } + + +* **metrics:** :green:`(OPTIONAL)` The metrics section of the xApp descriptor holds information about metrics provided by the xApp. :red:`Each metrics item requires the objectName, objectInstance, name, type and 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" + } + ] + +* **messaging:** :green:`(OPTIONAL)` This section defines the communication ports for each containers. It may define list of RX and TX message types, and the A1 policies for RMR communications implemented by this xApp. Each defined port will creates a K8S service port that are mapped to the container at the same port number. :red:`This section requires ports that contains the port name, port number, which container it is for. For RMR port, it also requires tx and rx message types, and A1 policy list.` + + .. note:: **Stop gap solution for bronze release:** The messaging section replaces the previously RMR section in the xApp descriptor. It requires appmgr to modify its codes to parse the new messaging section. Before the new version of appmgr is released, as a stop gap solution, we will also include a compatible RMR section with the same information in the xApp descriptor. Please refer to the stop-gap-MCxApp descriptor for example. + + + .. warning:: **Choosing port numbers:** In the bronze release appmgr is not consuming the port name defined in the messaging section yet. Please chose to use the default 4560 port for rmr-data and 4561 for rmr-route. + + .. warning:: **Port naming convention:** Kubernetes requires the port name to be DNS compatible. Therefore, please choose a port name that contains only alphabetical characters (A-Z), numeric characters (0-9), the minus sign (-), and the period (.). Period characters are allowed only when they are used to delimit the components of domain style names. + + The following is an example + + .. code-block:: + + "messaging": { + "ports": [ + { + "name": "http", + "container": "mcxapp", + "port": 8080, + "description": "http service" + }, + { + "name": "rmr-data", + "container": "mcxapp", + "port": 4560, + "txMessages": + [ + "RIC_SUB_REQ", + "RIC_SUB_DEL_REQ" + ], + "rxMessages": + [ + "RIC_SUB_RESP", + "RIC_SUB_FAILURE", + "RIC_SUB_DEL_RESP", + "RIC_INDICATION" + ], + "policies": [1,2], + "description": "rmr data port for mcxapp" + }, + { + "name": "rmr-route", + "container": "mcxapp", + "port": 4561, + "description": "rmr route port for mcxapp" + } + ] + }, + +* **liveness probes:** :green:`(OPTIONAL)` The liveness probe section defines how liveness probe is defined in the xApp helm charts. You can provide ether a command or a http helm liveness probe definition in JSON format. :red:`This section requires initialDelaySeconds, periodSeconds, and either httpGet or exec.` + The following is an example for http-based liveness probes. + + .. code-block:: + + "livenessProbe": { + "exec": { + "command": ["/usr/local/bin/rmr_probe"] + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + + + The following is an example for rmr-based liveness probes. + + .. code-block:: + + "livenessProbe": { + "exec": { + "command": ["/usr/local/bin/rmr_probe"] + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + +* **readiness probes:** :green:`(OPTIONAL)` The readiness probe section defines how readiness probe is defined in the xApp helm charts. You can provide ether a command or a http helm readiness probe definition in JSON format. :red:`This section requires initialDelaySeconds, periodSeconds, and either httpGet or exec.` + The following is an example for http-based readiness probes. + + .. code-block:: + + "readinessProbe": { + "httpGet": { + "path": "ric/v1/health/alive", + "port": "8080" + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + + The following is an example for rmr-based readiness probes. + + .. code-block:: + + "readinessProbe": { + "exec": { + "command": ["/usr/local/bin/rmr_probe"] + }, + "initialDelaySeconds": "5", + "periodSeconds": "15" + }, + + diff --git a/docs/xapp_onboarder/guide/embedded-schema.json b/docs/xapp_onboarder/guide/embedded-schema.json new file mode 100644 index 0000000..2e3d889 --- /dev/null +++ b/docs/xapp_onboarder/guide/embedded-schema.json @@ -0,0 +1,435 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://o-ran-sc.org/xapp_root.json", + "type": "object", + "title": "The xApp Root Schema", + "required": [ + "xapp_name", + "version", + "containers" + ], + "properties": { + "xapp_name": { + "$id": "#/properties/xapp_name", + "type": "string", + "title": "The xApp Name", + "default": "xapp", + "examples": [ + "example_xapp" + ] + }, + "version": { + "$id": "#/properties/version", + "type": "string", + "title": "The xApp version", + "default": "1.0.0", + "examples": [ + "1.0.0" + ], + "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$" + }, + "containers": { + "$id": "#/properties/containers", + "type": "array", + "title": "The Container Schema", + "items": { + "$id": "#/properties/containers/items", + "type": "object", + "title": "The Container Items Schema", + "required": [ + "name", + "image" + ], + "properties": { + "name": { + "$id": "#/properties/containers/items/properties/name", + "type": "string", + "title": "The xApp Container Name", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "image": { + "$id": "#/properties/containers/items/properties/image", + "type": "object", + "title": "The Container Image", + "required": [ + "registry", + "name", + "tag" + ], + "properties": { + "registry": { + "$id": "#/properties/containers/items/properties/image/properties/registry", + "type": "string", + "title": "The xApp Image Registry", + "default": "nexus3.o-ran-sc.org:10002", + "examples": [ + "nexus3.o-ran-sc.org:10002" + ], + "pattern": "^[A-Za-z0-9\\.-]{1,}\\.[A-Za-z]{1,}(?:\\:\\d+)?$" + }, + "name": { + "$id": "#/properties/containers/items/properties/image/properties/name", + "type": "string", + "title": "The xApp Image Name", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "tag": { + "$id": "#/properties/containers/items/properties/image/properties/tag", + "type": "string", + "title": "The xApp Image Tag", + "default": "latest", + "examples": [ + "latest" + ] + } + } + }, + "command": { + "$id": "#/properties/containers/items/properties/command", + "type": "string", + "title": "Command To Run The xApp Container", + "default": "command", + "examples": [ + "command" + ] + } + } + } + }, + "livenessProbe": { + "$id": "#/properties/livenessprobe", + "type": "object", + "title": "The Liveness Probe Definition", + "properties": { + "exec": { + "$id": "#/properties/livenessprobe/exec", + "type": "object", + "title": "Script of Liveness Probe", + "properties": { + "command": { + "$id": "#/properties/livenessprobe/exec/command", + "type": "array", + "items": [ + { + "$id": "#/properties/livenessprobe/exec/command/item", + "type": "string", + "title": "The Command Item", + "default": "/bin/sh", + "examples": [ + "/bin/sh" + ] + } + ] + } + }, + "required": [ + "command" + ] + }, + "httpGet": { + "$id": "#/properties/livenessprobe/httpget", + "type": "object", + "title": "Http of Liveness Probe", + "properties": { + "path": { + "$id": "#/properties/livenessprobe/httpget/path", + "type": "string", + "title": "The Path of Http Liveness Probe", + "default": "/health", + "examples": [ + "/health" + ] + }, + "port": { + "$id": "#/properties/livenessprobe/httpget/port", + "type": "integer", + "title": "The Port of Http Liveness Probe", + "default": 80, + "examples": [ + 80 + ] + } + }, + "required": [ + "path", + "port" + ] + }, + "initialDelaySeconds": { + "$id": "#/properties/livenessprobe/initialdelayseconds", + "type": "integer", + "title": "Initial Delay of Liveness Probe", + "default": 5, + "examples": [ + 5 + ] + }, + "periodSeconds": { + "$id": "#/properties/livenessprobe/periodseconds", + "type": "integer", + "title": "Period of Liveness Probe", + "default": 15, + "examples": [ + 15 + ] + } + }, + "oneOf": [ + { + "$id": "#/properties/livenessprobe/oneof/exec", + "required": ["exec", "initialDelaySeconds", "periodSeconds"] + }, + { + "$id": "#/properties/livenessprobe/oneof/httpget", + "required": ["httpGet", "initialDelaySeconds", "periodSeconds"] + } + ] + }, + "readinessProbe": { + "$id": "#/properties/readinessprobe", + "type": "object", + "title": "The Readiness Probe Definition", + "properties": { + "exec": { + "$id": "#/properties/readinessprobe/exec", + "type": "object", + "title": "Script of Readiness Probe", + "properties": { + "command": { + "$id": "#/properties/readinessprobe/exec/command", + "type": "array", + "items": [ + { + "type": "string" + } + ] + } + }, + "required": [ + "command" + ] + }, + "httpGet": { + "$id": "#/properties/readinessprobe/httpget", + "type": "object", + "title": "Http of Readiness Probe", + "properties": { + "path": { + "$id": "#/properties/readinessprobe/httpget/path", + "type": "string", + "title": "The Path of Http Readiness Probe", + "default": "/health", + "examples": [ + "/health" + ] + }, + "port": { + "$id": "#/properties/readinessprobe/httpget/port", + "type": "integer", + "title": "The Port of Http Readiness Probe", + "default": 80, + "examples": [ + 80 + ] + } + }, + "required": [ + "path", + "port" + ] + }, + "initialDelaySeconds": { + "$id": "#/properties/readinessprobe/initialdelayseconds", + "type": "integer", + "title": "Initial Delay of Readiness Probe", + "default": 5, + "examples": [ + 5 + ] + }, + "periodSeconds": { + "$id": "#/properties/readinessprobe/periodseconds", + "type": "integer", + "title": "Period of Readiness Probe", + "default": 15, + "examples": [ + 15 + ] + } + }, + "oneOf": [ + { + "$id": "#/properties/readinessprobe/oneof/exec", + "required": ["exec", "initialDelaySeconds", "periodSeconds"] + }, + { + "$id": "#/properties/readinessprobe/oneof/httpget", + "required": ["httpGet", "initialDelaySeconds", "periodSeconds"] + } + ] + }, + "messaging": { + "type": "object", + "$id": "#/properties/messaging", + "title": "The Messaging Schema", + "properties": { + "ports": { + "$id": "#/properties/messaging/ports", + "type": "array", + "title": "The Ports for Messaging", + "items":{ + "$id": "#/properties/messaging/ports/items", + "type": "object", + "title": "The Item of Port", + "required": ["name", "container", "port"], + "dependencies": { + "txMessages": ["rxMessages", "policies"], + "rxMessages": ["txMessages", "policies"], + "policies": ["rxMessages", "txMessages"] + }, + "properties": { + "name": { + "$id": "#/properties/messaging/ports/items/name", + "type": "string", + "title": "The Name of the Port", + "default": "App", + "examples": [ + "App" + ] + }, + "container": { + "$id": "#/properties/messaging/ports/items/container", + "type": "string", + "title": "The Container of the Port", + "default": "xapp", + "examples": [ + "xapp" + ] + }, + "port": { + "$id": "#/properties/messaging/ports/items/port", + "type": "integer", + "title": "The Port Number", + "default": 8080, + "examples": [ + 8080 + ] + }, + "description": { + "$id": "#/properties/messaging/ports/items/description", + "type": "string", + "title": "The description for the port", + "default": "port description", + "examples": [ + "port description" + ] + }, + "txMessages": { + "$id": "#/properties/messaging/ports/items/txmessages", + "type": "array", + "title": "The txMessage Types", + "items":{ + "$id": "#/properties/messaging/ports/items//txmessages/item", + "type": "string", + "title": "The txMessage Types Item", + "default": "RIC_SUB", + "examples": [ + "RIC_SUB" + ] + } + }, + "rxMessages": { + "$id": "#/properties/messaging/ports/items/rxmessages", + "type": "array", + "title": "The rxMessage Types", + "items":{ + "$id": "#/properties/messaging/ports/items/rxmessages/item", + "type": "string", + "title": "The rxMessage Types Item", + "default": "RIC_SUB", + "examples": [ + "RIC_SUB" + ] + } + }, + "policies": { + "$id": "#/properties/messaging/ports/items/policies", + "type": "array", + "title": "The Policies Types", + "items":{ + "$id": "#/properties/messaging/ports/items/policies/item", + "type": "integer", + "title": "The Policy Types Item", + "default": 1, + "examples": [ + 1 + ] + } + } + } + } + } + }, + "required": [ + "ports" + ] + + }, + "metrics": { + "type": "array", + "$id": "#/properties/metrics", + "title": "The Metrics Schema", + "items": { + "$id": "#/properties/metrics/items", + "type": "object", + "title": "The Metrics Items Schema", + "required": [ + "objectName", + "objectInstance", + "name", + "type", + "description" + ], + "properties": { + "objectName": { + "$id": "#/properties/metrics/items/objectname", + "type": "string", + "title": "The Object Name" + }, + "objectInstance": { + "$id": "#/properties/metrics/items/objectinstance", + "type": "string", + "title": "The Object Instance" + }, + "name": { + "$id": "#/properties/metrics/items/name", + "type": "string", + "title": "The Object Name" + }, + "type": { + "$id": "#/properties/metrics/items/type", + "type": "string", + "title": "The Object Type" + }, + "description": { + "$id": "#/properties/metrics/items/description", + "type": "string", + "title": "The Object Description" + } + } + } + }, + "controls": { + "required": [ + "__empty_control_section__" + ] + } + + } +} \ No newline at end of file diff --git a/docs/xapp_onboarder/guide/example.rst b/docs/xapp_onboarder/guide/example.rst new file mode 100644 index 0000000..094e7e4 --- /dev/null +++ b/docs/xapp_onboarder/guide/example.rst @@ -0,0 +1,37 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +Step-by-step xApp Descriptor Design Example +=========================================== + +Step 1: Gather Information +-------------------------- +Collect the information about the following items + +* xApp name +* Version of the xApp descriptor +* Details of the xApp containers +* (Optional) xApp-specific configuration parameters +* (Optional) Metrics produced +* (Optional) Ports for messaging +* (Optional) Liveness and readiness probes methods + +Step 2: Download config-file.json skeleton +------------------------------------------ +Download the config-file.json file :download:`here ` + +Step 3: Change xapp_name and version +------------------------------------ +In the config-file.json file, change the values for "xapp_name" and "version" + +.. note:: If xapp-onboarder is configured with ALLOW_REDEPLOY=False, you cannot reuse the same version number between onboarding. + +Step 4: Fill in the container information +----------------------------------------- +The container section in the config-file.json is a list of container properties structure. For each container, give it a unique name. Specify the docker image registry, docker image name, and docker iamge tag. Optionally. Please make sure that the docker registry is accessible from the RIC platform instance to which the xApp will be deployed. If you want to specify the contianer entry point, you can specify the command used to start the container. + + + diff --git a/docs/xapp_onboarder/guide/schema.rst b/docs/xapp_onboarder/guide/schema.rst new file mode 100644 index 0000000..301721b --- /dev/null +++ b/docs/xapp_onboarder/guide/schema.rst @@ -0,0 +1,50 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +xApp Descriptor JSON Schema +=========================== + +Introduction +------------ + +JSON schema is used to describe the attributes and values in the xApp descriptor config-file.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. + +Control Section Schema +---------------------- +.. note:: No control section schema is needed if your xApp doesn't need a controll section in the config-file.json. + +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 + +.. code-block:: + + { + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "#/controls", + "type": "object", + "title": "Controls Section Schema", + "required": [ + "REQUIRED_ITEM_1", + "REQUIRED_ITEM_2" + ], + "properties": { + "REQUIRED_ITEM_1": {REQUIRED_ITEM_1_SUB_SCHEMA}, + "REQUIRED_ITEM_2": {REQUIRED_ITEM_2_SUB_SCHEMA} + } + } + + +Embedded JOSN Schema +-------------------- +The following JSON schema is provided by the xApp-onboarder. It defines the JSON file structure of the config-file.json file except the control section. +Expand the following link to read more details. + +.. toggle-header:: + :header: **embedded JSON schema** + + .. literalinclude:: embedded-schema.json + :language: JSON diff --git a/docs/xapp_onboarder/guide_index.rst b/docs/xapp_onboarder/guide_index.rst new file mode 100644 index 0000000..c01cb87 --- /dev/null +++ b/docs/xapp_onboarder/guide_index.rst @@ -0,0 +1,18 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. +.. Copyright (C) 2019 AT&T Intellectual Property + + +xApp Descriptor Guide +===================== + + +.. toctree:: + :maxdepth: 2 + :caption: Index: + + guide/descriptor.rst + guide/schema.rst + guide/example.rst + diff --git a/docs/xapp_onboarder/images/onboard.png b/docs/xapp_onboarder/images/onboard.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac835db50f1bb120b9e2687066c3525e2b8a21a GIT binary patch literal 127678 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

n(|G^+ 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 j_j7$GR{dYYT$UU