Replies: 7 comments 14 replies
-
Hello there @akrea, thanks for reaching out.
It's mainly a resource constraint issue. We already have all the pieces (i.e. we already support Kura on ARM devices natively) we just need to package them into a container. The other constraint I see is related to the Jenkins pipeline responsible for building Kura: it's x86-64 only and we would need some changes to support ARM Docker images builds 🤔
I think @GregoryIvo can help you with this. He's responsible for the latest changes in that department and can provide some useful info. |
Beta Was this translation helpful? Give feedback.
-
I think it would be really neat to have container support for different architectures, and think this would be very achievable 😄 I personally would love to see this support! 🚀 🌕 How our build system for containers works:we have a master POM file, that builds all of our Kura profiles. To build kura containers the following occurs:
What changes would need to be madeIn my opinion, this project is really doable.
3)Duplicate the ubi8 and Alpine x86 container profiles, and change them to the desired arch
**NOTE: our Jenkins pipeline runs on x86, so we must use something like BuildX in docker to cross-compile. Bonus points: Currently all containers are built with the flag buildAllContainers, it would be nice to keep this flag, and also add buildAllContainers |
Beta Was this translation helpful? Give feedback.
-
Thank you for the guidance. I'm currently setting up a Sparkplug 3 testing environment in Node-Red (as I need to educate myself on this too) 🤓. As soon as this is done (by mid September at the latest) I will takle this challenge. May I come back for advice if needed? |
Beta Was this translation helpful? Give feedback.
-
In order to evaluate if the image is working, I fired up an existing docker image on a ubuntu server to see how kura is supposed to work and familiarize myself with it. When I open the documentation I see that there should be a network and a firewall section within the "system"-part. I can imagine that when using docker those two are managed by docker and do not appear (same goes for container orchestration in "service"-part). But then i tried to setup the heater demo. While I was able to install the package successfully (according to logs), the heater does not show up in the Services. Moreover, when I try to install a driver, the Driver Factory --- Select Component Factory --- list is empty. The only warnings I see in the logs are about skins... On the positive side - I was able to fire up Kapua, connect Kura to the Broker and the connection shows up in Kapua. Am I missing something or is Kura it supposed to work this way? |
Beta Was this translation helpful? Give feedback.
-
That's correct. The dockerized version of Kura doesn't manage the network yet.
This is not expected. Can you provide a full log? Did you check for additional info in the
Again. Doesn't sound right. Check again in the logs and the
This is great news! |
Beta Was this translation helpful? Give feedback.
-
Sorry for the wait - was on vacation and needed family time. AND the time off was good to have a fresh mind: I did a clean restart of Kura. For the heater I chose the wrong version the first time and didn't notice it and for the driver: i figured that the have to be separately loaded before they appear in the list. Typical case of PEBCAK. Going forward with some testing. |
Beta Was this translation helpful? Give feedback.
-
Hi @akrea , I'm from the eclipse/kapua project. May I ask you which version of Kapua are you running? Regards, Alberto |
Beta Was this translation helpful? Give feedback.
-
Hi
First of all: THANK YOU providing this tool and the effort the contributors put into this.
When I checked on the Kura/Kapua combo, the most glaring missing piece I see is that there is no arm-based container version of Kura. In the industrial manufacturing environment we have a vast majority of edge devices which are arm based and run services as docker containers (currently moving from RPi4 (32bit) to i.MX 8M (64bit)).
My question here is: is there no arm-container-version due to resource constraints in the dev-team or do I miss an (obvious) reason why there is no arm-container-version?
I not familiar in coding for arm architecture nor do I have a lot of experience in creating Docker images. Though I'm willing to learn, try and if I succeed to share :-) If you could provide some starting guidance (and a rough estimate on how much time it would take you to do it - just to get an idea what I'm getting into) I would be delighted. PM if you prefer.
Again: Thank you!
Beta Was this translation helpful? Give feedback.
All reactions