Solucionando el bug del Telegram CLI tgl/structures.c:997: tglf_fetch_message_media_new: Assertion `0′ failed.

Estándar

tgAlgunos de vosotros seguro que está teniendo problemas con el Telegram para la consola de Linux desde que actualizaron sus versiones para soporte de .gif y otras opciones de multimedia nuevas.

El error en cuestión es el siguiente:

telegram-cli: tgl/structures.c:997: tglf_fetch_message_media_new: Assertion `0' failed.
SIGNAL received
htg/bin/telegram-cli(print_backtrace+0x2f)[0x46f84f]
tg/bin/telegram-cli(termination_signal_handler+0x64)[0x46f8e4]
/lib/x86_64-linux-gnu/libc.so.6(+0x352f0)[0x7ffb660062f0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37)[0x7ffb66006267]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a)[0x7ffb66007eca]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e03d)[0x7ffb65fff03d]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e0f2)[0x7ffb65fff0f2]
tg/bin/telegram-cli(tglf_fetch_message_media_new+0x266)[0x4a8d46]
tg/bin/telegram-cli[0x4ae0b9]
tg/bin/telegram-cli[0x4aed5e]
tg/bin/telegram-cli(bl_do_create_message_new+0x2c5)[0x4b0145]
tg/bin/telegram-cli(tglf_fetch_message_new+0x16b)[0x4a962b]
tg/bin/telegram-cli(tglf_fetch_alloc_message_new+0x3d)[0x4aafad]
tg/bin/telegram-cli[0x4a0355]
tg/bin/telegram-cli(tglq_query_result+0x10f)[0x499a3f]
tg/bin/telegram-cli[0x49384e]
tg/bin/telegram-cli[0x4b4d9b]
/usr/lib/x86_64-linux-gnu/libevent-2.0.so.5(event_base_loop+0x7fc)[0x7ffb679d9a0c]
tg/bin/telegram-cli(net_loop+0xa4)[0x470e34]
tg/bin/telegram-cli(loop+0x195)[0x472205]
tg/bin/telegram-cli(main+0x2d3)[0x46e103]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ffb65ff1a40]
tg/bin/telegram-cli(_start+0x29)[0x46e219]

Y por ello no nos deja continuar usandolo.

Asíque para solucionarlo es bien secillo:

Leer más

Mostrar contenedores de Docker sin indicar sus puertos.

Estándar

docker-lego-whaleUn pequeño inconveniente a la hora de usar Docker es que las personas que quieran visualizar la aplicación (mediante navegador web) necesitan indicar el puerto haciendolo un poco “engorroso”.
Es por ello que vamos a ver como poder hacer esto usando VirtualHosts de Apache junto a ProxyPass.

Problema:

Suponemos que tenemos dos contenedores de docker corriendo un simple Apache, ambos contenedores localmente atienden en el puerto 80,
pero la maquina que se comunica con el exterior y la que nos atiende las peticiones está escuchando esos contenedores en el 20001 y 20002 es decir:

20001 –> 80 (ContainerApache1)
20002 –> 80 (ContainerApache2)

Nosotros para poder visualizar esos contenedores tendiamos que utilizar:

http://dominio.com:20001 y http://dominio.com:20002

Y para hacerlo más comodo podriamos hacer:

http://docker1.dominio.com y http://docker2.dominio.com
o
http://dominio1.com y http://dominio2.com

Solución:

Seguir leyendo

Instalación y gestión de Docker (I)

Estándar

docker-100388953-origLos  LXC o LinuX Containers se está poniendo de moda, y es un hecho que se refleja cada día mas.

Aunque hace ya tiempo que existe esta tecnología su gestión no era sencilla, y no ha sido hasta el proyecto opensource de Docker cuando de verdad ha salido a flote toda esta tecnología. Y  es  que es muy fácil con docker-engine poder virtualizar en cualquier sistema operativo cualquier aplicación que queramos desplegar.

Es por ello que a lo largo de estas semanas escriba unas pequeñas guiás de como usar e integrar Docker, como gestionar los contenedores, monitorización sobre el mismo y de la red junto con almacenamiento avanzado.

Así pues vamos manos a la obra:

1- Lo primero que haremos será comprobar nuestra versión del kernel, ya que puede haber incompatibilidades si usamos un kernel inferior a 3.10.

root@DockerNode:~# uname -r
3.13.0-24-generic

2- Importamos la clave GPG:

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 
--recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Seguir Leyendo.

Vaciar la base de datos Mongodb en ceilometer (OpenStack)

Estándar

mongodb-logoComo muchos sabréis, y sino os lo digo yo, Ceilometer genera una gran cantidad de almacenamiento en BBDD utilizando Mongodb. Es por ello que si tenemos unos 10 usuarios utilizando la plataforma en producción en menos de una semana podemos llegar a acumular mas de 10GB de BBDD.

Un script sencillo para ir vaciando la BBDD podría ser el siguiente:

#/bin/bash

mongo << EOF
show databases
use ceilometer
db.meter.find()
db.meter.drop()
show databases
EOF

Espero que os sirva 😀