Versions Compared

Key

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

This page is out of date.
Please see the relevant page for the latest release: e.g. Release J - Run in Docker


The A1 A1 Policy Management Service can be executed with a single docker command:

Code Block
languagebash
titledocker command with default network
docker run -d -p 8081:8081 -p 8344:8433 -v "--name=policy-agent --mount type=bind,source=$(pwd)/application_configuration.json:,target=/opt/app/policy-agent/data/application_configuration.json" 
 nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-policy-agent

The source in the --mount command need to be correct.

If not using default network, should also add --network=<network-name> in the command.

If you want to run the container in the background, should also add -d in the command.

If you want to set network alias for PMS, add --network-alias=<alias-name> in the command.

nexus3.o-ran-sc.org:10002/o-ran-sc/nonrtric-policy-agent:2.0.0 is the Bronze release version.

nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-policy-agent is the latest version from master branch.

Example with all above arguments:

Code Block
languagebash
titledocker command with user defined network
docker run -d -p 8081:8081 -p 8344:8433 --name policy-agent --network=nonrtric-docker-net --network-alias policy-agent-container --mount type=bind,source=$(pwd)/application_configuration.json,target=/opt/app/policy-agent/data/application_configuration.json nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-policy-agent


To execute the Policy Management Service you will need an “application_configuration.json” file to configure the service.
This configuration file is then mounted into the correct place in the docker container using the --v parameter mount parameter above (-v "-mount type=bind,source=$(pwd)/application_configuration.json:,target=/opt/app/policy-agent/data/application_configuration.json")

  • For more information on configuration options see page:  Release B - Build/Run
  • NOTE: There should not be any comma in the end of last configuration.
Code Block
languagethemejsEmacs
titleapplication_configuration.json
{
    "config": {
      "//description": "Application configuration",
      "controller": ric":[
          {
             "name": "a1-controllerric1",
             "baseUrl": "http://a1-controller:8181sim-OSC:8085/",
             "userNamemanagedElementIds":[
             "admin   "kista_1",
               "password": "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2Ukista_2"
         }
    ]
   ],
      "ric": [
 },
          {
             "name": "ric1ric2",
             "baseUrl": "http://a1-sim-OSCSTD:8085/",
             "controllermanagedElementIds": "a1-controller",
[
                "managedElementIds": [
kista_1",
                "kista_12",
             ]
    "kista_2"
      }
       ],
       "streams_publishes":{
  },
         "dmaap_publisher":{
             "nametype":"ric2message_router",
            "baseUrl "dmaap_info":{
                "topic_url":"http://a1dmaap-sim-STD:8085/",mr:3904/events/A1-POLICY-AGENT-WRITE"
             }
          }
       },
       "controllerstreams_subscribes":{
  "a1-controller",        "dmaap_subscriber":{
             "managedElementIdstype":["message_router",
               "kistadmaap_3info",:{
                "kista_4"
topic_url":"http://dmaap-mr:3904/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=15000&limit=100"
             ]}
          }
       ]}
    }
 }


Some sample CURL commands :

...

Code Block
languagebash
titleCurl: Create a sample service
curl -k -X PUT -swskw %{http_code} -H accept:application/json -H Content-Type:application/json http://localhost:8081/service --data '{"callbackUrl": "http://callback-receiver:8090/callbacks/1","keepAliveIntervalSeconds": "3600","serviceName": "service1"}'

...

Code Block
languagebash
titleCurl: Create a sample A1 Policy
	curl -k -X PUT -swskw %{http_code} -H accept:application/json -H Content-Type:application/json "http://localhost:8081/policy?id=2001&ric=ric1&service=service1&type=1" --data '{"scope": {"ueId": "ue3100","qosId": "qos3100"},"qosObjectiveqosObjectives": {"priorityLevel": 3101}}'

...

Code Block
languagebash
titleCurl: Create a sample A1 Policy
curl -k -X PUT -swskw %{http_code} -H accept:application/json -H Content-Type:application/json "http://localhost:8081/policy?id=3100&ric=ric2&service=service1" --data '{"scope": {"ueId": "ue3100","qosId": "qos3100"},"qosObjectiveqosObjectives": {"priorityLevel": 3100}}'

...

Code Block
languagebash
titleCurl: Get status information for the A1 Policy Management Service
curl -k -X PUT -sw skw %{http_code} -H accept:application/json -H Content-Type:application/json "http://localhost:8081/policy?id=3100&ric=ric2&service=service1" --data '{"scope": {"ueId": "ue3100","qosId": "qos3100"},"qosObjective": {"priorityLevel": 3100}}'status