User-Guide
Overview
The entire operation scenario can be checked when deployed with KPIMON xApp, Traffic Steering xApp and QP Driver xApp.
This is compatible with influxDB2.
Build Image
Use the docker build command for docker image build.
qp-aimlfw $ docker build -f Dockerfile .
Setting up curl (7.68.0-1ubuntu2.14) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
Processing triggers for ca-certificates (20211016ubuntu0.20.04.1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Removing intermediate container 694003ecb2e1
---> 18d14cdf7365
Step 15/19 : COPY --from=builder /opt/qoe-aiml-assist/build/qoe-aiml-assist .
---> 20d6be2c65b1
Step 16/19 : COPY --from=builder /usr/local/include /usr/local/include
---> e5f0c6465df4
Step 17/19 : COPY --from=builder /usr/local/lib /usr/local/lib
---> 5bcaca789e8c
Step 18/19 : COPY --from=builder /opt/qoe-aiml-assist/config/* /opt/ric/config/
---> a5ef330d90df
Step 19/19 : RUN ldconfig
---> Running in b6ee4f81f4ff
Removing intermediate container b6ee4f81f4ff
---> 91d0473a7cf1
Successfully built 91d0473a7cf1
Successfully tagged nexus3.o-ran-sc.org:10004/o-ran-sc/ric-app-qp-aimlfw-docker:1.0.0
Environments of qp-aimlfw
By modifying the config/config-file.json file before onboarding, we can change the environment variable of the QoE Prediction assist xApp. Below is a description of the configurable environmental variables related to QoE xApp.
INFLUX_URL |
URL contianing the address and port of influxDB. ex) “http://127.0.0.1:8086” |
INFLUX_TOKEN |
a influx token composed of alphabets and numbers. |
INFLUX_BUCKET |
a bucket name of influxDB. |
INFLUX_ORG |
organization name of influxDB. |
INFLUX_QUERY_START |
start point of the influxDB query range ex) “-3m” or “-10s” |
INFLUX_QUERY_STOP |
end point of the influxDB query range. If this value is not set like “”, the end point is set to the current time(now). ex) “-1m” or “” |
MLXAPP_REQ_HEADER_HOST |
header of MLxApp’s host. ex) “qoe-model.kserve-test.example.com” |
MLXAPP_HOST |
host address of MLxApp. ex) “http://127.0.0.1” |
MLXAPP_PORT |
port number of MLxApp. ex) “2222” |
MLXAPP_REQ_URL |
requet URL of MLxapp. ex) “v1/models/qoe-model:predict” |
Onboarding of qp-aimlfw using dms_cli tool
Before deploying QoE Prediction assist xApp, onboarding should be done using config-file.json and schema.json Onboarding is required for the first time before deploy, and must be performed whenever the value of config-file.json is changed. For onboarding, dms_cli and helm3 are required. dms_cli can be referred to in this documentation <https://docs.o-ran-sc.org/projects/o-ran-sc-it-dep/en/latest/installation-guides.html#ric-applications>
$ dms_cli onboard --config_file_path=config/config-file.json --schema_file_path=config/schema.json
httpGet:
path: '{{ index .Values "readinessProbe" "httpGet" "path" | toJson }}'
port: '{{ index .Values "readinessProbe" "httpGet" "port" | toJson }}'
initialDelaySeconds: '{{ index .Values "readinessProbe" "initialDelaySeconds" | toJson }}'
periodSeconds: '{{ index .Values "readinessProbe" "periodSeconds" | toJson }}'
httpGet:
path: '{{ index .Values "livenessProbe" "httpGet" "path" | toJson }}'
port: '{{ index .Values "livenessProbe" "httpGet" "port" | toJson }}'
initialDelaySeconds: '{{ index .Values "livenessProbe" "initialDelaySeconds" | toJson }}'
periodSeconds: '{{ index .Values "livenessProbe" "periodSeconds" | toJson }}'
{
"status": "Created"
}
Deployment of qp-aimlfw using dms_cli tool
Deploy the onboarded QoE Prediction assist xApp using dms_cli.
$ dms_cli install --xapp_chart_name=qoe-aiml-assist --version=1.0.0 --namespace=ricxapp
status: OK
Check if QoE Prediction assist xApp deployed normally.
$ kubectl get pods -n ricxapp
NAME READY STATUS RESTARTS AGE
ricxapp-qoe-aiml-assist-5f788bb667-47k5h 0/1 Pending 0 3m
$ kubectl get svc -n=ricxapp
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
aux-entry ClusterIP 10.106.133.25 <none> 80/TCP,443/TCP 8d
service-ricxapp-qoe-aiml-assist-http ClusterIP 10.96.95.160 <none> 8080/TCP 129m
service-ricxapp-qoe-aiml-assist-rmr ClusterIP 10.107.182.86 <none> 4560/TCP,4561/TCP 129m