Versions Compared

Key

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

This page describes how to get the Jakarta release version of A1-Policy functions up and running using Docker.

...

  • Copy the default configuration file oran/a1-policy-management/config/application_configuration.json (newdelhi) 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 (SDNC + A1 Adapter) must match the values configured for the SDNC-A1-Controller. (See the step "Run A1 Controller" further below). The port number 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 (SDNC + A1 Adapter) if desired - it is optional to access the near-RT-RIC through an A1-Controller.

    Info
    titleAlternative: Bypass the A1-Controller - connect direct from A1-Policy Management Service

    There is no functional gain in accessing the near-RT-RIC through an A1-Controller.

    To bypass the  A1-Controller (SDNC + A1 Adapter), where the A1-Policy Management Service connects directly to the A1 Interface:

    • In the configuration the "controller" property is optional in the "ric" objects
    • If all configured rics bypass the A1-Controller (do not have "controller" values) then the "controller" object at the top of the configuration can be omitted.
    • If all configured rics bypass the A1-Controller there is no need to start an A1-Controller.


...

The configuration must comply to the following JSON schema. There are several publicly available tools (e.g. online) where it is possible to validate JSON objects against their schema. 
The schema is available in the gerrit repo (application_configuration_schema.json (montrealnewdelhi))

Code Block
languageyml
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"
                },
                "customAdapterClass": {
                  "type": "string"
                },
                "managedElementIds": {
                  "type": "array",
                  "items": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ]
                }
              },
              "required": [
                "name",
                "baseUrl",
                "managedElementIds"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      "required": [
        "ric"
      ],
      "additionalProperties": true
    }
  },
  "required": [
    "config"
  ]
}

For more information on configuring the A1-Policy Management Service please see Montreal New Delhi - Component configuration

Running the functions

Note: Version numbers used in this page may not be the most recent ... you should verify the latest version numbers for released pre-built components in the docker image repository (https://nexus3.onap.org), and check the version number in appropriate POM files if building manually.

ComponentRelease image and version tagStaging images and version tagManual snapshot (only available if manually built)
and version tag
A1 Policy Management Service

nexus3.onap.org:10002/onap/ccsdk-oran-a1policymanagementservice:1.67.10

nexus3.onap.org:10004/onap/ccsdk-oran-a1policymanagementservice:1.67.20-STAGING-latest

onap/ccsdk-oran-a1policymanagementservice:1.67.20-SNAPSHOT

SDNC imagenexus3.onap.org:10002/onap/sdnc-image:2.6.01nexus3.onap.org:10004/onap/sdnc-image:2.67.10-STAGING-latestonap/sdnc-image:2.67.10-SNAPSHOT

Run A1-enabled Controller

...

Download and edit the docker compose file, oam/installation/src/main/yaml/docker-compose.yaml (montrealnewdelhi) and keep only sdnc and maria db images. The rest of the images are not needed for A1 Policy testing.
In addition, remove or comment out the following two entries for sdnc in the docker-compose file: '- ansible' and  '- ansible:ansiblehost'. 
(However if you want to change the SLI DG graphs or run your own SLI DG graphs, then keep the dgbuilder image.)

...

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

There is also a file named docker configuration sdnc-basic.yml (Gerrit - montreal) that can be used instead, it only includes maria db and sdnc so it only needs to be modified when images have not been built locally so versions need to be updated from latest to a specific version, for example nexus3.onap.org:10002/onap/sdnc-image:2.6.0. In this case when using a different docker compose file you will use docker-compose -f sdnc-basic.yml up instead of the normal docker-compose up command in the code block below)

...