Versions Compared

Key

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

This page describes:

  • an end-to-end example of manipulating A1 Policies using the H Release functions for A1 Policies.
  • an example of using the Information Coordinator service to create/manage Information Types, Producers and Jobs.

Table of Contents

Overview of the End to End A1-Policy call

Details of the architecture can be found from the following link:  Release HI

Preparation

It is recommended to use it/dep repo as it has ready to use helm charts and test data to create and populate data into nonrtric k8s deployment. 

Instruction can be found in Deploy NONRTRIC in Kubernetes.

End to end call from Policy Management



End to End call from NONRTRIC Control Panel (A1 Policy) to A1 simulator

Perform Policy Operations via Control Panel

  • Open Control Panel in browser. To check which port your control panel is running, the following command can be used:

    Code Block
    languagebash
    themeMidnight
    kubectl get svc -n nonrtric controlpanel
    
    NAME           TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)                         AGE
    controlpanel   NodePort   10.111.91.199   <none>        8080:30091/TCP,8081:30092/TCP   168m


...

  • For each policy type there is a '+' icon to create a new policy of that specific type. Click on '+' icon to create new policy

Image Modified

  • Choose your ric from drop-down menu and provide any arbitrary values for QoS-ID, UE-ID and Priority

...

Code Block
languagebash
themeMidnight
127.0.0.1 - - [08/Jun/2021 11:43:42] "DELETE /a1-p/policytypes/1/policies/aa8feaa88d944d919ef0e83f2172a5000 HTTP/1.0" 202 -


End to end call from Information Coordinator Service


From the Control Panel, Producer and Jobs can only be listed. 

...

In this example, test data is been used, so there is no real producer connected.

Type

Create Type

Code Block
languagebash
themeMidnight
curl -X 'PUT' \
  'http://localhost:30091/data-producer/v1/info-types/type2' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "info_job_data_schema": {
    "$schema":"http://json-schema.org/draft-07/schema#",
    "title":"STD_Type1_1.0.0",
    "description":"EI-Type 1",
    "type":"object"
  }
}'

...

  • 200 Type updated
  • 201 Type created

Delete Type

Code Block
languagebash
themeMidnight
curl -X 'DELETE' \
  'http://localhost:30091/data-producer/v1/info-types/type2' \
  -H 'accept: application/json'

...

  • 204 Type deleted
  • 404 Type not found

Producers

Create Producer

Code Block
languagebash
themeMidnight
curl -X 'PUT' \
  'http://localhost:30091/data-producer/v1/info-producers/2' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "info_producer_supervision_callback_url": "https://producer-stub:8093/callbacks/supervision/prod-a",
  "supported_info_types": [
    "type2"
  ],
  "info_job_callback_url": "https://producer-stub:8093/callbacks/job/prod-a"
}'

...

  • 200 Producer updated
  • 201 Producer created

Delete Producer

Code Block
languagebash
themeMidnight
curl -X 'DELETE' \
'http://localhost:30091/data-producer/v1/info-producers/2' \
-H 'accept: application/json'

...

  • 204 Producer deleted
  • 404 Producer not found

Jobs

Create Job

Code Block
languagebash
themeMidnight
curl -X 'PUT' \
  'http://localhost:30091/data-consumer/v1/info-jobs/2?typeCheck=false' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "info_type_id": "type2",
  "job_result_uri": "https://ricsim_g3_1:8185/datadelivery",
  "job_owner": "ricsim_g3_1",
  "job_definition": {},
  "status_notification_uri": "http://producer:80/"
}'

...

  • 200 Job updated
  • 201 Job created

Delete Job

Code Block
languagebash
themeMidnight
curl -X 'DELETE' \
  'http://localhost:30091/data-consumer/v1/info-jobs/1' \
  -H 'accept: application/json'

...