.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright (C) 2019 Wind River Systems, Inc.
+.. Copyright (C) 2021 Wind River Systems, Inc.
Developer-Guide
===============
$ docker-compose run --rm --no-deps --entrypoint=pytest api /tests/unit /tests/integration
-3, Test with INF platform
+3. Test with INF platform
-------------------------
* To test with INF platform, you should install INF platform first, by default you will be able to use the 'admin' user
$ export |grep OS_PASSWORD
$ docker-compose run --rm --no-deps --entrypoint=pytest api /tests/integration-ocloud --log-level=DEBUG --log-file=/tests/debug.log
-4, Tear down docker containers
+4. Tear down docker containers
+------------------------------
.. code:: shell
-
$ docker-compose down --remove-orphans
Abstract
--------
-This document describes how to install O-RAN O2 service over O-RAN INF platform.
+This document describes how to install INF O2 service over O-RAN INF platform.
The audience of this document is assumed to have basic knowledge in kubernetes cli, helm chart cli.
Before starting the installation and deployment of O-RAN O2 service, you should have already deployed O-RAN INF platform, and you need to download the helm charts or build from source as described in developer-guide.
-ORAN O2 Service in E Release
-============================
+INF O2 Service in E Release
+===========================
1. Provision remote cli for kubernetes over INF platform
--------------------------------------------------------
2. Deploy INF O2 service
------------------------
-2.1 Retrieve Helm chart for deploying of O2 service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.1 Retrieve Helm chart for deploying of INF O2 service
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. code:: shell
---------------------------------
- assumed you have setup SMO O2 endpoint for registration
-- INF O2 service will post the O-Cloud registration data to that SMO O2 endpoint
+- INF O2 service will post the INF platform registration data to that SMO O2 endpoint
+
.. code:: shell
INF O2 Service Overview
=======================
-This project implements a reference O2 IMS and DMS service to expose INF platform to SMO via O2 interface.
+This project implements a reference O-RAN O2 IMS and DMS service to expose the INF platform to SMO via the O-RAN O2 interface.
-In the E release, the following APIs are supported by INF O2 service:
+In the E release, the following APIs are supported by the INF O2 service:
-1. O-Cloud Infrastructure Management Service (IMS)
+1. INF O2 service Infrastructure Management Service (IMS)
- - O-Cloud provisioning API
+ - INF O2 service provisioning API
- Provision SMO O2 endpoint into INF O2 service
- - O2 service discovers INF platform as O-Cloud and register INF as O-Cloud to SMO via the provisioned SMO O2 endpoint
+ - O2 service discovers INF platform and registers INF platform to SMO via the provisioned SMO O2 endpoint
- - O-Cloud Inventory API
+ - INF O2 service Inventory API
- O2 service discovers following resources of INF platform to answer queries from SMO
- - O-Cloud information
+ - INF platform information
- - Resource Pool of the O-Cloud
+ - Resource Pool of the INF platform
- Resources of the Resource Pool, including pserver, cpu, memory, port, interface
- Resource Types associated with Resources
- - O-Cloud Subscription and Notification
+ - INF platform Subscription and Notification
- - O2 service exposes Subscription API to enable SMO subscribes to Notification of changes of resources
+ - INF O2 service exposes Subscription API to enable SMO subscribes to Notification of changes of resources
- - O-Cloud Deployment Management Service Endpoint discovery API
+ - INF platform Deployment Management Service Endpoint discovery API
- - O2 service enables lookup of O-Cloud DMS endpoints via DeploymentManagementService resource as part of inventory
+ - INF O2 service enables lookup of INF O2 DMS endpoints via DeploymentManagementService resource as part of inventory
-2. Deployment Management Service (DMS)
+2. INF O2 service Deployment Management Service (DMS)
- - O2 service discovers kubernetes clusters hosted by INF platform, exposes them as Deployment Management Services via O-Cloud DMS endpoints
+ - INF O2 service discovers kubernetes clusters hosted by INF platform, exposes them as Deployment Management Services via DMS endpoints
- The exposed DMS endpoint supports Lifecycle Management of NfDeployment which represents CNF described in helm chart, the API supports APIs below:
-------------------------
- Initial version (E release)
- Add O2 IMS for INF platform
- - Enable O-Cloud registration to SMO
+ - Enable INF platform registration to SMO
- Enable O2 infrastructure inventory service API
- Enable O2 Subscription service API
- Enable O2 Notification service to notify SMO about the resource changes
-O-Cloud O2 Service User Guide
-=============================
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+.. Copyright (C) 2021 Wind River Systems, Inc.
-This guide will introduce the process that make O2 interface work with
+INF O2 Service User Guide
+=========================
+
+This guide will introduce the process that make INF O2 interface work with
SMO.
-- Assume you have an O-Cloud O2 environment
+- Assume you have an O2 service with INF platform environment
.. code:: bash
export OAM_IP=<INF_OAM_IP>
-- Discover O-Cloud inventory
+- Discover INF platform inventory
- - O-Cloud auto discovery
+ - INF platform auto discovery
- After you installed the O-Cloud service, it will automatically
+ After you installed the INF O2 service, it will automatically
discover the INF through the parameters that you give from the
“*o2service-override.yaml*”
- Below command can get the O-Cloud information
+ Below command can get the INF platform information as O-Cloud
.. code:: shell
- Resource pool
- One O-Cloud have one resource pool, all the resources that belong
- to this O-Cloud will be organized into this resource pool
+ One INF platform have one resource pool, all the resources that belong
+ to this INF platform will be organized into this resource pool
Get the resource pool information through this interface
"http://${OAM_IP}:30205/o2ims_infrastructureInventory/v1/deploymentManagers" \
-H 'accept: application/json'
-- Provisioning O-Cloud with SMO endpoint configuration
+- Provisioning INF platform with SMO endpoint configuration
- Assume you have an SMO, then configure O-Cloud with SMO endpoint
- address. This provisioning of O-Cloud will make a request from
- O-Cloud to SMO, that make SMO know the O2 service is working.
+ Assume you have an SMO, then configure INF platform with SMO endpoint
+ address. This provisioning of INF O2 service will make a request from
+ INF O2 service to SMO, that make SMO know the O2 service is working.
It needs SMO to have an API like
“*http(s)://SMO_HOST:SMO_PORT/registration*”, which can accept JSON
"endpoint": "http://<SMO_HOST>:<SMO_PORT>/registration"
}'
-- Subscribe to the O-Cloud resource change notification
+- Subscribe to the INF platform resource change notification
Assume you have an SMO, and the SMO have an API can be receive
callback request
- - Create subscription in O-Cloud IMS
+ - Create subscription in the INF O2 IMS
.. code:: bash
- Handle resource change notification
When the SMO callback API get the notification that the resource
- of O-Cloud changing, use the URL to get the latest resource
+ of INF platform changing, use the URL to get the latest resource
information to update its database
- Orchestrate CNF in helm chart
We need to do some preparation to make the helm repo work and include
our firewall chart inside of the repository.
- Get the DMS Id in the O-Cloud, and set it into bash environment
+ Get the DMS Id in the INF O2 service, and set it into bash environment
.. code:: bash
echo ${dmsId} # check the exported DMS id
- Using helm to deploy a chartmuseum to the INF
+ Using helm to deploy a chartmuseum to the INF platform
.. code:: bash
helm repo update
helm search repo firewall
- Setup host net device over INF
+ Setup host net device over INF node
.. code:: bash
sudo ip link |grep veth
exit
- - Create NfDeploymentDescriptor
+ - Create NfDeploymentDescriptor on the INF O2 DMS
.. code:: bash
echo ${descId} # check the exported descriptor id
- - Create NfDeployment
+ - Create NfDeployment on the INF O2 DMS
When you have an descriptor of deployment, you can create a
NfDeployment, it will trigger an event inside of the IMS/DMS, and
app = Flask(__name__)\r
app.config.SWAGGER_UI_DOC_EXPANSION = 'list'\r
api = Api(app, version='1.0.0',\r
- title='O-Cloud O2 Services',\r
+ title='INF O2 Services',\r
description='Swagger OpenAPI document for \\r
- O-Cloud O2 Services',\r
+ the INF O2 Services',\r
)\r
bus = bootstrap.bootstrap()\r
\r
apiims = config.get_o2ims_api_base()
apiprovision = config.get_provision_api_base()
logger.info(
- "Expose IMS API:{}\nExpose Provision API: {}".
+ "Expose the O2 IMS API:{}\nExpose Provision API: {}".
format(apiims, apiprovision))
ocloud_route.configure_api_route()