Up-to-date information
See section "Demo on how to deploy the near-RT RIC, compile and connect the E2 simulator, compile the hello-world go xapp and how use the dms_cli to deploy it" in 2022-05-24 Release F or generally the links here: Introduction and guides#Installingthenear-RTRIC
Some old information from 2020 related to A1 (not sure if still works)
Create a Policy Type Here we define a new policy type and call the A1 mediator to create such a policy type. Run ... $ cd ~/dep/ List Policy Types We now should see the newly created policy type when querying the A1 mediator. Run ... $ curl -X GET --header "Content-Type: application/json" --header "accept: application/json" http://$(hostname):32080/a1mediator/a1-p/policytypes Create a Policy Instance Policy type is merely a declaration. Now we create a policy instance, filling the properties with actual values. This is also carried out by the A1 mediator. A1 mediator will distribute the new policy instance to the Traffic Steering xApp. And then we should see that the TS xApp receives this policy instancee and its behavior of "filtering RAN data by threshold" changing to using the new threshold value. Run... $ POLICY_ID="tsapolicy145" |
103 Comments
Gopalasingham Aravinthan
Hi Lusheng,
Thanks for the RIC XAPP deployment guide.
I was able to deploy all the xAPPs except QP driver.
I have the following error when I try to onboard using curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "qpdriver"}'
{
"error_source": "config-file.json",
"error_message": "'__empty_control_section__' is a required property",
"status": "Input payload validation failed"
}
I think the error is from the descriptor of the version 1.0.9 located at onboard.qpd.url
But when I changed the qpdriver version to 1.0.0 it works
https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/qp-driver.git;a=blob_plain;f=xapp-descriptor/config.json;h=94582086d02df6299dd902556aa2e2111ed94268;hb=4074973dbbe90e11643c229fff39bb8a6f662dc8
Thanks
Balaji K
Thanks this helped...
Anonymous
Hello!
This can be resolved by deleting lines 38-41.
"controls": {
"example_int": 10000,
"example_str": "value"
}
--Cornellius Dagmang
Anonymous
This works to me, thanks!!
Replace the url in onboard.qpd.url with https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/qp-driver.git;a=blob_plain;f=xapp-descriptor/config.json;h=94582086d02df6299dd902556aa2e2111ed94268;hb=4074973dbbe90e11643c229fff39bb8a6f662dc8
And you will onboard successfully.
Gautam Kumar
Hi Luseng,
I have created multiple policies while testing & want to delete those policies from Nonrt dashboard GUI. I have used below command to delete
curl -X DELETE --header "Content-Type: application/json" --header "accept: application/json" http://192.168.122.31:32080/a1mediator/a1-p/policytypes/20020
By using above command it is getting deleted from VM but not Nonrt dashboard GUI. Please guide me the command to delete policies from Nonrt dashboard GUI.
Thanks ,
Gautam
Babu Rajagopal
After onboarding all the xApps, there is a error sending message from ts-xapp
In get_sdl_ue_data()
message body {"UEPredictionSet": ["12345"]}
payload length 30
<SNDR> send failed: 2
Any known fixes/workarounds?
Mario Salinas
Same issue for me
Zhengwei Gao
Here is the normal output:
In get_sdl_ue_data()
message body {"UEPredictionSet": ["12345"]}
payload length 30
Prediction Callback got a message, type=30002 , length=182
payload is { "12345" : { "310-680-200-555001" : [ 2000000 , 1200000 ], "310-680-200-555002" : [ 800000 , 400000 ], "310-680-200-555003" : [ 800000 , 400000 ] } }
Prediction for 12345
from the source code:
void send_prediction_request(vector<string> ues_to_predict) {
int mtype = 30000;
// payload updated in place, nothing to copy from, so payload parm is nil
if ( ! msg->Send_msg( mtype, Message::NO_SUBID, strlen( (char *) send_payload.get() ), NULL )) {
fprintf( stderr, "<SNDR> send failed: %d\n", msg->Get_state() );
}
}
void prediction_callback( Message& mbuf, int mtype, int subid, int len, Msg_component payload, void* data ) {
cout << "Prediction Callback got a message, type=" << mtype << " , length=" << len << "\n";
cout << "payload is " << payload.get() << "\n";
}
which means that prediction_callback is not correctly called.
in tsxapp.main, prediction_callback is binded to MSG_ID=30002.
extern int main( int argc, char** argv ) {
xfw->Add_msg_cb( 20010, policy_callback, NULL );
xfw->Add_msg_cb( 30002, prediction_callback, NULL );
}
RMR will route msg with MSG_ID=30000 to qpdriver xapp. qpdriver will process it , and generate another msg with MSG_ID=30001
rmr_xapp.register_callback(steering_req_handler, 30000)
success = self.rmr_send(payload, 30001)
RMR will further route msg with MSG_ID=30001 to qp xapp. qp will process it, and generate another msg with MSG_ID=30002, which will be routed back to tsxapp by RMR.
qp_xapp.register_callback(qp_predict_handler, 30001)
success = self.rmr_send(mock_msg.encode(), 30002)
Based on above analysis, my best guess is that, qp-driver and qp xapp has not been deployed successfully.
GeunHoe KIM
I also facing the same problem.
Can anyone help?
Anonymous
Hello,
Have you managed to solve the problem?
Zhengwei Gao
Hi Experts,
I got RMR_ERR_NOENDPT after creating policy instance. Can you pls help? thanks
here is part of 'kubectl logs -f deployment-ricplt-a1mediator-66fcf76c66-8dxcj -n ricplt':
::ffff:10.244.0.53 - - [2020-08-07 07:41:28] "PUT /a1-p/policytypes/20008/policies/tsapolicy145 HTTP/1.1" 202 116 0.007207
{"ts": 1596786088608, "crit": "DEBUG", "id": "a1.a1rmr", "mdc": {}, "msg": "_send_msg: sending: {'payload': b'{\"operation\": \"CREATE\", \"policy_type_id\": 20008, \"policy_instance_id\": \"tsapolicy145\", \"payload\": {\"threshold\": 5}}', 'payload length': 115, 'message type': 20010, 'subscription id': 20008, 'transaction id': b'67712138d88111eab3bcd2cb2aea4bae', 'message state': 0, 'message status': 'RMR_OK', 'payload max size': 4096, 'meid': b'', 'message source': 'service-ricplt-a1mediator-rmr.ricplt:4562', 'errno': 0}"}
{"ts": 1596786088608, "crit": "WARNING", "id": "a1.a1rmr", "mdc": {}, "msg": "RMR send failed; pre-send summary: {'payload': b'{\"operation\": \"CREATE\", \"policy_type_id\": 20008, \"policy_instance_id\": \"tsapolicy145\", \"payload\": {\"threshold\": 5}}', 'payload length': 115, 'message type': 20010, 'subscription id': 20008, 'transaction id': b'67712138d88111eab3bcd2cb2aea4bae', 'message state': 0, 'message status': 'RMR_OK', 'payload max size': 4096, 'meid': b'', 'message source': 'service-ricplt-a1mediator-rmr.ricplt:4562', 'errno': 0}, post-send summary: {'payload': None, 'payload length': 115, 'message type': 20010, 'subscription id': 20008, 'transaction id': b'67712138d88111eab3bcd2cb2aea4bae', 'message state': 2, 'message status': 'RMR_ERR_NOENDPT', 'payload max size': 4096, 'meid': b'', 'message source': 'service-ricplt-a1mediator-rmr.ricplt:4562', 'errno': 6}"}
{"ts": 1596786088608, "crit": "DEBUG", "id": "a1.a1rmr", "mdc": {}, "msg": "_send_msg: result message state: 2"}
{"ts": 1596786088608, "crit": "WARNING", "id": "a1.a1rmr", "mdc": {}, "msg": "_send_msg: failed after 20 retries"}
Anonymous
hi all,
i rebuild the docker image from "ric-app-ts 1.0.11" of Gerrit, and re-deploy trafficxapp, there is no RMR_ERR_NOENDPT error now.
::ffff:10.244.0.61 - - [2020-08-07 14:12:02] "PUT /a1-p/policytypes/20008/policies/tsapolicy145 HTTP/1.1" 202 116 0.008321
{"ts": 1596809522972, "crit": "DEBUG", "id": "a1.a1rmr", "mdc": {}, "msg": "_send_msg: sending: {'payload': b'{\"operation\": \"CREATE\", \"policy_type_id\": 20008, \"policy_instance_id\": \"tsapolicy145\", \"payload\": {\"threshold\": 5}}', 'payload length': 115, 'message type': 20010, 'subscription id': 20008, 'transaction id': b'f769383ad8b711eaacd4cac483485e64', 'message state': 0, 'message status': 'RMR_OK', 'payload max size': 4096, 'meid': b'', 'message source': 'service-ricplt-a1mediator-rmr.ricplt:4562', 'errno': 0}"}
{"ts": 1596809522977, "crit": "DEBUG", "id": "a1.a1rmr", "mdc": {}, "msg": "_send_msg: result message state: 0"}
Anonymous
Would someone provide prerequisite and instructions to create the xApp??
user-d3360
Please post after you log in to Confluence so people know who you are.
Anonymous
Can anyone let me know the same steps for Admission Control xAPP
Michael Duan
Was the image(nexus3.o-ran-sc.org:10004/o-ran-sc/bldr-ubuntu18-c-go:8-u18.04) used ts/test/Dockerfile removed in nexus?
I can't find it or its other version for ubuntu18 in nexus
Zhengwei Gao
pls refer to ORAN Base Docker Images for CI Builds#Imagebldr-ubuntu18-c-go
you need:
Michael Duan
I had tried it before and I could find bldr-ubuntu18-c-go:9-u18.04 in nexus at that time,
but there is not bldr-ubuntu18-c-go in nexus now.
Zhengwei Gao
Yeah, there is no bldr-ubuntu18-c-go image any more in the repository.
I propose two solutions:
(1) you can build the docker image manually and retag it:
https://gerrit.o-ran-sc.org/r/gitweb?p=it/dev.git;a=blob;f=bldr-imgs/bldr-ubuntu18-c-go/Dockerfile;h=c7be3e4a4456a74ddfa5e4e222b77d9fbdc03fec;hb=HEAD
(2) you may pull the image from my docker-hub and retag it:
Michael Duan
Thank for your help
Simon Chang
It works, thanks!
If someone meet issue when running populate_db.sh
You can try the patch
diff --git a/test/populatedb/Dockerfile b/test/populatedb/Dockerfile
index 479fcd5..bb44b5a 100644
--- a/test/populatedb/Dockerfile
+++ b/test/populatedb/Dockerfile
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ==================================================================================
-FROM nexus3.o-ran-sc.org:10004/o-ran-sc/bldr-ubuntu18-c-go:8-u18.04 as buildenv
+FROM zhenggao2/bldr-ubuntu18-c-go:9-u18.04 as buildenv
RUN mkdir /playpen
RUN mkdir /playpen/src
@@ -22,7 +22,8 @@ ENV LD_LIBRARY_PATH=/usr/local/lib
RUN apt-get install -y cpputest
RUN apt-get remove -y libboost-all-dev
-RUN apt-get install -y libboost-all-dev
+RUN apt-get update
+RUN apt-get install -y libboost-all-dev
RUN apt-get install -y libhiredis-dev
RUN apt-get install -y valgrind
stefan draškoci
Late response but the image is tagged as 1.9.0 rather than 9-u18.04
azsx9015223@gmail.com
In step 4, try git clone from cherry branch.
Anonymous
Can anyone help me why my pod is not running after running the script i.e populate_db.sh.
kubectl get pods -n ricplt
NAME READY STATUS RESTARTS AGE
dbprepopjob-ws99s 0/1 ImagePullBackOff 0 83s
Anonymous
Dear all:
I have a same problem, anyone help?
Anonymous
same
azsx9015223@gmail.com
Because it didn't do all 17 steps, and it failed in one of the step.
I also facing the same problem.
Anonymous
Hi everyone,
Thanks for the RIC XAPP deployment guide.
I was able to deploy all the xAPPs except QP driver.
I have the following error when I try to onboard using
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.qpd.url"
error message:
{
"error_source": "config-file.json",
"error_message": "'__empty_control_section__' is a required property",
"status": "Input payload validation failed"
}
Anonymous
I got the same error. Were you able to fix this?
Anonymous
Hi everyone,
Thanks for the RIC XAPP deployment guide.
I was able to deploy all the xAPPs except QP driver.
I have the following error in this step:
root@near-VirtualBox:~/dep/ts/test/populatedb# ./populate_db.sh
release "dbprepop" deleted
Sending build context to Docker daemon 19.97kB
Step 1/17 : FROM nexus3.o-ran-sc.org:10004/o-ran-sc/bldr-ubuntu18-c-go:8-u18.04 as buildenv
manifest for nexus3.o-ran-sc.org:10004/o-ran-sc/bldr-ubuntu18-c-go:8-u18.04 not found: manifest unknown: manifest unknown
NAME: dbprepop
LAST DEPLOYED: Tue Feb 23 16:15:45 2021
NAMESPACE: ricplt
STATUS: DEPLOYED
RESOURCES:
==> v1/Job
NAME COMPLETIONS DURATION AGE
dbprepopjob 0/1 0s 0s
==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
dbprepopjob-667t5 0/1 ContainerCreating 0 0s
Berchris Requiao
Replace the ts/test/populatedb/Dockerfile by this:
Cedric Morin
Hi,
I'm working with Bronze release.
I have a question regarding the use of private docker registries for xApp image hosting.
As far as I understand, in the hello world xApp scenario, the image is pulled from a public repository : nexus3.o-ran-sc.org:10002, which is specified in the config file.
I tried to use a private repository instead, so I replaced the "registry" name in the config file by my own registry : 10.0.0.1:5000 , which hosts my app : testApp
When I try to pull my image using :
docker pull 10.0.0.1:5000/testApp
the image is successfully pulled.
However, when I try to load the configuration using :
curl --location --request POST "http://$KONG_IP:32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
I receive an error indicating :
10.0.0.1:5000 does not match ^[A-Za-z0-9\\\\.-]{1,}\\\\.[A-Za-z]{1,}(?:\\\\:\\\\d+)?$
I agree that my input does not match the required format, but I do not understand why this format is required. I cannot put at least one alphabetical letter between the IP address and the port, as required (at least I didn't find a way to do so, but I'm not a docker expert).
Do you know the reason for this format check ? Is there something that I am missing, or do I misuse the registry field ?
Thank you in advance,
Best regards,
Cedric
EDIT : I found a workaround : I edited the /etc/host file of the machine hosting the near RT RIC, and added an entry with a compliant name for the repo : 10.0.0.1 docker-repository.local
However this solution requires to have admin access to the near RT RIC machine, I think that the validity check of the config file should accept IP addresses, unless there is a reason not to do so.
Kiel Friedt
Modify the regex to accept any location ie: .* and then this issue goes away. you will need to rebuild the corresponding image and replace it in the running kubernetes cluster.
Anonymous
HI every , I have one question about Policy Type.
if it's only one policy type for only one xapp?
Kiel Friedt
I have successfully ported the RIC from x86 to ARM64 but having issues debugging xapp. Modified the regex to accept my local registry. Running python http server to serve the file to for xapp.
I ported the ric-app-hw:1.0.6 app over to arm64 and ran the following command:
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.hw.url"
response:
{
"status": "Created"
}
command:
curl --location --request GET "http://$(hostname):32080/onboard/api/v1/charts"
response:
{
"hwxapp": [
{
"name": "hwxapp",
"version": "1.0.0",
"description": "Standard xApp Helm Chart",
"apiVersion": "v1",
"appVersion": "1.0",
"urls": [
"charts/hwxapp-1.0.0.tgz"
],
"created": "2021-03-30T19:38:11.209682186Z",
"digest": "aa48978de777bb2c04cd843778696a4b116fe3c134aafbae9d674f97b78a23df"
}
]
}
But I never see the xapp start on kubernetes.
command:
kubectl get pods -n ricxapp
response:
No resources found in ricxapp namespace.
EDIT: Sorry forgot the most important part.
curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "hwxapp"}'
"operation XappDeployXapp has not yet been implemented"
UPDATE:
Looks like appmgr under the master branch is not working correctly. Ive gone back to cherry and now im having cert issues:
I do not see this issue with master, I redeployed the entire ric once more and still see the issue.
Any ideas on how to debug this?
Anonymous
You're missing step 3.
Anonymous
Is tiller added to k8s and ready before deploy? I had the same issue and adding a --wait to helm init (with tiller installed) worked
Kiel Friedt
The ric-plt-appmgr was working no issues but I kept getting “operation XappDeployXapp has not yet been implemented” or some variant when deploying an xapp. I pulled changes and rebuilt but when I redeploy the secrets are mising. The certs and keys were empty:
This was corrected by running the
/dep/ric-dep/helm/appmgr/templates/bin/_appmgr-tiller-secret-copier.sh.tpl
This created three items:
Now I have issues with the certs.
How should this process be completed?
Anonymous
Hi Everyone,
I am trying to bring up the XAPP on bronze release, and all the pods are up and running.
But when I try to onboard Xapp
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.ts.url"
The curl command just waits
When I try to read the /var/log/syslog
I see these logs
Apr 7 08:21:41 bronze kubelet[699]: W0407 08:21:41.202464 699 kubelet_pods.go:849] Unable to retrieve pull secret ricplt/secret-nexus3-o-ran-sc-org-10002-o-ran-sc for ricplt/deployment-ricplt-vespamgr-7458d9b5d-kpv87 due to secret "secret-nexus3-o-ran-sc-org-10002-o-ran-sc" not found. The image pull may not succeed.
Apr 7 08:21:44 bronze kubelet[699]: W0407 08:21:44.208763 699 kubelet_pods.go:849] Unable to retrieve pull secret ricplt/secret-nexus3-o-ran-sc-org-10002-o-ran-sc for ricplt/deployment-ricplt-rtmgr-9d4847788-t9ht4 due to secret "secret-nexus3-o-ran-sc-org-10002-o-ran-sc" not found. The image pull may not succeed.
Apr 7 08:21:44 bronze dhclient[14518]: DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 12 (xid=0x19f17239)
Apr 7 08:21:45 bronze kubelet[699]: E0407 08:21:45.015589 699 summary_sys_containers.go:47] Failed to get system container stats for "/system.slice/docker.service": failed to get cgroup stats for "/system.slice/docker.service": failed to get container info for "/system.slice/docker.service": unknown container "/system.slice/docker.service"
Apr 7 08:21:47 bronze kubelet[699]: W0407 08:21:47.203279 699 kubelet_pods.go:849] Unable to retrieve pull secret ricplt/secret-nexus3-o-ran-sc-org-10002-o-ran-sc for ricplt/deployment-ricplt-alarmadapter-64d559f769-4tzjx due to secret "secret-nexus3-o-ran-sc-org-10002-o-ran-sc" not found. The image pull may not succeed.
Apr 7 08:21:55 bronze kubelet[699]: E0407 08:21:55.055905 699 summary_sys_containers.go:47] Failed to get system container stats for "/system.slice/docker.service": failed to get cgroup stats for "/system.slice/docker.service": failed to get container info for "/system.slice/docker.service": unknown container "/system.slice/docker.service"
Can anyone let me know, why the onboarding of xapp is not responding pls.
Mooga Wilson
This worked for me:
https://blog.csdn.net/jeffyko/article/details/107426626
Anonymous
Thank you very much Moogan Wilson, It worked for me
Yevhenii Mormul
Hi experts,
I face issues with deploying trafficxapp. In short, I am using cherry release and I used both methods described here https://blog.csdn.net/jeffyko/article/details/107426626 as well as the method described in the instructions above.
All of them allow me to deploy hw, qp, qpdriver, but not the ts and I dont understand why.
Output of: sudo kubectl get pod -n ricxapp -w -o wide
This are the commands I am using to setup the ts and their outputs (please note I made a script which takes an IP as one of the arguments and it succesfuly deploys hw, qp and qpdriver, and I also tried running those commands without script):
echo && echo Pulling nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ts:1.0.11
docker pull nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ts:1.0.11
echo '{"config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD" }' > onboard.ts.url
curl --location --request POST "http://""$IP"":32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.ts.url"}
sudo curl --location --request GET "http://""$IP"":32080/onboard/api/v1/charts"
curl --location --request POST "http://""$IP"":32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "trafficxapp"}' -v
During setup those don't throw any errors, but trafficxapp just doesnt get deployed.
UPD
After running
sudo kubectl get events -A
I was able to localize it to this problem
Failed to pull image "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ts:1.1.0": rpc error: code = Unknown desc = Error response from daemon: manifest for nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-ts:1.1.0 not found: manifest unknown: manifest unknown
I also tried running it with the custom json file where the tag was changed: 1.1.0 → 1.0.11 or 1.0.13 but non of them didnt help and daemon was still throwing the same error.
Any help would be much appreciated,
Yevhenii
Anonymous
Maybe you can try different version of ts.git in https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git
this is my onboard.ts.url:
{"config-file.json_url":"https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git;a=blob_plain;f=xapp-descriptor/config.json;h=c703bf94240918f9c04489d34c468fd7bb333098;hb=ee5e434a348bb9107e0960c531fff65b00c22d76"}
Yevhenii Mormul
Dear Anonymous,
I cannot describe how grateful am I, this link is a miracle. thank you sooo much.
Best regards,
Yevhenii
azsx9015223@gmail.com
Hi all,
in step 4, ./populate_db.sh,
I keep getting the error message like this
Err:94 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 libpython3.6 amd64 3.6.9-1~18.04ubuntu1.1
404 Not Found [IP: 91.189.88.152 80]
Err:95 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 libpython3.6-dev amd64 3.6.9-1~18.04ubuntu1.1
404 Not Found [IP: 91.189.88.152 80]
Err:97 http://security.ubuntu.com/ubuntu bionic-updates/main amd64 python3.6-dev amd64 3.6.9-1~18.04ubuntu1.1
404 Not Found [IP: 91.189.88.152 80]
.
.
.
.
.
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/python3.6/libpython3.6_3.6.9-1~18.04ubuntu1.1_amd64.deb 404 Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/python3.6/libpython3.6-dev_3.6.9-1~18.04ubuntu1.1_amd64.deb 404 Not Found [IP: 91.189.88.152 80]
E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/p/python3.6/python3.6-dev_3.6.9-1~18.04ubuntu1.1_amd64.deb 404 Not Found [IP: 91.189.88.152 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
The command '/bin/sh -c apt-get install -y libboost-all-dev' returned a non-zero code: 100
I have no clue why it happened, and I already try "$ apt-get upgrade" already, still not fix.
I also install libpython3.6_3.6.9-1~18.04ubuntu1.1_amd64.deb manually, and it still exists.
Does anyone also facing this issue, or have the solution to this?
Thanks a lot !
Berchris Requiao
Add "RUN apt-get update" before the first "RUN apt-get".
azsx9015223@gmail.com
You helped me a lot !!
I am very thankful to you!!
For people who don't know where to edit, the file is called 'Dockerfile' in the same directory as 'populate_db.sh'.
Kamil Kociszewski
Hi all,
i met problem with QP pod.
Maybe someone understand reason of CrashLoop?
root@myric:~/dep# sudo kubectl get pod -n ricxapp
NAME READY STATUS RESTARTS AGE
ricxapp-hwxapp-684d8d675b-5f76n 1/1 Running 0 49m
ricxapp-qp-66b57cd57b-xl8tg 0/1 CrashLoopBackOff 9 31m
ricxapp-qpdriver-6b89bb66c-wgf99 1/1 Running 0 31m
ricxapp-trafficxapp-659b5fb754-jpv2m 1/1 Running 0 31m
root@myric:~/dep# kubectl -n ricxapp describe pod ricxapp-qp-66b57cd57b-xl8tg
Name: ricxapp-qp-66b57cd57b-xl8tg
Namespace: ricxapp
Priority: 0
Node: myric/10.0.2.100
Start Time: Wed, 04 Aug 2021 09:04:00 +0000
Labels: app=ricxapp-qp
kubernetes_name=ricxapp_qp
pod-template-hash=66b57cd57b
release=qp
Annotations: <none>
Status: Running
IP: 10.244.0.70
IPs:
IP: 10.244.0.70
Controlled By: ReplicaSet/ricxapp-qp-66b57cd57b
Containers:
qp:
Container ID: docker://531423f1730539319beb08c4c6497fa7f3da7bb0aca9edc240e3a93f5950d846
Image: nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-qp:0.0.4
Image ID: docker-pullable://nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-qp@sha256:39879bd8290b81d7355819642baaf029a4f60fb322935fafdae64e75ca89667e
Ports: 4560/TCP, 4561/TCP
Host Ports: 0/TCP, 0/TCP
State: Running
Started: Wed, 04 Aug 2021 09:34:06 +0000
Last State: Terminated
Reason: Error
Exit Code: 1
Started: Wed, 04 Aug 2021 09:28:27 +0000
Finished: Wed, 04 Aug 2021 09:28:59 +0000
Ready: True
Restart Count: 9
Environment Variables from:
configmap-ricxapp-qp-appenv ConfigMap Optional: false
dbaas-appconfig ConfigMap Optional: false
Environment: <none>
Mounts:
/opt/ric/config from config-volume (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-gcv2j (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: configmap-ricxapp-qp-appconfig
Optional: false
default-token-gcv2j:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-gcv2j
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned ricxapp/ricxapp-qp-66b57cd57b-xl8tg to myric
Normal Pulling 30m kubelet, myric Pulling image "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-qp:0.0.4"
Normal Pulled 25m kubelet, myric Successfully pulled image "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-qp:0.0.4"
Normal Created 22m (x5 over 25m) kubelet, myric Created container qp
Normal Started 22m (x5 over 25m) kubelet, myric Started container qp
Warning BackOff 4m56s (x74 over 24m) kubelet, myric Back-off restarting failed container
Normal Pulled 3s (x9 over 25m) kubelet, myric Container image "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-qp:0.0.4" already present on machine
Kamil Kociszewski
change for older version image helps with this case.
Anonymous
Hello Sir,
I am getting the same issue. I have ts xapp and hw xapp working but the qp is showing crashloopbackoff error.
If you have solved this issue, kindly help Sir.
Kamil Kociszewski
Hi,
try to build docker image from qp repo and tag image with name of image that qp currently using.
after that, do rollout restart deployment for qp pod
Kamil Kociszewski
With Dawn release, i can't deploy xApps using both known methods:
curl --location --request POST "http://10.105.128.182:32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "hwxapp"}'
"operation XappDeployXapp has not yet been implemented"
root@nr-ric:~/dep# dms_cli install hwxapp 1.0.0 ricxapp
2021-09-10 11:54:56,686 - ERROR - Download helm chart failed. Helm repo return status code: 404 {"message":"no Route matched with those values"} - xapp_onboarder.api.charts
[Errno 2] No such file or directory: 'hwxapp-1.0.0.tgz'
status: NOT_OK
root@nr-ric:~/dep# curl --location --request GET "http://10.105.128.182:32080/onboard/api/v1/charts"
{
"hwxapp": [
{
"name": "hwxapp",
"version": "1.0.0",
"description": "Standard xApp Helm Chart",
"apiVersion": "v1",
"appVersion": "1.0",
"urls": [
"charts/hwxapp-1.0.0.tgz"
],
"created": "2021-09-10T11:44:26.39831211Z",
"digest": "eb5887e75fad0628155130cb7110950c5a0a1e00f623b6d3bceeec0caee0c213"
}
]
}
han cock
It appears so.
I find this strange since there is a dawn branch for the TS and QP xapps.
I wonder if they are compatible with the RIC cherry release for instance.(not compatible with bronze)
Anonymous
Kamil Kociszewski Hello Sir, I can deploy apps using dms_cli, but when I try to deploy using :
curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "hwxapp"}'
It says: "operation XappDeployXapp has not yet been implemented"
I am using dawn_example_recipe.
Kamil Kociszewski
dms_cli is now only working method.
hwxapp is also app that can be deployed using dms_cli
Anonymous
dms_cli is only method available on dawn release? But why curl command giving this error ?
Yesterday i used example_recipe.yaml and used curl command and it works well.
Kamil Kociszewski
i think this is reason
curl → helm2
dms_ci → helm3
all xapps are/will be compatible with dms_cli.
for hwxapp find config and schema in init/ folder
azsx9015223@gmail.com
According what you said below, we should change helm version to 3, so I change helm version in file "k8s-1node-cloud-init-k_1_16-h_2_17-d_cur.sh".
But when I am deploying ric-platform in dawn version (step"Deploying the Infrastructure and Platform Groups" in https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-ric-dep/en/latest/installation-guides.html#deploying-the-infrastructure-and-platform-groups), it looks like need helm2 to deploy.
Should both helm 2 and 3 be used in parallel?
Kamil Kociszewski
okay, i figure it out. now it works on dawn release.
e.g. git clone https://github.com/o-ran-sc/ric-app-qp-driver
some xapps don't have schema_file included so in find embedded-schema.json file (just find it on your VM using FIND, it works for me) and use it to onboard this apps
e.g. dms_cli onboard config-file.json schema.json
this will return:
{
"status": "Created"
}
in this step, there is wrong port in instruction, you need to change it to :8090
check if xapp is onboarded correctly and get version to next step
e.g. dms_cli install qpdriver 1.1.0 ricxapp
this will return:
status: OK
han cock
Nice.
Version 1.1.0 of qpdriver xapp has a separate control.json file from the config.json. How did you add that during onboarding?
han cock
Also, my qpdriver 1.1.0 and qp 0.0.4 pods become erroneous after deployment. I'm curious to know what is the case with yours and the versions used.
thanks
Kamil Kociszewski
qp: 0.0.3
qpdriver 1.0.9
I change versions to previous ones due to errors and now them running correctly
han cock
yeah, that's possible but qp 0.0.3 lacks recent commits like the inclusion of a predictor
Kamil Kociszewski
so, we need to wait for some fixes for this new version
Anonymous
I am not able to find embedded-schema.json. Please help me with the file for onboarding
han cock
depending on where you download your repo but here is a relative path:
/appmgr/xapp_orchestrater/dev/docs/xapp_onboarder/guide/embedded-schema.json
Kamil Kociszewski
direct link:
ric-plt-appmgr/xapp_orchestrater/dev/docs/xapp_onboarder/guide at master · o-ran-sc/ric-plt-appmgr · GitHub
Anonymous
Not able to find /appmgr directory for this git clone https://github.com/o-ran-sc/ric-app-qp-driver. please help
Kamil Kociszewski
you must clone appmgr repository, from my link for example
Anonymous
yes i did, and status: created , but when i use :
dms_cli install qpdriver 1.1.0 ricxapp
Error: This command needs 1 argument: chart name
status: NOT_OK
this error comes
Kamil Kociszewski
please share result of this command:
curl -X GET http://localhost:8090/api/charts | jq .
Anonymous
shared above
Anonymous
Kamil Kociszewski
See my steps:
dms_cli onboard /root/ric-app-qp-driver/xapp-descriptor/config.json /root/appmgr/xapp_orchestrater/dev/docs/xapp_onboarder/guide/embedded-schema.json
{
"status": "Created"
}
# curl -X GET http://localhost:8090/api/charts | jq .
"qpdriver": [
{
"name": "qpdriver",
"version": "1.1.0",
"description": "Standard xApp Helm Chart",
"apiVersion": "v1",
"appVersion": "1.0",
"urls": [
"charts/qpdriver-1.1.0.tgz"
],
dms_cli install qpdriver 1.1.0 ricxapp
Error: This command needs 1 argument: chart name
status: NOT_OK
Kamil Kociszewski
do you have ricxapp namespace?
do you have helm3 installed?
Anonymous
ricxapp namespace is there and i have helm v2.17.0
Kamil Kociszewski
please update helm to helm3:
"
from what I remember, I firstly uninstall current helm package.
then I used instructions from here:
https://helm.sh/docs/intro/install/
e.g. $
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
$ chmod 700 get_helm.sh
$ ./get_helm.sh
and then you can check version with:
helm version"
Anonymous
Sir, can i have your telegram or some id so that we can discuss on it deeply. I am stuck in dms_cli install for every xapp , same error is there
Kamil Kociszewski
you can contact me with email
kamil.kociszewski@orange.com
i'm not an expert in this topic but I had to go the same way for it to work.
Anonymous
Kamil Kociszewskiafter i did helm v3, the dms_cli install worked and got status:OK
but, got ErrImagePull in the pod
Describing the pod i got:
Failed to pull image "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-qp-driver:1.1.0": rpc error: code = Unknown desc = Error response from daemon: manifest for nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-qp-driver:1.1.0 not found: manifest unknown: manifest unknown
Please see this
Kamil Kociszewski
please find our discuss with Han Cock below in comments, version need to be downgraded due to some issues with 1.1.0 version.
Anonymous
So, first i have to change the qpdriver version from 1.1.0 to 1.0.9 from config.json and then again onboard and install?
Kamil Kociszewski
you only need to change deployment image, i have example for Kong pod.
Edit deploy image:
kubectl get deployments -n ricplt
(get deployment name for next step)
KUBE_EDITOR="nano" kubectl edit deploy r4-infrastructure-kong -n ricplt
find and change image name ->
image: kong/kubernetes-ingress-controller:0.7.0
(in qp case, change only version)
Anonymous
Thank you Sir, pod is running now. Now, how can i use or access this app?
Kamil Kociszewski
at this stage, i can't help you, im also figuring it out now.
han cock
I guess
Lianjun Li
Hi Kamil, Kamil Kociszewski
After you install the xApp, can you see its information in the appmgr?
In my case, I can install the xApp successfully, but somehow the xApp info is not in the appmgr, which causes other issues.
As showed below, the appmgr returns an empty list when I inquire about the xApp information:
root@lianjun:~# curl -i -X GET http://10.244.0.138:8080/ric/v1/xapps
HTTP/1.1 200 OK
Content-Type: application/json
Date: Wed, 16 Mar 2022 19:54:49 GMT
Content-Length: 3
Connection: close
[]
Kamil Kociszewski
Hi,
this is my output.
I need to add, that xApps working good, whole TS/AD use case working with sim data.
root@os-node-2:~# curl -i -X GET http://(x):8080/ric/v1/xapps
HTTP/1.1 404
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 1103
Date: Thu, 17 Mar 2022 11:07:33 GMT
<!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">h1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} h2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} h3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} body {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} b {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} p {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;} a {color:black;} a.name {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Message</b> /ric/v1/xapps</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/8.5.39 (Ubuntu)</h3></body></html>
Lianjun Li
Hi Kamil Kociszewski,
Thank you for your quick response, the returned result looks a bit strange, just to confirm, the IP address used for 'curl -i -X GET http://(IP):8080/ric/v1/xapps' is the appmgr IP, which can be obtained by 'kubectl get endpoints -A', is that your case?
Kamil Kociszewski
i used kong service IP,
but please also find output for appmanager ip from endpoints
root@os-node-2:~# curl -i -X GET http://10.244.0.137:8080/ric/v1/xapps
HTTP/1.1 200 OK
Content-Type: application/json
Date: Fri, 18 Mar 2022 07:13:47 GMT
Content-Length: 3
Connection: close
[]
Lianjun Li
Thank you Kamil Kociszewski, you also got an empty list, so I am feeling the new dms_cli tool has no connection with the appmgr.
Anonymous
Kamil Kociszewski I am getting this error when I describe the qpdriver pod
Error: configmap "dbaas-appconfig" not found
Anyone please help how to resolve this issue of configmap
Kamil Kociszewski
sorry, i don't know how to help in this case.
Kamil Kociszewski
Dear all,
i observed problem with hw-python xapp.
i tried to change test-route and build new docker image but still "http://10.244.0.42:8080/ric/v1/health/ready" is not correct.
r4-infrastructure-kong-proxy NodePort 10.96.139.207 <none> 32080:32080/TCP,32443:32443/TCP 22d
state is 0/1 running and there is errors in logs:
root@nr-ric:~/dep/xapps/ric-app-hw-python# kubectl describe pod -n ricxapp ricxapp-hw-python-57bcc9596b-mhtqb
Name: ricxapp-hw-python-57bcc9596b-mhtqb
Namespace: ricxapp
Priority: 0
Node: nr-ric/10.0.2.100
Start Time: Tue, 05 Oct 2021 10:59:24 +0000
Labels: app=ricxapp-hw-python
kubernetes_name=ricxapp_hw-python
pod-template-hash=57bcc9596b
release=hw-python
Annotations: kubectl.kubernetes.io/restartedAt: 2021-10-05T10:59:24Z
Status: Running
IP: 10.244.0.42
IPs:
IP: 10.244.0.42
Controlled By: ReplicaSet/ricxapp-hw-python-57bcc9596b
Containers:
hw-python:
Container ID: docker://ce4688a94054390e2b8e6cca96c61c98fd3436022c4ee61c12e83a47c3c38220
Image: nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-hw-python:1.0.0
Image ID: docker-pullable://nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-hw-python@sha256:35cd90d388a54508eaaa72e892a4185fff1951b8bb2583cf01f978a591f10558
Ports: 8080/TCP, 4561/TCP, 4560/TCP
Host Ports: 0/TCP, 0/TCP, 0/TCP
State: Running
Started: Tue, 05 Oct 2021 10:59:25 +0000
Ready: False
Restart Count: 0
Liveness: http-get http://:8080/ric/v1/health/alive delay=5s timeout=1s period=15s #success=1 #failure=3
Readiness: http-get http://:8080/ric/v1/health/ready delay=5s timeout=1s period=15s #success=1 #failure=3
Environment Variables from:
configmap-ricxapp-hw-python-appenv ConfigMap Optional: false
dbaas-appconfig ConfigMap Optional: false
Environment: <none>
Mounts:
/opt/ric/config from config-volume (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-5xg7m (ro)
Conditions:
Type Status
AtomixReady True
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: configmap-ricxapp-hw-python-appconfig
Optional: false
default-token-5xg7m:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-5xg7m
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 21s default-scheduler Successfully assigned ricxapp/ricxapp-hw-python-57bcc9596b-mhtqb to nr-ric
Normal Pulled 20s kubelet, nr-ric Container image "nexus3.o-ran-sc.org:10002/o-ran-sc/ric-app-hw-python:1.0.0" already present on machine
Normal Created 20s kubelet, nr-ric Created container hw-python
Normal Started 20s kubelet, nr-ric Started container hw-python
Warning Unhealthy 9s kubelet, nr-ric Readiness probe failed: Get http://10.244.0.42:8080/ric/v1/health/ready: dial tcp 10.244.0.42:8080: connect: connection refused
Warning Unhealthy 5s kubelet, nr-ric Liveness probe failed: Get http://10.244.0.42:8080/ric/v1/health/alive: dial tcp 10.244.0.42:8080: connect: connection refused
Kamil Kociszewski
if i try to run hw-python xapp directly from docker image, i get error:
root@nr-ric:~/dep/xapps/ric-app-hw-python# docker run 8e592410d0bd
Traceback (most recent call last):
File "/usr/local/bin/run-hw-python.py", line 5, in <module>
from src.main import launchXapp
File "/usr/local/lib/python3.8/site-packages/src/main.py", line 19, in <module>
from .hwxapp import HWXapp
File "/usr/local/lib/python3.8/site-packages/src/hwxapp.py", line 24, in <module>
from .manager import *
File "/usr/local/lib/python3.8/site-packages/src/manager/__init__.py", line 22, in <module>
from .SubscriptionManager import SubscriptionManager
File "/usr/local/lib/python3.8/site-packages/src/manager/SubscriptionManager.py", line 27, in <module>
from swagger_client import api_client
ModuleNotFoundError: No module named 'swagger_client'
Anonymous
Hi Everyone,
I am getting error in qp as crashloop back off.
QP version is 0.0.4, QP driver version is 1.0.0, traffic xapp version is 1.0.0
Also I have all the pods working. Regarding xapp, all the three xapp works fine except qp.
I understood from Kamil Kociszewski comment that I need to change qp version to 0.0.3, but I couldn't follow the steps he mentioned to achieve it. Can someone who changed the qp version from 0.0.4 to 0.0.3 can provide a little elaborated way to achieve this change.
I am totally stuck at this point. Please let me know the steps.
Thanking you in advance !!!
Anonymous
Hello,
I'm at the same point as you. Did you manage to solve it?
Anonymous
Hi Everyone
Getting the following error when trying to onboard the traffic steering xapp.
root@ric:/home/dep# curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.ts.url"
{
"error_source": "config-file.json",
"error_message": "'__empty_control_section__' is a required property",
"status": "Input payload validation failed"
}
Any help appreciated. Thanks in advance.
Anonymous
you should combine the schema with config-file together
Anonymous
Can you tell me more about “schema with config-file”?
Anonymous
You should provide both the location of config.json and schema.json like this below
echo '{ "config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git;a=blob_plain;f=xapp-descriptor/config.json;hb=addc582ffeccd02f502f2122d4dff0fa19b0a38f","controls-schema.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git;a=blob_plain;f=xapp-descriptor/schema.json;hb=addc582ffeccd02f502f2122d4dff0fa19b0a38f" }' > onboard.ts.url
Anonymous
Same with you...
Anonymous
you can use 1.1.0 json file: https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/ts.git;a=blob_plain;f=xapp-descriptor/config.json;hb=b86721b7806e95d07e96cc52bdc7a979ec3dd2f2
Jan Erik Håkegård
Has anyone found a solution to the "operation XappDeployXapp has not yet been implemented" error? I have tried port forwarding and made sure that all the pre-requisites for the appmgr are installed. An example of the error:
$ curl -L -X POST "http://$KONG_PROXY:32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@scp-kpimon-onboard.url"
{ "status": "Created" }
$ curl -L -X GET "http://$KONG_PROXY:32080/onboard/api/v1/charts"
{
"scp-kpimon": [
{ "name": "scp-kpimon", "version": "1.0.1", "description": "Standard xApp Helm Chart", "apiVersion": "v1", "appVersion": "1.0", "urls": [ "charts/scp-kpimon-1.0.1.tgz" ], "created": "2023-03-14T14:05:09.116048735Z", "digest": "25bbd1a1bb27bcffb84f34e57a84e5d7f14d562de213b551b8ff2a193debcffa" }
]
}
$ curl -L -X POST "http://$KONG_PROXY:32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "scp-kpimon"}'
"operation XappDeployXapp has not yet been implemented"
I'm running release E on Ubuntu 20.04.5 LTS.