Versions Compared

Key

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

...


1. Authorization check: POST to the Authentication Agent (from the starting config config/application.yaml )
2. Validation: The URLs are used only for URI validation
3. Consumer starts a job on the Producer POST producerCallbacks.startInfoSubscriptionJob->restClient.post(producer.getJobCallbackUrl(), jobCallbackBody(infoJob))  

ICS Callbacks Flow



Demo Application - Java Producer and Consumer 


Sample application: ics-producer-consumer
Script for the demo: start.sh

...

Code Block
languagetext
Demo Producer Docker logs 

2024-04-02 12:48:05 INFO  c.d.p.p.SimpleProducer:141 - {"bootstrapServers":"kafka-zkless:9092","topic":"mytopic","source":"com.demo.producer.producer.SimpleProducer","message":"ygHwxXSIxW","key":"f8f1a7a7-a78e-4c7d-9b8d-108bb0cc9e2c"}
2024-04-02 12:48:06 INFO  c.d.p.p.SimpleProducer:141 - {"bootstrapServers":"kafka-zkless:9092","topic":"mytopic","source":"com.demo.producer.producer.SimpleProducer","message":"KNIbP10zfN","key":"b058d00f-bbcd-4d2c-936b-6327847d4c2a"}
2024-04-02 12:48:07 INFO  c.d.p.p.SimpleProducer:141 - {"bootstrapServers":"kafka-zkless:9092","topic":"mytopic","source":"com.demo.producer.producer.SimpleProducer","message":"V6fH1NkdeH","key":"ae1a83a3-d8a7-40c8-9d98-529230f8b585"}
2024-04-02 12:48:08 INFO  c.d.p.p.SimpleProducer:141 - {"bootstrapServers":"kafka-zkless:9092","topic":"mytopic","source":"com.demo.producer.producer.SimpleProducer","message":"m76qvRFh6f","key":"abccde52-fa72-4fd4-99ab-5bc21514d825"}
2024-04-02 12:48:09 INFO  c.d.p.p.SimpleProducer:141 - {"bootstrapServers":"kafka-zkless:9092","topic":"mytopic","source":"com.demo.producer.producer.SimpleProducer","message":"t7FJYnFr43","key":"0602239e-34e9-45a6-a04a-3c67b4c7d9e4"}

++++++++++++++++++++++++++++++++++++++++++++++++++++

Demo Consumer Docker logs 

2024-04-02 12:48:05 INFO  c.d.c.c.SimpleConsumer:158 - {"message":"Topic: mytopicMessage: ygHwxXSIxW"}
2024-04-02 12:48:06 INFO  c.d.c.c.SimpleConsumer:158 - {"message":"Topic: mytopicMessage: KNIbP10zfN"}
2024-04-02 12:48:07 INFO  c.d.c.c.SimpleConsumer:158 - {"message":"Topic: mytopicMessage: V6fH1NkdeH"}
2024-04-02 12:48:08 INFO  c.d.c.c.SimpleConsumer:158 - {"message":"Topic: mytopicMessage: m76qvRFh6f"}
2024-04-02 12:48:09 INFO  c.d.c.c.SimpleConsumer:158 - {"message":"Topic: mytopicMessage: t7FJYnFr43"}

++++++++++++++++++++++++++++++++++++++++++++++++++++

ICS logs

2024-04-02T12:48:05.615Z DEBUG 1 --- [or-http-epoll-2] o.o.i.c.r1producer.ProducerCallbacks     : Job subscription 1 started OK 1
2024-04-02T12:48:05.820Z DEBUG 1 --- [io-8083-exec-10] o.o.i.repository.InfoTypeSubscriptions   : Added type status subscription 1


GUI Consoles and Panels

Automatic

Running the script : red.sh will

...

bash red.sh --skip-build --no-console

Manual

Redpanda Console: 

After kafka is up and running 

docker-compose -f docker-composeRedPanda.yaml up -d

Redpanda console available at: http://localhost:8888



Manual NONRTRIC-controlpanel:

git clone "https://gerrit.o-ran-sc.org/r/portal/nonrtric-controlpanel"

Changed the configuration files as shown here: 

...

docker-compose -f ./nonrtric-controlpanel/docker-compose/docker-compose.yaml \
               -f ./nonrtric-controlpanel/docker-compose/control-panel/docker-compose.yaml \
               -f ./nonrtric-controlpanel/docker-compose/nonrtric-gateway/docker-compose.yaml up -d

ICS informations displayed here: http://localhost:8181


ICS-PRODUCER AND CONSUMER onboard and deploy with RAPPMANAGER

Overview

This documentation outlines the steps for testing the installation of the rAppManager on a remote Kubernetes deployment. The setup is conducted on an OpenStack Kubernetes v1.24 cluster on AKS (Azure Kubernetes Service).

Prerequisites

  • Access to a Kubernetes cluster (OpenStack Kubernetes v1.24 on AKS).
  • Git installed on your local machine.
  • Postman installed on your local machine.

Installation Steps

Step 1: Clone the Repository on your k8s cluster

Clone the RappManager repository using the following command:

git clone "https://gerrit.o-ran-sc.org/r/nonrtric/plt/rappmanager"

Step 2: Run Installation Scripts

Navigate to the rappmanager/scripts directory and run the installation script (the parameter dev will install the latest snapshot images):

cd ~/rappmanager/scripts
sudo ./install-all.sh dev

Step 3: Generate Sample Rapp Files

Navigate to the sample-rapp-generator directory and run the generation scripts:

cd ~/rappmanager/sample-rapp-generator
bash generate.sh rapp-sample-ics-producer/
bash generate.sh rapp-sample-ics-consumer/

Step 4: Retrieve Generated Files

After running the generation scripts, retrieve the following generated files, and download them onto your machine:

  • rapp-sample-ics-producer.csar
  • rapp-sample-ics-consumer.csar

Step 5: Onboard and Deploy Rapps using Postman

Use the provided Postman collection to manage the RappManager. The following actions can be performed:

...

Make sure to change the IP and to point at the correct rapp csar package.

Step 6: Start Producer and Consumer

You can use this endpoint to start the app to produce/consume

...

sudo kubectl run curlpod -n nonrtric --image=radial/busyboxplus:curl --rm -it -- /bin/sh -c "curl -X GET http://consumer-service:8081/startConsumer/mytopic"

Conclusion

Following the above steps will allow you to install and test the rAppManager on a Kubernetes cluster. Ensure you have all necessary permissions and prerequisites before beginning the installation process.

...