Does anyone have a guide to build this xapp. I'm trying to port the helloworld xapp to arm64. I can provide my Dockerfile and the output which are failing.
Step 57/78 : RUN export CPATH=$CPATH:/usr/local/include && cd src && make clean && make install
---> Running in d417f8b4f7a0
rm *.o ../defs_hwe2sm/*.o ./xapp-asn/e2ap/*.o ./xapp-utils/*.o ./xapp-asn/e2sm/*.o ./xapp-mgmt/*.o .//*.o hw_xapp_main
rm: cannot remove '*.o': No such file or directory
rm: cannot remove '../defs_hwe2sm/*.o': No such file or directory
rm: cannot remove './xapp-asn/e2ap/*.o': No such file or directory
rm: cannot remove './xapp-utils/*.o': No such file or directory
rm: cannot remove './xapp-asn/e2sm/*.o': No such file or directory
rm: cannot remove './xapp-mgmt/*.o': No such file or directory
rm: cannot remove './/*.o': No such file or directory
rm: cannot remove 'hw_xapp_main': No such file or directory
Makefile:79: recipe for target 'clean' failed
make: [clean] Error 1 (ignored)
g++ --std=c++14 -O2 -L/usr/local/lib -Wall -std=c++14 `pkg-config mdclog --cflags` -I./ -I./ -I./xapp-utils -I./xapp-mgmt -I./xapp-asn/e2ap -I./xapp-asn/e2sm -I../defs_hwe2sm -I/usr/local/include/riclibe2ap -DASN_DISABLE_OER_SUPPORT -c -o hw_xapp_main.o hw_xapp_main.cc
In file included from hw_xapp_main.cc:24:0:
xapp.hpp:47:10: fatal error: rnib/rnibreader.h: No such file or directory
#include "rnib/rnibreader.h"
^~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [hw_xapp_main.o] Error 1
<builtin>: recipe for target 'hw_xapp_main.o' failed
The command '/bin/sh -c export CPATH=$CPATH:/usr/local/include && cd src && make clean && make install' returned a non-zero code: 2
I am able to build the go version of helloworld but the ric-app-hw fails. This is the error I'm currently at.
How are you building them? Do you have a guide to build the none python/go version? I'm building/porting xapps to arm64. The repo does not have arm64 images.
The rnibreader.h is generated by making nodeb-rnib/creader. You need install go compiler first. Then go to nodeb-rnib/ci and run build.sh to generate deb packages, and install packages.deb manually. The rnibreader.a/.h will be installed to /usr/local/include/rnib/. This works in E-release.
In hw-python‘s Readme file, it says "the HW xapp can be either tested as a Linux binary or as a docker image."
However, no matter whether I directly execute the py file or docker image, I can't see any logs about A1 police. I guess it didn't receive the RMR messesage.
So, does RMR message can be used normally only after xapp is deployed? Is there any way to communicate directly with xapp through RMR?
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'
when I run the hw-python xapp i get below error in docker container.
After follwing steps 1) docker build --no-cache -t hw-python ./ and 2) docker run hw-python:latest
what could be the issue?
-------------------------
ec019c2a968e:/usr/local/bin# ./run-hw-python.py 1676285250 54/RMR [INFO] ric message routing library on SI95/g mv=3 flg=02 (f25dc7f 4.0.5 built: May 7 2020) Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 607, in connect sock = self._connect() File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 639, in _connect for res in socket.getaddrinfo( File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno -2] Name does not resolve
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 47, in _map_to_sdl_exception yield File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 212, in find_keys ret = self.__getClient(ns).keys(db_key_pattern) File "/usr/local/lib/python3.8/site-packages/redis/commands/core.py", line 1370, in keys return self.execute_command("KEYS", pattern, **kwargs) File "/usr/local/lib/python3.8/site-packages/redis/client.py", line 1173, in execute_command conn = self.connection or pool.get_connection(command_name, **options) File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 1358, in get_connection connection.connect() File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 611, in connect raise ConnectionError(self._error_message(e)) redis.exceptions.ConnectionError: Error -2 connecting to service-ricplt-dbaas-tcp.ricplt.svc.cluster.local:6379. Name does not resolve.
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "./run-hw-python.py", line 8, in <module> sys.exit(launchXapp()) File "/usr/local/lib/python3.8/site-packages/src/main.py", line 23, in launchXapp hwxapp = HWXapp() File "/usr/local/lib/python3.8/site-packages/src/hwxapp.py", line 34, in __init__ self._rmr_xapp = RMRXapp(self._default_handler, File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_frame.py", line 645, in __init__ super().__init__( File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_frame.py", line 124, in __init__ post_init(self) File "/usr/local/lib/python3.8/site-packages/src/hwxapp.py", line 47, in _post_init sdl_mgr.sdlGetGnbList() File "/usr/local/lib/python3.8/site-packages/src/manager/SdlManager.py", line 32, in sdlGetGnbList gnblist = self._rmr_xapp.sdl_find_and_get(self.__namespace, "GNB") File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_frame.py", line 455, in sdl_find_and_get return self.sdl.find_and_get(namespace, prefix, usemsgpack) File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_sdl.py", line 226, in find_and_get ret_dict = self._sdl.find_and_get(ns, f"{prefix}*") File "/usr/local/lib/python3.8/site-packages/ricsdl/syncstorage.py", line 49, in _validate return func(*args, **kwds) File "/usr/local/lib/python3.8/site-packages/ricsdl/syncstorage.py", line 172, in find_and_get disordered = self.__dbbackend.find_and_get(ns, key_pattern) File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 219, in find_and_get matched_keys = self.find_keys(ns, key_pattern) File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 213, in find_keys return self.__strip_ns_from_bin_keys(ns, ret) File "/usr/local/lib/python3.8/contextlib.py", line 131, in __exit__ self.gen.throw(type, value, traceback) File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 52, in _map_to_sdl_exception raise NotConnected("SDL not connected to backend: {}".
9 Comments
Kiel Friedt
Does anyone have a guide to build this xapp. I'm trying to port the helloworld xapp to arm64. I can provide my Dockerfile and the output which are failing.
subhash kumar singh
Hello Kiel Friedt could you please share the details. If you are building hw-go or hw-python then please find details here :
https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/hw-go.git;a=blob;f=docs/onboard-and-deploy.rst;h=bf124122f04ecd37af909719766cb35001b0ceaf;hb=refs/heads/master (hw-go)
https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/hw-python.git;a=blob;f=docs/onboard-and-deploy.rst;h=0308a48e31f108ac7e77701a39ce47d68555f34b;hb=HEAD (hw-python)
Kiel Friedt
I am able to build the go version of helloworld but the ric-app-hw fails. This is the error I'm currently at.
Shraboni Jana
I am unable to reproduce the error. The building of docker image and run both worked fine at my end. Are you using the same Dockerfile as in the repo?
Kiel Friedt
How are you building them? Do you have a guide to build the none python/go version? I'm building/porting xapps to arm64. The repo does not have arm64 images.
Roy Zhu
The rnibreader.h is generated by making nodeb-rnib/creader. You need install go compiler first. Then go to nodeb-rnib/ci and run build.sh to generate deb packages, and install packages.deb manually. The rnibreader.a/.h will be installed to /usr/local/include/rnib/. This works in E-release.
zheng hui
In hw-python‘s Readme file, it says "the HW xapp can be either tested as a Linux binary or as a docker image."
However, no matter whether I directly execute the py file or docker image, I can't see any logs about A1 police. I guess it didn't receive the RMR messesage.
So, does RMR message can be used normally only after xapp is deployed?
Is there any way to communicate directly with xapp through RMR?
菜芽
Hello, Matti Hiltunen subhash kumar singh,i try my best to run this xapp based on your READ.me.
step1 :
run successfully.
But step2 :
i got this:
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'
i am looking for your reply! Thank you very much.
Temp Sha
Hi Matti Hiltunen subhash kumar singh ,
when I run the hw-python xapp i get below error in docker container.
After follwing steps 1)
docker build --no-cache -t hw-python ./ and 2)
docker run hw-python:latest
what could be the issue?
-------------------------
ec019c2a968e:/usr/local/bin# ./run-hw-python.py
1676285250 54/RMR [INFO] ric message routing library on SI95/g mv=3 flg=02 (f25dc7f 4.0.5 built: May 7 2020)
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 607, in connect
sock = self._connect()
File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 639, in _connect
for res in socket.getaddrinfo(
File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name does not resolve
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 47, in _map_to_sdl_exception
yield
File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 212, in find_keys
ret = self.__getClient(ns).keys(db_key_pattern)
File "/usr/local/lib/python3.8/site-packages/redis/commands/core.py", line 1370, in keys
return self.execute_command("KEYS", pattern, **kwargs)
File "/usr/local/lib/python3.8/site-packages/redis/client.py", line 1173, in execute_command
conn = self.connection or pool.get_connection(command_name, **options)
File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 1358, in get_connection
connection.connect()
File "/usr/local/lib/python3.8/site-packages/redis/connection.py", line 611, in connect
raise ConnectionError(self._error_message(e))
redis.exceptions.ConnectionError: Error -2 connecting to service-ricplt-dbaas-tcp.ricplt.svc.cluster.local:6379. Name does not resolve.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "./run-hw-python.py", line 8, in <module>
sys.exit(launchXapp())
File "/usr/local/lib/python3.8/site-packages/src/main.py", line 23, in launchXapp
hwxapp = HWXapp()
File "/usr/local/lib/python3.8/site-packages/src/hwxapp.py", line 34, in __init__
self._rmr_xapp = RMRXapp(self._default_handler,
File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_frame.py", line 645, in __init__
super().__init__(
File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_frame.py", line 124, in __init__
post_init(self)
File "/usr/local/lib/python3.8/site-packages/src/hwxapp.py", line 47, in _post_init
sdl_mgr.sdlGetGnbList()
File "/usr/local/lib/python3.8/site-packages/src/manager/SdlManager.py", line 32, in sdlGetGnbList
gnblist = self._rmr_xapp.sdl_find_and_get(self.__namespace, "GNB")
File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_frame.py", line 455, in sdl_find_and_get
return self.sdl.find_and_get(namespace, prefix, usemsgpack)
File "/usr/local/lib/python3.8/site-packages/ricxappframe/xapp_sdl.py", line 226, in find_and_get
ret_dict = self._sdl.find_and_get(ns, f"{prefix}*")
File "/usr/local/lib/python3.8/site-packages/ricsdl/syncstorage.py", line 49, in _validate
return func(*args, **kwds)
File "/usr/local/lib/python3.8/site-packages/ricsdl/syncstorage.py", line 172, in find_and_get
disordered = self.__dbbackend.find_and_get(ns, key_pattern)
File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 219, in find_and_get
matched_keys = self.find_keys(ns, key_pattern)
File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 213, in find_keys
return self.__strip_ns_from_bin_keys(ns, ret)
File "/usr/local/lib/python3.8/contextlib.py", line 131, in __exit__
self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.8/site-packages/ricsdl/backend/redis.py", line 52, in _map_to_sdl_exception
raise NotConnected("SDL not connected to backend: {}".
1676285251 54/RMR [INFO] sends: ts=1676285251 src=ec019c2a968e:4560 target=service-ricplt-a1mediator-rmr.ricplt:4562 open=0 succ=0 fail=0 (hard=0 soft=0)