Versions Compared

Key

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

DRAFT: This page describes how to get the Istanbul release version of A1-Policy functions up and running.

The A1 Policy Management Service and the (optional) A1-enabled Controller (SDNC with A1-Adapter) will run in a local demonstrative deployment with four near-RT-RIC A1 simulator instances (docker containers). These simulators will be configured to emulate devices implementing either the "OSC_2.1.0" version or "STD_2.0.0" version of the O-RAN A1 interface. (For more information on the OSC A1 Simulator functions see OSC NONRTRIC Wiki page (Release DE))

All components run as docker containers and communicate via a private docker network. Details of the architecture can be found from Istanbul Jakara Release page.

Version numbers used in this page may not be the most recent ... you should verify version numbers for latest released versions of pre-built components

Table of Contents

Project Requirements

...

  • Copy the default configuration file oran/a1-policy-management/config/application_configuration.json (IstanbulJakarta) to the current directory, then replace/amend the configuration with the sample demo configuration below.
    (Note the configuration below is just a sample, and should be updated to match particular deployments. 
    The deployment below assumes 4 near-RT-RICs exist - addressable at the urls given. See the step "Run OSC Near-RT-RIC/A1 Simulator Docker Containers" below)

  • The controller URL (hostname, port), username and password values to access the A1 controller Controller (SDNC + A1 Adapter) must match the values configured for the SDNC-A1-Controller. (See the step "Run A1 Controller" further below). The port for http is 8181.
    (Note the configuration below is just a sample, and should be updated to match particular deployments.  The deployment below assumes an A1 Controller function (SDNC) exists - addressable at the url given, using the authentication credentials given.)

  • Any defined ric host names (in the name and baseUrl for each ric entry) must match the given docker container names in near-RT-RIC simulator startup - port is always the simulator's internal port 8085 for http or 8185 for https.

  • The A1 Policy Management service can entirely by-pass the A1-Controller if required - it is optional to access the near-RT-RIC through an A1-Controller.
    In the configuration the "controller" property is optional in the "ric" objects, and the "controller" object at the top can be omitted if no controller is used.
    If all configured rics rics bypass the A1-Controller there is no need to start an A1-Controller. There is no functional gain in accessing the near-RT-RIC through an A1 controller.

...

The configuration must comply to the following JSON schema. There are several tools on internet publicly available tools (e.g. online) where it is possible to validate JSON objects against a their schema. 

Code Block
languageymljs
titleapplication_configuration_schema.json
linenumberstrue
collapsetrue
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "config": {
      "type": "object",
      "properties": {
        "//description": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "controller": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "baseUrl": {
                  "type": "string"
                },
                "userName": {
                  "type": "string"
                },
                "password": {
                  "type": "string"
                }
              },
              "required": [
                "name",
                "baseUrl",
                "userName",
                "password"
              ],
              "additionalProperties": false
            }
          ]
        },
        "ric": {
          "type": "array",
          "items": [
            {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "baseUrl": {
                  "type": "string"
                },
                "controller": {
                  "type": "string"
                },
                "managedElementIds": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "name",
                "baseUrl",
                "managedElementIds"
              ],
              "additionalProperties": false
            }
          ]
        },
        "streams_publishes": {
          "type": "object",
          "properties": {
            "dmaap_publisher": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "dmaap_info": {
                  "type": "object",
                  "properties": {
                    "topic_url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "topic_url"
                  ]
                }
              },
              "required": [
                "type",
                "dmaap_info"
              ]
            }
          },
          "required": [
            "dmaap_publisher"
          ]
        },
        "streams_subscribes": {
          "type": "object",
          "properties": {
            "dmaap_subscriber": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "dmaap_info": {
                  "type": "object",
                  "properties": {
                    "topic_url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "topic_url"
                  ]
                }
              },
              "required": [
                "type",
                "dmaap_info"
              ]
            }
          },
          "required": [
            "dmaap_subscriber"
          ]
        }
      },
      "required": [
        "ric"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "config"
  ]
}

...

If you have built the images locally you don't need any other change, however if the images have not been built locally, versions should be modified, from latest to the version that you would like to use, for example: nexus3.onap.org:10002/onap/sdnc-image:2.2.0

 Locally built
Release image from nexus
sdnc:    
image: onap/sdnc-image:latest
sdnc:
image: nexus3.onap.org:10002/onap/sdnc-image:2.2.3


There is also a file name sdnc_basic.yaml that can be used instead, it only includes maria db and sdnc so it only need to be modified in case images have not been built locally and version need to be update from latest to a specific version, for example nexus3.onap.org:10002/onap/sdnc-image:2.2.0. In case this file is used, instead of using command docker-compose up, use docker-compose -f sdnc-basic.yml up.

...