Conferencia Internacional de Software Libre 2014

Last week I attended CISL. The event was good, several people came to our stand to talk about Fedora and ARM (I brought a HummingBoard and a Raspberry Pi).
I had the pleasure of meeting with Jon “maddog” Hall, director of Linux International. We took a picture together and then he told me about the community effort of translating assembler code into C or ASM compatible with ARMv8+ (aarch64).

Two candidates to the ambssadors team also came to talk and learn more about FOSS events.

Español

La semana pasada estuve en la CISL. El evento estuvo bueno, bastante gente se acerco a nuestro stand a hablar sobre Fedora y ARM . (Yo lleve una HummingBoard y una Raspberry Pi)
También tuve la oportunidad de conocer a Jon “maddog” Hall, director de Linux International. Nos tomamos una foto juntos y después me contó de la iniciativa de traducir código ensamblador a C o código ensamblador compatible con ARMv8+ (aarch64).

Dos candidatos a embajadores también vinieron a charlar y aprender más sobre eventos de software libre.

HummingBoard, my new toy.

Last month I was gratefully surprised by an email from Germany. Someone  had seen my blog (yay!) and was interested in sending me a Cubox-i or a HummingBoard for free (double yay!).

It was hard to make the call, but I decided to request a HummingBoard, mainly because of the GPIO socket (General Purpose Input-Output). GPIO allows you to connect different electronic components to play with them and do robots and other cool things.

After several months and several hours doing paperwork in Customs, I finally got it. Compared with the Raspberry Pi, the HummingBoard has more RAM  (1GB versus 512MB), and more CPU (2 cores versus 1) and it also includes a SPDIF audio output.

Very grateful with the new toy I already could run Fedora on it. In order to do that, I had to download an image from this GitHub repo. There are also instructions to build the image from scratch and I am going to try that later.

A few days ago, Peter Robinsion mentioned on his blog that the HummingBoard will be one of the primary devices for Fedora ARM on Fedora 21. This basically means, that there will be a lot of testing on this device and I will be part of it for sure.

Fedora has supported the architecture of the HummingBoard (armhfp), for several releases. All the Fedora repositories and some third party ones like RPMFusion have a lot of software that can be easily installed on this device. That is something I noticed that unfortunately is missing on the Raspberry Pi with Pidora.

These are some of the pics I took of the HummingBoard:

El mes pasado fui gratamente sorprendido por un correo electrónico desde Alemania, donde me comentaban que habían visto mi blog y que estaban interesados en mandarme un dispositivo Cubox-i o HummingBoard gratis.

Fue difícil la decisión pero opte por la HummingBoard ya que incluye un socket  GPIO (General Purpose Input-Output)  el cual permite conectar diferentes componentes electrónicos para hacer cosas con robotica, gomotica, etc.

Después de varios meses de espera y varias horas en la aduana, finalmente la recibí. En comparación con la Raspberry Pi, la HummingBoard tiene más memoria RAM (1GB contra 512MB), más CPU (2 cores, contra 1) y entre cosas trae salida de audio SPDIF.

Muy agradecido con el nuevo chiche, ya pude  correr Fedora en él. Para poder hacerlo tuve que descargar una imagen de GitHub. En el mismo repo de GitHub se pueden encontrar instrucciones para compilar la imagen desde cero.

Hace algunos días, Peter Robinsion posteo en su blog que la HummingBoard sera uno de los dispositivos principales para Fedora ARM en Fedora 21. Por lo cual, va a ser uno de los dispositivos mas testeados y seguramente voy a ser parte de ello.

Fedora ya soporta desde hace varias versiones la arquitectura de la HummingBoard (armhfp), por lo cual todo el software de Fedora y hasta de algunos repositorios de terceros como RPMFusion están completamente disponible para descargar. Eso es algo que lamentablemente falta ver para la Raspberry Pi con Pidora.

Les dejo algunas imágenes de la HummingBoard:

Video sobre la FLISOL 2014

La agencia de noticias TELAM realizó este video cobertura de la FLISOL. Se puede ver en el mismo el impacto que tuvo Fedora en la FLISOL este año.

The TELAM news agency created this video about the FLISOL in Buenos Aires. If you take a look at it, you can see the impact of Fedora on this event.

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”