[irati] IRATI stack on Docker containers

  • From: Kristjon Ciko <kristciko@xxxxxxxxx>
  • To: irati@xxxxxxxxxxxxx
  • Date: Thu, 26 Jul 2018 22:05:58 +0200

Hi,

I’m trying to set up a testbed of RINA nodes using Docker containers.
Nodes consist of instances of ubuntu:16.04 container, where IRATI stack is 
build successfully. The host where containers run is Ubuntu 16.04 as well.
I have mapped /dev and /lib/modules so containers can use host’s kernel 
modules. Containers run in privileged mode with all capabilities. Open vSwitch 
is used to connect containers.

In a simple scenario (Node A <———> Node B), IPCM can start correctly in NodeA, 
but not in NodeB.

It looks like nodes cannot open /dev/irati-ctl at the same time.

The error I get when starting IPC Manager Daemon:

root@NodeB:/bin# ./ipcm -c /etc/ipcmanager.conf -l DEBUG
83(1532632946)#ipcm (DBG): SIGSEGV handler installed successfully
83(1532632946)#ipcm (DBG): SIGINT handler installed successfully
83(1532632946)#ipcm (DBG): SIGQUIT handler installed successfully
83(1532632946)#ipcm (DBG): SIGTERM handler installed successfully
83(1532632946)#ipcm (DBG): SIGHUP handler installed successfully
83(1532632946)#ipcm (DBG): SIGPIPE handler installed successfully
83(1532632946)#ipcm (DBG): SIGCHLD handler installed successfully
83(1532632946)#ipcm (DBG): Config file is: /etc/ipcmanager.conf
83(1532632946)#librina.timer (DBG): Timer with ID 20929824 started
83(1532632946)#librina.logs (DBG): New log level: DEBUG
ioctl(/dev/irati-ctl) failed: Invalid argument

root@NodeB:/bin# cat /var/log/ipcm.log 
83(1532632946)#librina.core (ERR): Error initializing IRATI Ctrl manager
83(1532632946)#librina.core (ERR): Program will exit now
83(1532632946)#librina.concurrency (CRIT): Cannot destroy mutex
83(1532632946)#librina.core (ERR): Problems closing file descriptor -1 in 
control device

root@NodeB:/bin# dmesg
[ 3220.262394] rina-ctrldev(ERR): Control port is already in use, 1

Have someone tried this? Any solution so that I can run several containers in a 
host?

Otherwise, I will try demonstrator or rumba with QEMU.


Cheers,
Kristjon

Other related posts: