diff --git a/README.md b/README.md index 45b02ce..e792a4e 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,26 @@ -# kpimon -KPIMON xApp for Bronze Release -# Image Build +================================================================================== + Copyright (c) 2020 AT&T Intellectual Property. -``` -$ docker build . --tag kpimon:{TAG} --no-cache -``` + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +================================================================================== + +KPI Monitoring +================ + +This repository contains the source for the RIC KPI monitoring application. + +This xApp can be onboarded through the xApp Onboarder. The xapp descriptor +is under the xapp-descriptor/ directory. + +Then the xapp can be deployed through the App Manager. diff --git a/docs/_static/logo.png b/docs/_static/logo.png new file mode 100644 index 0000000..c3b6ce5 Binary files /dev/null and b/docs/_static/logo.png differ diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..974c309 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,3 @@ +from docs_conf.conf import * + +linkcheck_ignore = ["http://localhost.*", "http://127.0.0.1.*", "https://gerrit.o-ran-sc.org.*"] diff --git a/docs/conf.yaml b/docs/conf.yaml new file mode 100644 index 0000000..1519a57 --- /dev/null +++ b/docs/conf.yaml @@ -0,0 +1,3 @@ +--- +project_cfg: oran +project: ric-app-kpimon diff --git a/docs/developers-guide.rst b/docs/developers-guide.rst new file mode 100644 index 0000000..9330ad4 --- /dev/null +++ b/docs/developers-guide.rst @@ -0,0 +1,58 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright (C) 2020 AT&T Intellectual Property + + +Developers Guide +================= + +.. contents:: + :depth: 3 + :local: + + +Version bumping the Xapp +------------------------ + +This project follows semver. When changes are made, update the version strings in: + +#. ``container-tag.yaml`` +#. ``docs/release-notes.rst`` +#. ``setup.py`` +#. ``xapp-descriptor/config.json`` + + +Testing RMR Healthcheck +----------------------- +The following instructions should deploy the QP Driver container in bare docker, and allow you +to test that the RMR healthcheck is working. + +:: + + docker build -t qpd:latest -f Dockerfile . + docker run -d --net=host -e USE_FAKE_SDL=1 qpd:latest + docker exec -it CONTAINER_ID /usr/local/bin/rmr_probe -h 127.0.0.1:4560 + + +Unit Testing +------------ + +Running the unit tests requires the python packages ``tox`` and ``pytest``. + +The RMR library is also required during unit tests. If running directly from tox +(outside a Docker container), install RMR according to its instructions. + +Upon completion, view the test coverage like this: + +:: + + tox + open htmlcov/index.html + +Alternatively, if you cannot install RMR locally, you can run the unit +tests in Docker. This is somewhat less nice because you don't get the +pretty HTML report on coverage. + +:: + + docker build --no-cache -f Dockerfile-Unit-Test . diff --git a/docs/favicon.ico b/docs/favicon.ico new file mode 100644 index 0000000..00b0fd0 Binary files /dev/null and b/docs/favicon.ico differ diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..7cb8aa6 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,20 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright (C) 2020 AT&T Intellectual Property + + +Welcome to O-RAN SC qp-driver Documentation +============================================ + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + overview.rst + release-notes.rst + installation-guide.rst + developers-guide.rst + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/installation-guide.rst b/docs/installation-guide.rst new file mode 100644 index 0000000..dafaacd --- /dev/null +++ b/docs/installation-guide.rst @@ -0,0 +1,16 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright (C) 2020 AT&T Intellectual Property + + +Installation Guide +================== + +.. contents:: + :depth: 3 + :local: + +Installation +------------ + +[to come] diff --git a/docs/overview.rst b/docs/overview.rst new file mode 100644 index 0000000..607b309 --- /dev/null +++ b/docs/overview.rst @@ -0,0 +1,19 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright (C) 2020 AT&T Intellectual Property + +KPIMON Overview +================== + +KPIMON is an Xapp in the traffic steering O-RAN use case. +There are four total Xapps: + +1. Traffic steering, which sends "prediction requests" to QP Driver + +2. QP Driver which fetches data from SDL[4] on behalf of traffic steering, both UE Data and Cell Data, merges that data together, then sends off the data to the QP Predictor + +3. QP Predictor which predicts and sends that prediction back to Traffic Steering + +4. KPIMONN which collects UE/Cell metrics from base station and populates SDL in the first place (this) + +So in summary, the KPIMON xapp is a helper function that receives RAN metrics and write to SDL diff --git a/docs/release-notes.rst b/docs/release-notes.rst new file mode 100644 index 0000000..9c1ae30 --- /dev/null +++ b/docs/release-notes.rst @@ -0,0 +1,70 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright (C) 2020 AT&T Intellectual Property + +Release Notes +=============== + +All notable changes to this project will be documented in this file. + +The format is based on `Keep a Changelog `__ +and this project adheres to `Semantic Versioning `__. + + +[1.0.1] - 1/20/2021 +-------------------- + +* Use SDL lib to replace direct use of Redis client +* Add xapp descriptor + + +[1.0.0] - 12/16/2020 +-------------------- + +* Update builder image +* Change key name + + +[0.4.0] - 11/27/2020 +------------------ + +* Fix RIC_INDICATION RANContainer decoding issue +* Fix data format issue when storing data into DB + + +[0.3.0] - 10/16/2020 +------------------ + +* Fix interface type issue when decoding RIC_INDICATION +* Integration test with e2sim + + +[0.2.0] - 7/17/2020 +------------------ + +* CI config +* Add memory free function for E2AP/E2SM encoding and decoding +* Log output +* Code optimization + + +[0.1.0] - 4/21/2020 +------------------- + +* RIC_INDICATION +* Store UE/Cell metrics into Redis DB +* Small cleanups + + +[0.0.2] - 3/25/2020 +------------------- + +* RIC_SUB_REQ +* Helm chart +* Dockerfile + + +[0.0.1] - 3/10/2020 +------------------- + +* inital skeleton creation diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt new file mode 100644 index 0000000..09a0c1c --- /dev/null +++ b/docs/requirements-docs.txt @@ -0,0 +1,5 @@ +sphinx +sphinx-rtd-theme +sphinxcontrib-httpdomain +recommonmark +lfdocs-conf