viernes, 20 de julio de 2012

South: 'assertsynced' para asegurar que todas las migraciones están aplicadas

El uso de South con aplicaciones Django es un estándar en los desarrollos en los que participo. Pero hace tiempo me surgió la necesidad de saber si hay migraciones sin aplicar.

Es fácil conocer 'visualmente' la situación, pero el problema es cuando hace falta saberlo desde un script. Por ejemplo: al momento de realizar deploys, y en los scripts de arranque de los sistemas.

Sobre todo en este último caso, la aplicación no debería iniciarse si hay migraciones pendientes de aplicar. Finalmente me tomé un tiempo y cree assertsynced. Este es un comando de Django, basado en la implementación de migrate de South.

Está disponible aquí.

CentOS: como chequear si un paquete está instalado


Una forma de revisar si un paquete está instalado en CentOS es utilizando el comando "repoquery", ya sea con el nombre del paquete específico o con comodines:

$ repoquery --info --pkgnarrow=installed bind-chroot

También:

$ repoquery --info --pkgnarrow=installed '*bind*'

Si repoquery no está instalado, hay que ejecutar:

$ sudo yum install yum-utils


viernes, 6 de julio de 2012

Cassandra en CentOS 6

Hace tiempo están disponibles los RPMs para instalar Cassandra en CentOS, pero el procedimiento indicado implica bajar el RPM de Cassandra e instalarlo manualmente. Esto no es complicado, pero SI es complicado  automatizar la instalación de la última versión disponible.

Pero esto tiene solución. El repositorio puede ser registrado en CentOS, bajando el siguiente snippet y guardándolo en /etc/yum.repos.d/riptano.repo.

--
--

Luego, para instalar Cassandra 1.x:


$ yum install --assumeyes apache-cassandra11
$ chkconfig --add cassandra
$ chkconfig cassandra on
$ service cassandra start