Evaluación del "uptime 30" de OpenDomo 0.8.2

Ya han pasado 30 días desde la instalación de la versión 0.8.2 en una de nuestras plataformas de experimentación, y ha llegado el momento de hacer una evaluación completa de su funcionamiento. Este tipo de pruebas es fundamental en plataformas que tendrán que estar permanentemente en funcionamiento, y que cualquier problema puede derivar en incomodidades para el usuario.

 

Características del ensayo

La prueba se lleva a cabo sobre un agente eTC2300, equipado con una cámara USB, un Arduino Duemilanove y un memorystick, con los paquetes odcontrol, odvideo, motion, kernel_sound, kernel_video, kernel_usbserial, espeak, odspeech, además de los requeridos. El agente tiene activos los servicios de odcontrol y la videovigilancia, esta última configurada a la máxima resolución de la cámara USB (640x480) forzando así un alto consumo de CPU.

 

Observaciones previas

En anteriores versiones, la videovigilancia fue inhabilitada pasados unos días, a causa de un Segmentation Fault producido por Motion (al parecer a causa de agotamiento de recursos, o algún problema derivado de mala compilación), situación que no se ha producido.

Otro problema detectado anteriormente era la denegación de servicio en ocuparse todo el espacio en disco con los archivos log; esta vez, la información registrada es mucho más reducida y no se ha llegado a producir, aunque se hace patente la necesidad de controlar la acumulación de "logs".

También fue detectado un problema de agotamiento de recursos producido por oddiscovery, totalmente solucionado en esta versión, donde apenas consume un pequeño porcentaje de CPU y memoria.

 

Conclusiones

  • Hardware: los dispositivos están respondiendo perfectamente al funcionamiento ininterrumpido.
  • Sistema base: aunque lejos de lo observado anteriormente, el tamaño de los archivos log acumulado a lo largo de un mes supera los 4MB, una parte significativa del ramdisk. Esto hace evidente la necesidad de crear algún mecanismo para facilitar la rotación de estos archivos, que permita el funcionamiento indefinido de los agentes, y que garantice la persistencia de los archivos de registro, especialmente de cara a posibles análisis forenses.
  • Video vigilancia: el sistema ha demostrado una gran estabilidad, incluso trabajando con alta resolución, ocupando la práctica totalidad de la CPU durante todo el periodo estudiado.
  • Control de dispositivos: aunque el servicio se mantiene en funcionamiento, parece ser que existe un problema con la gestión del puerto USB por parte de udev, que provoca que el dispositivo creado en /dev cambie de nombre de vez en cuando; durante estos momentos en que el nombre ha cambiado se pierde el control de Arduino. Asimismo, se ha observado que al reiniciar el agente (prueba no realizada sobre la plataforma de muestra) se producen algunos problemas de permisos que impiden reiniciar el servicio odcontrol desde la interfaz. En todo caso, incluso durante los momentos en que OpenDomo haya perdido la conexión con Arduino, éste funciona perfectamente aunque de forma autónoma (encendiendo/apagando luces, leyendo sensores, etc) por lo que el problema es menor.

La versión 0.8.2 ha demostrado ser suficientemente estable para el funcionamiento en entornos reales, tan pronto como se solucionen algunos pequeños problemas de configuración. Muy buenas sensaciones, en general.

Previsiblemente la próxima versión publicada ya será perfectamente apta para instalaciones reales.