Versions Compared

Key

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

...

  • Start docker containers for each near-RT-RIC defined in oran/a1-policy-management/config/application_configuration.json in the step "Configure the A1 Policy Management Service" above.
    Different Simulators can use different A1-Interface profiles, for example OSC_2.1.0 and STD_2.0.0 below. Start each simulator instance with the following commands (use separate shells):

    Code Block
         (Each in a new shell) 
    docker run -p 8085:8085 -p 8185:8185 -e A1_VERSION=OSC_2.1.0 -e ALLOW_HTTP=true --network=nonrtric-docker-net --name=ric1 nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.2.0
    docker run -p 8086:8085 -p 8186:8185 -e A1_VERSION=OSC_2.1.0 -e ALLOW_HTTP=true --network=nonrtric-docker-net --name=ric2 nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.2.0
    docker run -p 8087:8085 -p 8187:8185 -e A1_VERSION=STD_2.0.0 -e ALLOW_HTTP=true --network=nonrtric-docker-net --name=ric3 nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.2.0
    docker run -p 8088:8085 -p 8188:8185 -e A1_VERSION=STD_2.0.0 -e ALLOW_HTTP=true --network=nonrtric-docker-net --name=ric4 nexus3.o-ran-sc.org:10002/o-ran-sc/a1-simulator:2.2.0

    (Note these commands create a deployment scenario aligned towards the sample A1 Policy configuration given above)
    (Note these commands can be run in the background - all in one shell - by using docker run -d -p ..... )

  • For the OSC.2.1.0 simulators create a new A1 Policy Type policy type definition (JSON), and load it into each of the OSC.2.1.0 A1 Simulators instances.
    (Note the format for A1 Policy Type Definitions (JSON) differs for different A1-Interface profiles)

    Code Block
    languagejs
    titlept1.json
    collapsetrue
    {
      "name": "pt1",
      "description": "pt1 policy type",
      "policy_type_id": 1,
      "create_schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "title": "OSC_Type1_1.0.0",
        "description": "Type 1 policy type",
        "type": "object",
        "properties": {
          "scope": {
            "type": "object",
            "properties": {
              "ueId": {
                "type": "string"
              },
              "qosId": {
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "ueId",
              "qosId"
            ]
          },
          "qosObjectives": {
            "type": "object",
            "properties": {
              "priorityLevel": {
                "type": "number"
              }
            },
            "additionalProperties": false,
            "required": [
              "priorityLevel"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "scope", "qosObjectives"
        ]
      }
    }


    • Insert the example policy type into the started OSC_2.1.0 A1 Simulator instances by running these curl commands (in this example to ric1 exposed to port 8085 and ric2 exposed to port 8086):

      Code Block
      languagebash
      curl -X PUT -v "http://localhost:8085/a1-p/policytypes/1" -H "accept: application/json" \
       -H "Content-Type: application/json" --data-binary @pt1.json
      curl -X PUT -v "http://localhost:8086/a1-p/policytypes/1" -H "accept: application/json" \
       -H "Content-Type: application/json" --data-binary @pt1.json


  • For the STD_2.0.0 simulators create a new A1 Policy Type policy type definition (JSON), and load it into each of the STD_2.0.0A1 Simulators instances.
    (Note the format for A1 Policy Type Definitions (JSON) differs for different A1-Interface profiles)

    Code Block
    languagejs
    titlestd_qos2_0.0.1.json
    collapsetrue
    {
        "policySchema": {
          "$schema": "http://json-schema.org/draft-07/schema#",
          "title": "STD_QOS2_0.1.0",
          "description": "STD QOS2 policy type",
          "type": "object",
          "properties": {
            "scope": {
              "type": "object",
              "properties": {
                "ueId": {
                  "type": "string"
                },
                "qosId": {
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "ueId",
                "qosId"
              ]
            },
            "qosObjectives": {
              "type": "object",
              "properties": {
                "priorityLevel": {
                  "type": "number"
                }
              },
              "additionalProperties": false,
              "required": [
                "priorityLevel"
              ]
            }
          }
        },
        "statusSchema": {
          "$schema": "http://json-schema.org/draft-07/schema#",
          "title": "STD_QOS_0.2.0",
          "description": "STD QOS policy type status",
          "type": "object",
          "properties": {
            "enforceStatus": {
              "type": "string"
            },
            "enforceReason": {
              "type": "string"
            },
            "additionalProperties": false,
            "required": [
              "enforceStatus"
            ]
          }
        }
      }


    • Insert the example policy type into the started STD_2.0.0 A1 Simulator instances by running these curl commands (in this example to ric3 exposed to port 8087 and ric4 exposed to port 8088):

      Code Block
      languagebash
      curl -X PUT -v "http://localhost:8087/policytype?id=STD_QOS2_0.1.0" -H "accept: application/json" \
       -H "Content-Type: application/json" --data-binary @std_qos2_0.0.1.json
      curl -X PUT -v "http://localhost:8088/policytype?id=STD_QOS2_0.1.0" -H "accept: application/json" \
       -H "Content-Type: application/json" --data-binary @std_qos2_0.0.1.json


For more details about running the OSC A1 Simulator see the related OSC NONRTRIC Wiki page (Release E) and OSC A1 Simulator Documentation (latest)

...