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