Flisol 2014

Ayer 26 de Abril, se llevó a cabo la FLISOL 2014. Estoy orgulloso de poder decir que Fedora tuvo un éxito rotundo este año.
Por primera vez, contamos con un stand donde la gente se pudo acercar para consultar e instalar Fedora. Gracias a los esfuerzos de Marketing como el banner, los DVDs y las chombas, Fedora demostró mucha más presencia en el evento y despertó mucho más interés en la gente.
Quiero agradecer a dos excelentes contribuidores (ezq y valentin) de Fedora que hicieron el esfuerzo de venir desde sus provincias para participar y aportar muchísimo en el evento.

Algunas fotos del evento:


Yesterday, April 26th, we attended the FLISOL 2014. I am proud to say that Fedora rocked this year!
For the first time, we had our own stand and a lot of people came to discuss and install Fedora.
This year we were able to make more Marketing work (banner,DVDs,shirts) and that showed a very good presence in the event.
I also want to thank two great Fedora contributors (ezq and valentin) who came from their provinces to contribute to this event.

Some pictures of the event:


Fedora Argentina en la FLISOL 2014

El Sabado 26 de Abril de 10 a 18 hs se celebrara el FLISOL 2014 en la UTN de Medrano.
Este año vamos a estar dando las siguientes charlas:
– Fedora y Su Comunidad
– Virtualización en Fedora
– A Jugar con Pidora
Además, por primera vez en la historia de la FLISOL, vamos a contar con un stand donde estaremos asistiendo a todas aquellas personas que quieran instalar Fedora.
No te lo pierdas!


On Saturday April 26th from 10 to 18 we will be attending the FLISOL 2014 in UTN Medrano.
This year we will be hosting the following talks:
– Fedora and the community around it
– Virtualization
– Playing with Pidora
Moreover, for the very first time on this event, we will have a special stand where we will be helping people to install Fedora.
If you are near Buenos Aires, don’t miss this chance!

ERROR: Invalid OpenStack Nova credentials

Encontré un problema tratando de instalar OpenStack en Fedora 19 con esta guía

# nova --debug flavor-list
REQ: curl -i http://127.0.0.1:5000/v2.0/tokens -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-novaclient" -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "verybadpass"}}}'

INFO (connectionpool:236) Starting new HTTP connection (1): 127.0.0.1
DEBUG (connectionpool:330) “POST /v2.0/tokens HTTP/1.1” 401 116
RESP: [401] CaseInsensitiveDict({‘date’: ‘Fri, 11 Oct 2013 23:24:41 GMT’, ‘vary’: ‘X-Auth-Token’, ‘content-length’: ‘116’, ‘content-type’: ‘application/json’})
RESP BODY: {“error”: {“message”: “The request you have made requires authentication.”, “code”: 401, “title”: “Not Authorized”}}


DEBUG (shell:768) Invalid OpenStack Nova credentials.
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 765, in main
OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 697, in main
raise exc.CommandError("Invalid OpenStack Nova credentials.")
CommandError: Invalid OpenStack Nova credentials.
ERROR: Invalid OpenStack Nova credentials.

Mirando el archivo .keystorerc, parecía estar bien.

[root@localhost ~]# cat .keystonerc
export ADMIN_TOKEN=49ac57278d318dc7bb61
export OS_SERVICE_TOKEN=49ac57278d318dc7bb61
export OS_USERNAME=admin
export OS_PASSWORD=verybadpass
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
export SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0/
export SERVICE_TOKEN=$ADMIN_TOKEN

La solución fue hacer que el usuario, rol e inquilino estén asociados.
1. Obtener el ID para el usuario admin:

[root@localhost ~]# keystone user-list
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------------------------------+--------+---------+-------+
| id | name | enabled | email |
+----------------------------------+--------+---------+-------+
| 4738e8d8819a47a5b0cd7b72db3f3fa6 | admin | True | |
| 157da897546e4ac8a98eaf6240683457 | ec2 | True | |
| 3819652ea963416a99aa6bc6dd1cd83c | glance | True | |
| 12c7844b7dc24aa3a7e704b49e026f33 | nova | True | |
| 8313970d7d524ef59983a062711916e8 | swift | True | |
+----------------------------------+--------+---------+-------+

2. Obtener el ID inquilino para admin, si no existe, lo creamos:

[root@localhost ~]# keystone tenant-list
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------------------------------+---------+---------+
| id | name | enabled |
+----------------------------------+---------+---------+
| afd9af7cd2604311be27646b4111f8d4 | demo | True |
| 9c85743eee994e28af10ea7b9d215af0 | service | True |
+----------------------------------+---------+---------+

[root@localhost ~]# keystone tenant-create –name admin
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+————-+———————————-+
| Property | Value |
+————-+———————————-+
| description | |
| enabled | True |
| id | 4aec780fe3374e46b4cea0de602c19c5 |
| name | admin |
+————-+———————————-+


3. Obetener el ID del rol:

[root@localhost ~]# keystone role-list
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------------------------------+----------+
| id | name |
+----------------------------------+----------+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ |
| 9b4b3ec7153b4b48bf381db829108646 | admin |
+----------------------------------+----------+

Por ultimo, los asociamos:


[root@localhost ~]# keystone user-role-add --user 4738e8d8819a47a5b0cd7b72db3f3fa6 --role 9b4b3ec7153b4b48bf381db829108646[root@localhost ~]# keystone user-role-add --user 4738e8d8819a47a5b0cd7b72db3f3fa6 --role 9b4b3ec7153b4b48bf381db829108646 --tenant-id 4aec780fe3374e46b4cea0de602c19c5

Después de esto, el error de las credenciales desapareció. De todos modos, encontré otro error que decía que Nova no era capaz de firmar el token de autenticación.

Finalmente instale OpenStack utilizando RDO. Este método es mucho mas sencillo.

English

I faced a problem while trying to configure OpenStack on Fedora 19 following this guide

# nova --debug flavor-list
REQ: curl -i http://127.0.0.1:5000/v2.0/tokens -X POST -H "Content-Type: application/json" -H "Accept: application/json" -H "User-Agent: python-novaclient" -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "verybadpass"}}}'

INFO (connectionpool:236) Starting new HTTP connection (1): 127.0.0.1
DEBUG (connectionpool:330) “POST /v2.0/tokens HTTP/1.1” 401 116
RESP: [401] CaseInsensitiveDict({‘date’: ‘Fri, 11 Oct 2013 23:24:41 GMT’, ‘vary’: ‘X-Auth-Token’, ‘content-length’: ‘116’, ‘content-type’: ‘application/json’})
RESP BODY: {“error”: {“message”: “The request you have made requires authentication.”, “code”: 401, “title”: “Not Authorized”}}


DEBUG (shell:768) Invalid OpenStack Nova credentials.
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 765, in main
OpenStackComputeShell().main(map(strutils.safe_decode, sys.argv[1:]))
File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 697, in main
raise exc.CommandError("Invalid OpenStack Nova credentials.")
CommandError: Invalid OpenStack Nova credentials.
ERROR: Invalid OpenStack Nova credentials.

Checking my .keystorerc file it looked good.

[root@localhost ~]# cat .keystonerc
export ADMIN_TOKEN=49ac57278d318dc7bb61
export OS_SERVICE_TOKEN=49ac57278d318dc7bb61
export OS_USERNAME=admin
export OS_PASSWORD=verybadpass
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/
export SERVICE_ENDPOINT=http://127.0.0.1:35357/v2.0/
export SERVICE_TOKEN=$ADMIN_TOKEN

The solution was to make sure that the user, role and tenant are associated.
1. Get the ID from the admin user:

[root@localhost ~]# keystone user-list
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------------------------------+--------+---------+-------+
| id | name | enabled | email |
+----------------------------------+--------+---------+-------+
| 4738e8d8819a47a5b0cd7b72db3f3fa6 | admin | True | |
| 157da897546e4ac8a98eaf6240683457 | ec2 | True | |
| 3819652ea963416a99aa6bc6dd1cd83c | glance | True | |
| 12c7844b7dc24aa3a7e704b49e026f33 | nova | True | |
| 8313970d7d524ef59983a062711916e8 | swift | True | |
+----------------------------------+--------+---------+-------+

2. Get the tenant admin id, if not there, create it:

[root@localhost ~]# keystone tenant-list
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------------------------------+---------+---------+
| id | name | enabled |
+----------------------------------+---------+---------+
| afd9af7cd2604311be27646b4111f8d4 | demo | True |
| 9c85743eee994e28af10ea7b9d215af0 | service | True |
+----------------------------------+---------+---------+

[root@localhost ~]# keystone tenant-create –name admin
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+————-+———————————-+
| Property | Value |
+————-+———————————-+
| description | |
| enabled | True |
| id | 4aec780fe3374e46b4cea0de602c19c5 |
| name | admin |
+————-+———————————-+


3. Get the role id:

[root@localhost ~]# keystone role-list
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+----------------------------------+----------+
| id | name |
+----------------------------------+----------+
| 9fe2ff9ee4384b1894a90878d3e92bab | _member_ |
| 9b4b3ec7153b4b48bf381db829108646 | admin |
+----------------------------------+----------+

Associate them all together.

[root@localhost ~]# keystone user-role-add --user 4738e8d8819a47a5b0cd7b72db3f3fa6 --role 9b4b3ec7153b4b48bf381db829108646[root@localhost ~]# keystone user-role-add --user 4738e8d8819a47a5b0cd7b72db3f3fa6 --role 9b4b3ec7153b4b48bf381db829108646 --tenant-id 4aec780fe3374e46b4cea0de602c19c5

After this, the credentials error disappeared. However, I faced a new error message saying that Nova wasn’t able to sign the token.

I’ve finally installed OpenStack trough RDO. This method is simpler.

CISL 2013

La semana pasada asistimos al CISL 2013. Tuve la oportunidad de dar una charla sobre virtualización y me impresionó lo interactiva y participativa que fue. Mucha gente tiene experiencia en este tema hoy en día y es muy bueno poder compartir experiencias.

English

Last week we attended the CISL 2013 event. I gave a talk about Virtualization and was very impressed by how interactive and participative it was. A lot of people have experience with this topic nowadays and it is nice to share experiences.

TP-Link TL-WN725N version 2 on Raspberry Pi

El TP-Link TL-WN725N es un dispositivo USB Wifi que sirve para cualquier tipo de computadora. La versión 1 de este producto funciona con el kernel 3.6 de la Raspberry Pi sin problemas. Sin embargo, la versión 2 no. Para hacerla funcionar en Pidora, hay compilar el modulo en el ultimo kernel o simplemente pueden bajar el que yo compile:

wget https://mkredercom.files.wordpress.com/8188eu.ko.gz
gzip -d 8188eu.ko.gz
install -p -m 644 8188eu.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
depmod -a
modprobe 8188eu

MD5Sum: 7836769f630f521f6e062a6cca889d07

He contactado al equipo de #pidora en Freenode para pedir que lo agreguen al Remix.

English

The TP-Link TL-WN725N is a small USB Wifi adapter that can be used on any type of computer. The version 1 of this product works out of the box with the 3.6 Raspberry Pi kernel but the version 2 does not. In order to make it work on Pidora you need to build the module with the latest Pidora kernel or you can just download the module I built:

wget https://mkredercom.files.wordpress.com/8188eu.ko.gz
gzip -d 8188eu.ko.gz
install -p -m 644 8188eu.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
depmod -a
modprobe 8188eu

MD5Sum: 7836769f630f521f6e062a6cca889d07

I also contacted the #Pidora maintainers on Freenode to request if they can add it to the Remix.

Becoming a Fedora packager.

Buenas! Aquí estamos, desempolvando el blog después de algún tiempo..Como ustedes sabrán he estado participando en el Proyecto Fedora como  Embajador para  Argentina,  y algunos otros proyectos como FreeMedia, Marketing y Social Media.
Me he decidido por empezar a participar como empaquetador, ya que he usado distribuciones basadas en Red Hat desde niño y Fedora desde hace varios años.
En Enero, Empaqueté vert.x (BZ #894119) pero ya que el proyecto esta teniendo algunos problemas legales decidí no continuar con el proceso.
La semana pasada, buscando una manera de abrir mi base de keepass en una consola, encontré un script de 3000 lineas en perl llamado kpcli.  (keepass  es una herramienta visual para guardar contraseñas de forma segura en una base de datos encriptada). Cree el archivo spec para kpcli (BZ #1002324) y recorrí  todos los pasos del proceso de empaquetamiento. Solo falta que un patrocinador me apruebe para poder subir este paquete a los repositorios.
También empaquete 2 dependencias para esta paquete, perl-Term-ShellUI (BZ #1002319) y perl-File-KeePass (BZ #1002321).

English

Hi! I’m back in the blogging world after some time. As you may or may not know, I have been participating in the Fedora Project for a while as an Ambassador for Argentina. I’ve also been involved in FreeMedia, Marketing and Social Media.
As I have been using Red Hat based distributions since I was a kid and Fedora for the last few years, I decided to start getting into the engineering process of Fedora and become a packager.
On January, I started to package vert.x (BZ #894119) but since this project has some legal problems I didn’t continue with the review process.
Last week, looking for a way to open my keepass database in a console, I found a 3k lines perl script called kpcli that did exactly what I needed. (keepass is a GUI tool that lets you store passwords safety into an encrypted database). I created a kpcli spec file (BZ #1002324) and went to all the steps in the packaging process. I’m waiting for a sponsor to approve me as a packager in order to push it into the repositories.
I also packaged 2 required dependencies for its package, perl-Term-ShellUI (BZ #1002319) and perl-File-KeePass (BZ #1002321).

Installing a Fedora VM from Internet

There is a powerful tool shipped with libvirt called virt-install. This tool is inside the python-virtinst package and it allows us to install any GNU/Linux distribution directly from the command line.
For example, the following command will create a VM and install Fedora 17 (32 bits) on it.

virt-install –name f17_i686 –ram 1024 –disk path=/dev/vg_data/f17_i686,size=15 –location=”http://dl.fedoraproject.org/pub/fedora/linux/releases/17/Fedora/i386/os/” –graphics vnc

The arguments are:

name = name of the VM
ram = amount of RAM memory on MB
disk = lthe path and size of the virtual disk
location = the media to install, in this case the F17 URL.
graphics = the graphic card to use

After running this command, we can user virt-manager to continue with the installation process graphically.

How can we automate this task?

There are 2 different ways:

1. Every time you install Fedora, you will find on the /root directory a file called anaconda-ks.cfg. This file can be used to perform an unattended installation equal to the one you have.
You can take that file and modify the parts you need.
2. You can write a kickstart file from scratch.

This kickstart file can be used for any Fedora installation fedora.ks.
You can modify this file and upload it to your own HTTP/FTP/NFS server, leave it on a disk or burn it on a CD.
You can try to install a VM directly using this command:

virt-install --name f17_x86_64 --ram 1024 --disk path=/dev/vg_data/f17_x86_64,size=15 --location="http://dl.fedoraproject.org/pub/fedora/linux/releases/17/Fedora/x86_64/os/" --extra-args "ks=https://mkreder.com/vms/ks/fedora.ks console=ttyS0,9600"
#you should modify the ram and disk arguments as needed

It will install Fedora 17 x86_64 on a VM on a completely unattended way.
The root password for this VM will be “fedora”.

Español

Una herramienta muy util que viene con libvirt es virt-install. Esta herramienta se encuentra en el paquete python-virtinst y nos permite iniciar la instalación de cualquier GNU/Linux desde la linea de comandos. Por ejemplo, el siguiente comando crea una VM y realiza la instalación de Fedora 17 (32 bits):

virt-install --name f17_i686 --ram 1024 --disk path=/dev/vg_data/f17_i686,size=15 --location="http://dl.fedoraproject.org/pub/fedora/linux/releases/17/Fedora/i386/os/" --graphics vnc


Los argumentos son:
name = nombre de nuestra VM
ram = la cantidad de memoria RAM a asignar en MB
disk = la dirección en donde queremos crear el archivo o LV (path) y el tamaño (size)
location = el medio de instalación, en este caso la URL de Fedora 17 32 bits
graphics = el modo gráfico a utilizar

Luego de haber ejecutado virt-install podemos utilizar virt-manager para seguir el proceso de instalación gráfica eligiendo como configurar cada parte de la instalación.

¿Cómo automatizar esta tarea?
Hay 2 formas básicas de automatizar la instalación.
1. Todas las instalaciones de Fedora dejan en /root/ un archivo llamado anaconda-ks.cfg, el mismo sirve para realizar en forma desatendida una instalación idéntica a la que tenemos. También podemos tomar este archivo como ejemplo y modificar las partes que nos interesen.
2. Podemos escribir nuestro propio archivo kickstart desde cero.

Les dejo un archivo básico de kickstart que sirve para cualquier instalación de Fedora fedora.ks.
Este archivo lo podemos subir a un sitio HTTP/FTP/NFS o puede grabarse en algún disco o cdrom.

Para instalar directamente de este archivo sin modificarlo:

virt-install --name f17_x86_64 --ram 1024 --disk path=/dev/vg_data/f17_x86_64,size=15 --location="http://dl.fedoraproject.org/pub/fedora/linux/releases/17/Fedora/x86_64/os/" --extra-args "ks=https://mkreder.com/vms/ks/fedora.ks console=ttyS0,9600"
#modificar los argumentos disk y ram si es necesario

Se instalara Fedora 17 x86_64 en una VM sin ningún tipo de intervención.
La password de root encriptada en el archivo kickstart es “fedora”

VERR_SUPLIB_OWNER_NOT_ROOT on VirtualBoxV

A couple of days ago I had a problem with VirtualBox, I couldn’t start one of my VMs because it was displaying an error message saying: “VERR_SUPLIB_OWNER_NOT_ROOT”
Searching on the internet I found this bug. and they suggested to run:

chown -R root:root /usr/lib/virtualbox
chmod 4711 /usr/lib/virtualbox/VirtualBox

This didn’t fix my issue, so I started to dig deeply into the issue and I found a log file on ~/.VirtualBox/Machines/VM/Logs/VBox.log with the following message:

00:00:00.448 pdmR3LoadR0U: pszName="VMMR0.r0" rc=VERR_SUPLIB_OWNER_NOT_ROOT szErr="The owner is not root: '/usr'"

I took a quick look at /usr permissions and I found that for some weird reason, it had uid:gid 500:500
# ls -ld /usr
drwxrwxr-x. 13 500 500 4096 Aug 3 2006 /usr

Solution:
chown root:root /usr

Español

Hace unos días me tope con un problema, VirtualBox no podía arrancar mi maquina virtual dando el error “VERR_SUPLIB_OWNER_NOT_ROOT”
Buscando en internet encontré este bug. en donde sugerían hacer:

chown -R root:root /usr/lib/virtualbox
chmod 4711 /usr/lib/virtualbox/VirtualBox

Esto no soluciono mi problema, así que mirando el log en ~/.VirtualBox/Machines/VM/Logs/VBox.log descubrí una pista:

00:00:00.448 pdmR3LoadR0U: pszName="VMMR0.r0" rc=VERR_SUPLIB_OWNER_NOT_ROOT szErr="The owner is not root: '/usr'"

Chequeando los permisos de /usr vi que por alguna extraña razón el dueño era el uid:gid 500:500
# ls -ld /usr
drwxrwxr-x. 13 500 500 4096 Aug 3 2006 /usr

Solución:
chown root:root /usr

FLISOL 2012

FLISOL logo

El próximo Sábado nos estaremos presentando en el Festival Latinoamericano de Instalación del Software Libre en las siguientes ciudades:

Ciudad de Buenos Aires:

Rino, Adrian y yo estaremos instalando Fedora a todas aquellas personas que traigan sus computadoras a la Facultad de Ciencias Económicas de la UBA (Av. Córdoba 2122) y además daremos 2 charlas:

  • Virtualización en Fedora (11 Hs, Auditorio C)
  • Fedora 16 y la Comunidad Fedora (17 Hs, Auditoria A)

Luján:

Jose estará instalando Fedora y  también dando  la charla “Fedora 16 y la Comunidad Fedora” a las 17 hs. en las aulas 403/404 de la Universidad de Luján.

Córdoba:

Los embajadores de Fedora en Córdoba estarán instalando Fedora en la Ciudad Universitaria (Aula D3 – Baterías comunes D – Av. Valparaiso s/n esq Enfermera Gordillo Gomez)