October 13, 2016

douglas' livejournal

ovirt-node-ng: checking the differences between current squashfs and new available squashfs

In case you are wondering how to check what's new shipped inside a released ovirt-node-ng squashfs from ovirt-node-ng jenkins jobs:

First install required python module, python-libguestfs:

# dnf/yum install python-libguestfs -y

* NOTE: At the date of this post, if you are using CentOS7 or RHEL7 please update the libguestfs with tech preview url available here due a bug in libguestfs.

Now clone the tree where the tool is available:

$ git clone
$ python ovirt-node-ng/scripts/ ovirt-node-ng-image.squashfs-4.1-999.20160902.0.el7.img ovirt-node-ng-image.squashfs.4.1-999.20160928.0.el7.img
Key packages from ovirt-node-ng-image.squashfs.4.1-999.20160928.0.el7.img
* cockpit-ovirt-dashboard-0.10.6-1.3.6.el7.centos.noarch
* kernel-3.10.0-327.36.1.el7.x86_64
* vdsm-4.18.999-629.git0e539de.el7.centos.x86_64
* ovirt-hosted-engine-setup-2.1.0-0.0.master.20160927160934.gitce201e3.el7.centos.noarch
* ovirt-release-master-4.1.0-0.1.master.20160928000105.gitf36a206.noarch
Diff between images:
--- ovirt-node-ng-image.squashfs-4.1-999.20160902.0.el7.img

+++ ovirt-node-ng-image.squashfs.4.1-999.20160928.0.el7.img

@@ -1,8 +1,8 @@

@@ -43,14 +43,14 @@

@@ -74,20 +74,20 @@

@@ -103,37 +103,37 @@

@@ -163,15 +163,15 @@

@@ -201,11 +201,11 @@

@@ -241,15 +241,15 @@

@@ -302,7 +302,7 @@

@@ -355,7 +355,7 @@

@@ -413,7 +413,7 @@

@@ -441,7 +441,7 @@

@@ -451,16 +451,17 @@

@@ -552,7 +553,7 @@

@@ -566,15 +567,15 @@

@@ -615,8 +616,8 @@

@@ -630,7 +631,7 @@

@@ -640,21 +641,21 @@

@@ -663,18 +664,18 @@


October 13, 2016 04:08 AM

June 22, 2016

douglas' livejournal

Step by Step: oVirt Node 4.0 Beta setup and Hosted Engine via Cockpit

oVirt Node 4.0 is the new generation of oVirt hypervisor created by ovirt-node team. In this post, I am going to describe how to do the setup of oVirt Node 4.0 and Hosted Engine via Cockpit.

Before we start, let's do a quick recap in a few words..

What's oVirt Node?
It's a minimal OS that contains all requirements to become an oVirt hypervisor.

What's Hosted Engine?
It's the ability of having the oVirt Node and oVirt Engine in the same machine. Basically, the oVirt Engine will be a virtual machine in the hypervisor. In case you are wondering, Hosted Engine has high availability.

Why we have a new generation of oVirt Node?
It's has been while since the ovirt-node creation, approximately +8 years and ovirt-node requires an update to make users and developers easier.

Some examples of improvements:
- Installation now is based on CentOs/Fedora
- RHEL/Fedora OS like
- New user interface (integrated with Cockpit)
- It's possible to use tools like yum and rpm
- nodectl command line tool
- No need to persist conf files anymore
- Filesystem layout as LVM making possible snapshot, rollback operations
and much more...

Although, we provide via jenkins job several formats of ovirt-node 4.0, like: .iso, .qcow2, .squashfs for this post we will use the .iso. For the oVirt Engine side, we will use the appliance image that already contains the ovirt-engine ready to use.

What's the requirements for this example?
- NFS storage
- ovirt-node-ng iso
- ovirt-engine-appliance

Step by Step::

#1 - Files to download
ovirt-node-ng iso

#2 - Copy the .iso to USB, DVD
# dd if=ovirt-node-ng-installer-ovirt-4.0-snapshot-2016061710.iso of=/dev/sdX

#3 - Boot the image

#4 - Select the language

#5 - Adjust the date, keyboard, network and press Begin Installation

Tip: if you configure network in the installer, keep the ip address in mind

#6 - Set root password, optionally create a non root user and reboot the system after installation is complete

#7 - In case, you didn't configure the network in the installer it's time to setup an IP address (via dhclient) or set an ip address

#8 - Install the ovirt appliance rpm in the hypervisor
# yum install ovirt-engine-appliance-4.0-20160610.1.el7.centos.noarch.rpm

#9 - Use a web-browser and connect into the hypervisor via cockpit using the port 9090. To continue check the generated certificate and accept it.

#10 - Login into the cockpit with your root account.

#11 - Select virtualization tab, Hosted Engine and click start

#12 - Answer yes as we want to use the machine as hypervisor and create the engine as virtual machine

#13 - Select the supported storage, in our example nfs3

#14 - Specify the nfs path

#15 - Select the nic the host agent will use for the bridge

#16 - Answer yes for automatic configure iptables

#17 - Set the gateway

#18 - Select the device to boot the vm, in this example disk

#19 - Specify the console type (vnc or spice)

#20 - Specify the path of OVA file

#21 - Answer yes to use cloud-init to customize the appliance

#22 - Answer Generate to generate cloud init ISO

#23 - Specify the engine FQDN

In this step, you can use internal DNS or set in /etc/hosts the node.localdomain and engine.localdomain as resolvable names. It's not only important for this initial setup but for later when adding a second host into the hosted engine setup.

Example (in the hypervisor):

# vi /etc/hosts node.localdomain engine.localdomain

Tip: You can also setup hostname of hypervisor via Cockpit in case it's not set yet.

#24 - Automatic execute engine-setup in the appliance, in this example, yes.

#25 - Yes for automatic restart engine vm as monitored service

#26 - Set the domain

#27 - Set or skip the password for the engine appliance

#28 - Confirm the CPU family

#29 - Set number of virtual CPUs of vm

#30 - Set or accept generated MAC for the vm

#31 - Set memory size of VM

#32 - Set VM network

#33 - In this example, answer yes to copy /etc/hosts from hypervisor to engine vm for name resolution in the setup

#34 - Set engine admin password

#35 - Complete the questionnaire with the name to identify the host in engine, smtp, answer the final engine settings

#36 - Confirm settings to start the setup

Wait a litte bit and you will see the conclusion of process and your engine vm will be available soon as well.

June 22, 2016 06:00 AM

July 14, 2015

douglas' livejournal

oVirt in the 16th edition of the International Free Software Forum (FISL)

Last week I have participated of FISL conference from 8th to 11th July in Porto Alegre/Brazil. This year we completed 4 years of oVirt participating in FISL.
One of benefits to be in FISL and others similar events is the face-to-face contact between oVirt community/developers and users. We have used all time we could in the booth/talks to explain how new features will be integrated to oVirt 3.6 and answering general questions around oVirt.


oVirt Community Update

We have started with the annual oVirt Community update. The goal for the community update slot in FISL is to share user experience with the current release of oVirt and share what's coming in oVirt 3.6.

Gluster and oVirt

We also had a talk about Gluster and oVirt by Marcelo Barbosa, he showed
how oVirt + Gluster is running in the development company that he works.
In the end, people asked questions how he integrated FreeIPA with oVirt
and how well is running Jenkins and Gerrit servers on top of oVirt.
Next year Marcelo should take 2 slots for a similar talks, people are very interested in Gluster with oVirt and real use cases as demonstrated.

Case Study VDI TR Odonto

Candido Raphael is a consult guy that brings to Open Source events use cases of
oVirt deployment. This year, he brought an example of migration of Terminal Service and Windows solution to a oVirt VDI solution. The crowd got excited and several questions were made to Candido about the implementation and hardware he used. Candido please keep bringing more use cases ;-)

Virtualization CPU SLA

Amador gave a talk about CPU SLA. I must say it was awesome talk. It went from
how it works in behind the scenes, like, setting CPU SLA manually via xml/virsh
and finally how we set it via oVirt Engine. As he mentioned in the talk, some features were added in oVirt 3.3 and now for oVirt 3.6 we have much more. He also explained the balloon schema via MoM to the crowd. Well done Amador.

Generic Registration

This year I brought a talk about the Generic Registration that oVirt 3.6 will provide via ovirt-register tool. Basically, now users can register their hypervisors running ovirt-register --engine-fqdn myengine.fqdn instead of going into oVirt Engine admin portal. This tool supports Fedora, CentOS 7, oVirt Node 3.6 and Debian.
We got feedback from the people in the room and a volunteer for packaging the tool in Debian. 8-)

If would like to test the tool in Fedora 22 (python3), use:
$ sudo dnf install python3-ovirt-register

We called the tool 'python'-ovirt-register as it provides a python library too.

Integration: oVirt Docker

Amador started explaining topics and concepts involved in Atomic, Docker, Kubernetes to everyone be in the same page. Later the showed how oVirt can be integrated with such topics. Was an amazing topic, crowd made several questions related to the subject.

Top questions/answers in this event:

* How can I convert my VMWare to oVirt? Can I use the Graphical interface?
oVirt 3.6 provides in oVirt Engine the possibility to migrate the VMWare guests.

* Which distro oVirt 3.6 supports at moment as Hypervisor?
Fedora, CentOS 7, Debian

* When the oVirt 3.6 final release will be launch?
Plase see:

* Could you please share the oVirt 3.6 testing repo?
Please see:

* Where can I download ovirt-node 3.6 iso ?
We provide it via jenkins job at moment for testing:

* Can I use oVirt Node, Hosted-Engine and Gluster or ISCSI together?
oVirt Node support all features that oVirt provides, in short answer,
yes oVirt 3.6 should support it.

* How can I upgrade between the releases of oVirt?
Use engine-setup tool. It will detect you have oVirt Engine running and
will upgrade it. For oVirt Node you can boot the new image or install the rpm
of iso in oVirt Engine and later trigger the upgrade via oVirt Engine.

* Can I have 3rd party backup vendor tool integrated to Graphical interface of oVirt?
I recommend you contact your favorite backup vendor and check it.
The oVirt community is open for new patches, improvements or suggestions for
better integration.

Finally, I would like to thanks Amador, Candido and Marcelo again for the great work we made in the oVirt booth. Next year would be awesome to see the companies that contact us in the event for information how to migrate their current virtualization solution to oVirt giving a talk about their use case.


All slides available at:

For general questions, please use our mailing list:

July 14, 2015 05:17 PM

February 09, 2015

douglas' livejournal

Fosdem and oVirt

This year I had opportunity to go to FOSDEM conference as part of oVirt team, to show to users our bits and exchange knowledge about several topics that users raised like:

How to install oVirt?
How to migrate to oVirt from Vmware or Xen platforms?
Will virt-v2v be integrated to oVirt Engine?

and many others questions such: upgrade ovirt, third backup solutions, ovirt-node, openstack, gluster etc. It was a great experience for sure, without mention that I could talk with others oVirt contributors from community during fosdem and in the ovirt social event.

Two things in this event that got my attention during my booth time:

First: when I approach people going to our booth with:
'Have you heard about ovirt?' a lot of people just answered: 'Yes, I am using it'. Pretty awesome feedback.

Second: "Do you have support for debian as hypervisor?". In fact, there are people in our team working in the support and we are looking for new contributors to speed up this support. At least, 3 people shared that will join the effort to make it happen. (if you are interested, join ovirt devel mailing list)

During the event we also had talks related to oVirt:

Utilizing NUMA architecture in oVirt

Moving your Virtual Machines to oVirt with ease

oVirt and Gluster Hyperconvergence

Docker Integration in oVirt and IaaS

Smart VM scheduling in oVirt cluster

Validate your gerrit patches automaticly using magic hooks

Fabricate your automated devops environment using python

If you never been in FOSDEM, I really recommend this technical event.
Hope to see you with the ovirt guys next year!

February 09, 2015 02:33 PM

October 24, 2014

douglas' livejournal

oVirt node: hosted engine support

oVirt Node 3.5.0 contains ovirt-node-plugin-hosted-engine, which allows setting up hosted engine to run oVirt Engine as virtual machine on the node (support HA, requires at least two hosts).

To start the setup you must inform in the Text User Interface (TUI) how to proceed the installation of oVirt Engine virtual machine:

.ISO file, booting as cdrom, so you proceed the installation as normal operational system, later setting oVirt Engine and hosted-engine will connect to it and make all changed needed to configure your environment. The iso will be downloaded via http.

Pre-configured image with oVirt setup, after install required to run: engine-setup --offline --config-append=ovirt-engine-answers

Install the virtual machine booting via PXE.

Below example will be based on ISO (CentOS 6.5).

Step1: Providing .ISO

Step 2: The engine-hosted-engine-setup will start in screen...

Step 3: The engine-hosted-engine-setup will start in screen...

Step 4: Initial setup
For this step, please keep in mind:
- The storage supported at moment for the virtual machine of hosted-engine are:
    iscsi, nfs3, nfs4
- Admin portal password and FQDN are required to later hosted-engine connect to oVirt Engine and add the changes.
- The default path that the ISO is uploaded in oVirt Node is:

Step 5: Time to install the Operational System
The virtual machine is started to be installed the OS. Connect to VM via remote-viewer with the temp. password provided in the console and conclude the installation. AFTER the successfully OS installation, press 1 and continue.

$ remote-viewer vnc://IP_ADDRESS:5900

Step 6: Setup oVirt Engine
Connect again into the VM, update the system and setup oVirt Engine, AFTER the engine-setup is complete press 1 and the hosted-engine will finish the setup.

# yum update
# yum localinstall
# yum install ovirt-engine
# engine-setup

October 24, 2014 06:22 PM

October 20, 2014

douglas' livejournal

Latinoware2014 - oVirt Report

Last week I have participated of Latinoware conference from 15th to 17th Oct in Foz do Iguacu/Brazil with 4.532 attendees. We (as Red Hat) went with a huge number of Red Hatters and Fedora people to promote the Open Source. As I went there to promote oVirt project, below my view of talks.

oVirt Overview

Amador gave a talk explaining the oVirt components and architecture, from oVirt Node until the new features available in 3.5 version. The crowd made general questions and as usual how to migrate their datacenter from Vmware to oVirt. Congrats Amador!


virt-v2v professional uncomplicated migration

Laercio works at Itaipu Technological Park (PTI) where creation and sharing of knowledge are the standouts. Established in 2003 by Itaipu Binacional – world's largest hydroelectric generation plant in energy generation - the PTI's position as a science and technology hub in Brazil and Paraguay is consolidated. He demonstrated how they migrated from libvirt/kvm to oVirt and encourage people to do the same. We had cases from crowed asking how to migrate from Xen using the same tool, pretty cool talk.

Slides (in pt_BR):

oVirt and Spice as VDI Solution

Candido Raphael is a consultant which showed in his talk how he used oVirt and Spice in two customers as VDI solution. One of customers was software house which had issues with their employees not creating virtual machines centralized and the other solution was to a car reseller. Well done!


oVirt Node Project

Despite of few months working officially as oVirt Node engineer, I have been contributing with several patches which made me brave enough (wearing my hat) to talk about it. I have shared what's the ovirt-node project, how to install/update, how to contribute with it and even showed hosted-engine feature which is available in 3.5 version. During the talk I was interrupted several times for questions, which was good and in the end I had a student looking for help in his final work at college.



Besides the oVirt team we also had many other Red Hatters attending the conference and presenting talks, such as Amador Pahim (oVirt), Leonardo Vaz (XFS and Gluster), Daniel Bristot (Realtime), Marcelo Leitner and Flavio Leitner (OpenVSwitch), Herton (Kernel), Carlos Maiolino (XFS), Ricardo Martinelli (OpenShift), Mauricio Leal, Pedro Ganen. I would like to thank them for their presence. Finally, I would like to thank Fedora folks and specially the Latinoware organization team for making the greatest FOSS conference in Latin America.

October 20, 2014 07:17 PM

June 12, 2014

douglas' livejournal

Generating oVirt node iso with modified packages

This post is about generate an oVirt Node image with updated packages, in
the below example we will update VDSM (node agent) and oVirt Node Plugin VDSM (TUI plugin for node registration).

Iso that will be updated: ovirt-node-iso-3.0.4-1.0.201401291204.vdsm34.el6.iso

Packages versions that will be updated in the above iso:

Note: CentOS 6.5 (CentOS-6.5-x86_64-minimal.iso) will be used in this demo as specific virtual machine to build oVirt Node iso.

Required tool to edit the node:
edit-node is the tool used to edit the node image and include a new package.
Please note that it must be run on the same OS which is used within the image.
So an CentOS image must be edited on a CentOS host.

Repos for edit-node:

Step by step:
# cat /etc/centos-release
CentOS release 6.5 (Final)

# yum install wget createrepo
# wget -O /etc/yum.repos.d/edit-node-el6.repo

# yum install ovirt-node-tools (download stable edit-node and pre-requirements)

Install required packages for build:
# yum install make autoconf automake pyflakes logrotate gcc python-pep8 libvirt-python python-devel python-nose rpm-build sanlock-python genisoimage python-ordereddict python-pthreading libselinux-python python-ethtool m2crypto python-dmidecode python-netaddr python-inotify python-argparse git python-cpopen bridge-utils libguestfs-tools-c pyparted openssl libnl libtool gettext-devel

Update pep8:
# yum install

Install Apache to be your local repo
# yum install httpd
# chkconfig --levels 235 httpd on
# mkdir -p /var/www/html/nodebuild

Build vdsm and ovirt-node-plugin-vdsm:
# git clone git:// && cd vdsm
# git checkout remotes/origin/ovirt-3.4 -b 3.4 (3.4 is current stable branch)
make your changes
# ./ --system && make && make rpm && cd ..
* To ignore tests and other tips:

# git clone git:// && cd ovirt-node-plugin-vdsm
# git checkout remotes/origin/node-3.0 -b 3.0 (3.0 is the current stable branch)
make your changes
# ./ && make && make rpms && cd ..

Copy rpms generated to /var/www/html/nodebuild/ and create a local repo
# cp ~/rpmbuild/RPMS/noarch/* ~/rpmbuild/RPMS/x86_64/* /var/www/html/nodebuild/
# createrepo /var/www/html/nodebuild/

Add the additional repo:
# vi /etc/yum.repos.d/edit-node-el6.repo
name=Local node build

Download the iso that will be changed:
# wget

Download the last edit-node and execute it:
# git clone git://
# ovirt-node/tools/edit-node --repo /etc/yum.repos.d/edit-node-el6.repo --update vdsm,ovirt-node-plugin-vdsm* ovirt-node-iso-3.0.4-1.0.201401291204.vdsm34.el6.iso --name mynewovirtbuild

Note: It's not required to store edit-node repo into /etc/yum.repos.d. You can use it in any directory to avoid cluttering up normal system operation.

Others related links:

June 12, 2014 10:07 PM

June 08, 2014

douglas' livejournal

Setting up a TFTP server, PXE boot server with libvirt and virt-manager for ovirt-node

This post is about setup virt-manager to autoinstall oVirt Node as virtual machine via libvirt/PXE. Additionaly, TFTP server will be installed in the host machine which runs the virt-manager.

I have created the post based on Fedora 20, fell free to post comments about your experience in others versions or distros.

Installing and Setting packages
# yum install virt-manager tftp tftp-server libvirt livecd-tools -y

Reload libvirtd to create virbr0
# /bin/systemctl restart libvirtd.service

Notice that now you will have the virbr0 interface:
# ip addr
3: virbr0: NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 56:14:04:78:c4:f7 brd ff:ff:ff:ff:ff:ff
inet brd scope global virbr0
valid_lft forever preferred_lft forever

1) Configure the XML of the default libvirt network to include the PXE settings:
bootp file='pxelinux.0' server=''

# virsh net-destroy default
# virsh net-edit default
# virsh net-start default

2) Enable tftp-server
# vi /etc/xinet.d/tftp
disable = yes
disable = no

# /bin/systemctl restart xinetd.service

3) Download ovirt-node image and setup tftpboot
Download the last oVirt Node stable available:
# wget

Convert livecd to pxeboot image:
# livecd-iso-to-pxeboot ./ovirt-node-iso-3.0.4-1.0.201401291204.vdsm34.el6.iso

Copy the files generated to tftp directory:
# cp -Rpv tftpboot/* /var/lib/tftpboot/

Edit default file and include ovirt node settings
# vi /var/lib/tftpboot/pxelinux.cfg/default

DEFAULT pxeboot
LABEL pxeboot
    KERNEL vmlinuz0
    APPEND rootflags=loop initrd=initrd0.img root=live:/ovirt-node-iso-3.0.4-1.0.201401291204.vdsm34.el6.iso rootfstype=auto ro liveimg check RD_NO_LVM rd_NO_MULTIPATH rootflags=ro crashkernel=128M elevator=deadline install quiet max_loop=256 rhgb rd_NO_LUKS rd_NO_MD rd_NO_DM firstboot storage_init=/dev/vda ssh_pwauth=1 adminpw=ovonFQQPIAM9o management_server= BOOTIF=link

- firstboot: first boot
- adminpw: Sets an encrypted, temporary password for admin (ovonFQQPIAM9o is ovirt encrypted)
- management_server: Specifies - the management server to be used.
- storage_init: Initialize a local storage device. (Depending can be vda/sda)
- ssh_pwauth: Enable ssh
- BOOTIF: specify network for bridge (link = autodetect)

Setting Firewalld
firewall-cmd --permanent --add-service=tftp
firewall-cmd --reload

First, check if your host has enabled the nested-kvm, if not, enable it and via virt-manager interface copy the Processor flags to the virtual-machine. After that, create your new virtual machine for oVirt Node based on PXE boot.

Links related to this topic

June 08, 2014 03:30 AM

May 12, 2014

douglas' livejournal

FISL15 - oVirt report

Last week I participated of FISL conference from 7th to 10th May in Porto
Alegre/Brazil with Red Hat team and Fedora community to promote oVirt
and cloud technologies, below my view of these days.

For those who never heard about FISL, it is the largest FOSS events in
LATAM and one of the largest in the world, this year they had 6.017
participants according with official report. The registered audience
includes community, developers, companies,
students, colleges and government institutions.

oVirt Community update

This year we had a special guest Brian Proffitt, the Technical
Community Manager of oVirt. He joined our troop which contained
Amador Pahim (Red Hat), Marcelo Barbosa (Community member) and myself
(Red Hat) to demostrate and talk about oVirt.

Below the talks during our community update:

- oVirt Overview - Amador Pahim

- The Road Ahead for the oVirt Community - Brian Proffitt

- Installation Process - Marcelo Barbosa

- Hot Features in current version - Amador Pahim

- v2v Migrating virtual machines to oVirt - Douglas Landgraf

The feedback was very positive, people often raised hands to make
questions during all presentations. As expected, we knew some
faces in the crowd from previous years of community update and
we are glad to have such people year after year sharing
their thoughts and needs.

Some highlights that I would like to point are:

- New users from VMWare want to migrate to oVirt. Year after year we
always have people asking how to migrate from VMWare environment to oVirt.
Two special cases this time, one from Brazilian government and other from private
company which are looking for a open source solution to a
possible migration of 400 VMware guests.

- Questions about ipv6 support

- A developer from community want to make oVirt run in Slackware and
will join forces to us.

- A teacher from Brazillian Computer Science college shared that he
has a student doing his Conclusion work about oVirt and asked if
we are interested about it. I replied instantly that we are and can
help him with any information that he needs.

- User reporting that he has oVirt and RHEV running in their
environment. RHEV as main platform to their customers and oVirt
for the development phase of their product.

To close the oVirt participation in the event with the gold key we had
Brian Proffitt in: oVirt: How to Connect with a Really Mature Open Source Project.

A brillant talk showing the history of oVirt and RHEV from the early days as commercial and closed
solution to acquisition of Qumranet by Red hat. For me it was very cool to remember these
early days which I was part of it.

All slides will be available here:

Thanks again to all oVirt troop guys which spend 3 full days sharing
the knowledge to oVirt users and to Leonardo Vaz to make the booth happen.
See you there next year!

May 12, 2014 02:41 PM

July 09, 2013

douglas' livejournal

FISL14 - oVirt and Cloud EcoSystem

Last week I participated of FISL conference from 3th to 6th July in Porto
Alegre/Brazil with Red Hat team and Fedora community to promote oVirt
and cloud technologies, below my view of these days.

For those who never heard about FISL, it is the largest FOSS events in LATAM and one of the largest in the world, having around 8.000
participants. The registered audience includes community, developers, companies,
students, universities and government institutions.

oVirt activities during FISL

This year we had a lot of people interested about oVirt (yes, the
project is growing pretty fast here in LATAM) visiting our booth and
we learning about the project, the features and hearing what they can
expect in the upcoming releases.

We also had talks about oVirt and Virtualization ecosystem in
conference program:

oVirt Community update

Speakers: Amador Pahim (left), Marcelo Barbosa (Fedora Ambassador and local oVirt community), Douglas Landgraf (right)

At the beggining we had only Red Hatters involved in this talk, but we
invited Marcelo since he is a oVirt/Fedora passionated contributor
which has been promoting and testing it in his free time.

The audience was a mixed between people that want to learn about oVirt
and people that already uses oVirt, some of attending includes
computer science students, HP Brazil, Brazilian govern institute,
Brazilian Colleges and so on.

We started the talk introducing oVirt, telling what is it about,
explaining the architecture, features, supported components (storage,
domain controllers, etc.) etc. We also described supported
installation process and we used the remaining time for a demo and to
answer audience questions.

In the end, people started asking how to migrate from a Vmware/Vshere
scenario (Yes, we do. See v2v tool). Mental note for upcoming events:
Work in a talk to explain this tools in depth.

Ovirt + Gluster
Speaker: Theron Conrey (Red Hat)

One of the greatest talks in our opinion, because Theron provived an
excellent overview of Cloud Computing and explained how to build one
using oVirt/Gluster.

Spacewalk & oVirt

Speakers: Marcelo Mello and Amador Pahim (from Red Hat)

Another great talk, where Marcelo and Amador made Spacewalk/oVirt work
together in a demo for provisioning a environment capable to scale
based on the demand.

KVM - Ademar Reis

Ademar provided an excellent report about KVM/libvirt/qemu recent
enhancements and what the can be expected in Virtualization field for
upcoming years.

Additionally, Theron (left), Ademar (center) and John Mark Walker talked about virtualization in a booth.

oVirt Features 3.1 -> 3.2

Speakers: Douglas, Amador Pahim (from Red Hat), Marcelo Barbosa
(Fedora Ambassador and local oVirt community)

We used this talk to present a list of features from oVirt to 3.1 to
3.2, including some demos.


Fabiano Franz talked about OpenShift in the main track/booth a lot of people interested about openshift. Diane Mueller provided a demo in our booth.

Besides the talks above, we also presented small quick version of the
talks at the booth for those ones which were interested on attending
it. There were also many other talks about virtualization projects
sponsored by Red Hat in main conference program, presented by other
people and companies.

I'd like to thank all people involved on it (too many names to list here) but specially Leonardo Menezes Vaz and Leslie Hawthorn which worked hard to have our space/booth and all stuff ready for this event.

See you there next year!

July 09, 2013 09:40 PM

September 24, 2012

faw's advogato

24 Sep 2012

A new journey ahead

Changing jobs and moving to a new country... it's just the beginning.

On September 30th, 2012 I'm moving to Menlo Park, CA, USA because back in December 2011 I accepted a job offer as a sysadmin (the name is fancier: Operations Engineer) in Silicon Valley. Since then I'm working on the required documentation, so far everything had worked out. I'm starting at the new work on October 8th, and as I'm arriving on October 1st, I'll have a week to take a look around and get to know a tiny bit of San Francisco Bay Area.

In different levels and aspects it is a big opportunity for me, and I'm confident it'll be an unique experience, not only professional, which of course involves working in a bigger company with more complex scenarios and bigger challenges, and on the personal side, I'll live abroad, be an expat.

As you may imagine, I'm working on this process for more or less 10 months, but in the last 30 days it got more intense. Quitting my jobs, organizing my stuff, cleaning part of backlog (and finding out a have a huge to-do list awaiting for me). Spending quality time with family and friends, and also saying goodbye to them. Finishing some aspects of the move (travel tickets, temporary living).

It's new, it's different! I'm super excited and I do want to change a few things to make it easier for family and friends to keep up, make it easier to follow the news, which might help with the distance.
And now for something completely different! See you all pretty soon! :-)

September 24, 2012 03:02 PM

May 24, 2012

aris' advogato

24 May 2012

gotta love those days you stop and finally learn how to fix
properly small annoyances that have bugged you for years.
today was how to add new lines in regular expressions in vim.
one would think \n is the answer, but it's \r.

May 24, 2012 03:48 PM

May 22, 2012

aris' advogato

22 May 2012

x200 looking like new after a 512G SSD and 8GB of RAM

May 22, 2012 06:33 PM

March 14, 2012

douglas' livejournal

liveusb-creator: Create bootable USB with any ISO

Burn any bootable ISO to USB:


$ yum install liveusb-creator

Really useful tool! :)

March 14, 2012 04:09 PM

December 19, 2011

faw's advogato

19 Dec 2011

29 and counting

Time flies... and very fast.

There are so many things I'd like to share and tell you about but that would make a long and boring post, so I'll divide it in future entries, so I can keep this diary alive, keep people informed and tell a little bit about my story. Eventually, I may split this diary into a technical and a non-technical blog, but for now, I will stick around mixing topics. :-) Last time I wrote was back in 2009 at DebConf9 in Spain and a lot of things happened that year. Not only for Debian, but also for me.

My last year studying Computer Science was 2009 and that same year I was working full time, I helped organizing a large event for Computer Students (ENECOMP 2009), we had some troubles and side effects with Influenza A (H1N1) in my city (Curitiba, PR) and towards the end of the year I got really sick (not from Influenza) and it took a while to know what was going, during this process I did hurt some people I really love and I'm truly sorry. The past, 2010 went on as busy and unstable as 2009, my laptop's hard disk broke twice (January and October) and I survived thanks to backup and recovery procedures. I took some wrong decisions but fixed it later and learned a lot from my mistakes, decisions and choices.

Then 2011 came, my laptop's hard disk broke again and I lost almost 6 months of emails, I find out that after the second crash in 2010 part of my backup got b0rk3d. Fine, I didn't die, everything seems to be fine, but I'm still catching up with a lot of work and backlog. At different times one of my parents also got really sick and I learned quite a bit on how to deal with it.

Due to the laptop and the different things going on in my life I didn't work for Debian as much as I want and I still feel guilty. :-( But that's fine, this is a kind of public apologize for my peers in Debian (i18n, mirrors, release), I still want to help all of you, but I still have quite a bit of backlog to clean and quite a few things to learn in the process. And in general, I'm really sorry if I didn't (or I couldn't) work for Debian as much as I want.

Although I'm taking the chance to apologize in this post, I still want to make clear that I'm quite happy. This last year was pretty good, I had the opportunity to attend DebConf again and also got to know Sarajevo and Zagreb. New lessons were learned, better work cycles, nicer solutions. Today I'm completing 29 years old. 29. This is quite some time, not a long ride, but for one reason or another, I have high hopes for 2012 and what awaits me. And I do plan to learn more, to help more and whenever possible, to contribute back.

Last time I wrote here I mentioned about my graduation and another post to talk about that, I'll write about it as soon as I get my diploma (because of different printing problems it was delayed for almost 2 years). And I do plan to write more frequently. :-)

December 19, 2011 08:00 PM

October 09, 2011

douglas' livejournal

Howto: Setting PXE server to install RHEV-H

There is nothing in special to setup the PXE server for RHEV. However, if you are wondering how to create one, please follow the steps below.

First, let's identify which subnet we are going to use. In my case, the subnet will be 192.168.1.X.

Checking the subnet

# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:1E:C9:20:3F:6B
inet addr: Bcast: Mask:
inet6 addr: fe80::21e:c9ff:fe20:3f6b/64 Scope:Link
RX packets:4453951 errors:0 dropped:0 overruns:0 frame:0
TX packets:3350991 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3216624601 (2.9 GiB) TX bytes:1188936874 (1.1 GiB)
Interrupt:21 Memory:febe0000-fec00000

Installing DHCP

dhcp - is required because the client machine will boot from PXE and adquire an IP address from the DHCP server available at the subnet.

1) # yum install dhcp -y

Setting DHCP

2) vi /etc/dhcp/dhcpd.conf

ddns-update-style none;

subnet netmask {
range dynamic-bootp;
option domain-name-servers; # DHCP Server
#option domain-name "";
option routers; # DHCP Server
option broadcast-address;
default-lease-time 600;
max-lease-time 7200;

host rhev-server1 {
hardware ethernet 00:15:C5:E0:D3:27; # MAC from machine that will boot via PXE
fixed-address; # Fixed IP address
filename "pxelinux.0"; # File that will be downloaded by the client
next-server; # DHCP Server

# vi /etc/sysconfig/dhcpd
# Command line options here

# chkconfig dhcpd on

# service dhcpd start
Starting dhcpd: [ OK ]

Installing TFTP

tftp - will be used to transfer the image to be installed into the clients from the server.

# yum install tftp tftp-server -y

# chkconfig xinetd on
# chkconfig tftp on

# service xinetd start
Starting xinetd: [ OK ]

Preparing pxeboot

Extract files available inside the rpm or install it.
Below RPM available only via Red Hat Channel.

# rpm2cpio rhev-hypervisor-6.2-0.17.2.el6.noarch.rpm | cpio -div
241719 blocks

Converting the iso image to a PXE boot

note: you can use livecd-iso-to-pxeboot tool as well.
# bin/rhevh-iso-to-pxeboot share/rhev-hypervisor/rhev-hypervisor.iso
Your pxeboot image is complete.

Copy tftpboot/ subdirectory to /tftpboot or a subdirectory of /tftpboot.
Set up your DHCP, TFTP and PXE server to serve /tftpboot/.../pxeboot.0

Note: The initrd image contains the whole CD ISO and is consequently
very large. You will notice when pxebooting that initrd can take a
long time to download. This is normal behaviour.

Copying the generated files

The directory tftpboot/ was generated with the files to create the PXE boot.

Before copying, let's find which directory tftpboot service is setup.

# cat /etc/xinetd.d/tftp | grep -v ^#
service tftp
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
per_source = 11
cps = 100 2
flags = IPv4

In this case, the directory is /var/lib/tftpboot as showed in the server_args parameter.

# cp -Rpv tftpboot/* /var/lib/tftpboot/
`tftpboot/initrd0.img' -> `/var/lib/tftpboot/initrd0.img'
`tftpboot/pxelinux.0' -> `/var/lib/tftpboot/pxelinux.0'
`tftpboot/pxelinux.cfg' -> `/var/lib/tftpboot/pxelinux.cfg'
`tftpboot/pxelinux.cfg/default' -> `/var/lib/tftpboot/pxelinux.cfg/default'
`tftpboot/vmlinuz0' -> `/var/lib/tftpboot/vmlinuz0'

Now it's time to setup the pxelinux.cfg/, this directory holds the files that the pxeboot will look during the boot. Each file be named as the fixed IP address of client converted to hexadecimal, for example (

# cd /var/lib/tftpboot/pxelinux.cfg

# gethostip -x

Copying the default settings of RHEV PXE boot
# cp default C0A801F0

Preparing Firewall

Allow the MAC from the client machine.

# iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -I INPUT 1 -m mac --mac-source 00:15:C5:E0:D3:27 -j ACCEPT
# service iptables save

Ok, everything done, it's time to boot your client machine via PXE (please note that this can take some time)

References about PXE and kickstart

Instalação Automatizada de Servidores com Kickstarts – Parte II – Integrando com Servidores PXE

October 09, 2011 11:18 PM

September 28, 2011

douglas' livejournal

restapi: urllib2 + auth + put + xml

September 28, 2011 01:46 AM

restapi: urllib2 + auth + delete + xml

September 28, 2011 01:14 AM

September 27, 2011

douglas' livejournal

restapi: urllib2 + auth + post + xml

September 27, 2011 04:24 PM

September 25, 2011

douglas' livejournal

yum: prevent a package to be updated in your system

1) Enable the yum-plugin-versionlock

$ vi /etc/yum/pluginconf.d/versionlock.conf
enabled = 1
locklist = /etc/yum/pluginconf.d/versionlock.list
# Uncomment this to lock out "upgrade via. obsoletes" etc. (slower)
# follow_obsoletes = 1

2) Add the list of packages to be protected:


Additional info:

September 25, 2011 04:50 AM

libvirt/virt-manager: snapshot corrupted, how can I start my virtual machine again?

virsh # start my-virtual-machine-name
error: Failed to start domain my-virtual-machine-name
error: cannot send monitor command '{"execute":"qmp_capabilities"}': Connection reset by peer

1) Remove any snapshot available
# rm -f /var/lib/libvirt/qemu/save/my-virtual-machine-name

2) restart libvirtd
# service libvirtd restart

3) Start the virtual machine again

September 25, 2011 03:53 AM

September 09, 2011

douglas' livejournal

RHEV 3.0: REST API example (python)

Below, just an example how powerful and simple REST API is in RHEV 3.0

$ python -i -u -p T0pSecreT!
Connecting to:
hosts: total 1
hosts: active 0
users: total 1
users: active 1
vms: total 0
vms: active 0
storage_domains: total 0
storage_domains: active 0

All examples:

September 09, 2011 10:09 PM

August 22, 2011

douglas' livejournal

Fedora/CentOS/RHEL: setting bond

Below an example of setting bond (active-backup mode)

1) Disable NetworkManager (if you have)
# chkconfig NetworkManager off
/etc/init.d/NetworkManager stop

2) Load module
# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding

3) Setup eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

4) Setup eth1
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

5) Setup bond0
# vi /etc/sysconfig/network-scripts/ifcfg-bond0
BONDING_OPTS="miimon=1000 mode=active-backup"

6) Restart your network service or reboot your machine

7) Checking bonding setup
# cat   /proc/net/bonding/bond0

More about bonding:

August 22, 2011 08:08 PM

August 12, 2011

douglas' livejournal

Fedora: Glade 3.6.7 - Stock button not showing the image

# yum install gconf-editor
# gconf-editor

1. Go to desktop -> gnome ->interface
2. Check "buttons_have_icons"

August 12, 2011 12:55 AM

August 04, 2011

douglas' livejournal

mount.nfs: Unknown error 521

#mount -t nfs /data
mount.nfs: Unknown error 521

To solve I have included into my NFS server the insecure mode.

# vi /etc/exportfs
/data *(rw,sync,insecure)

# exportfs -a (reload /etc/exportfs)

The insecure option allows clients with NFS implementations that don’t use a reserved port for NFS.

The same post is valid to error msg:
mount.nfs: access denied by server while mounting

August 04, 2011 03:36 PM

Linux: Installing flash 64 bit - x86_64 - beta 11

# cd /
# tar zxvf flashplayer11_b1_install_lin_64_071311.tar.gz
# mv /usr/lib/mozilla/plugins/

restart firefox/chrome

August 04, 2011 03:44 AM

August 03, 2011

douglas' livejournal

virt-manager: cloning sparse images

The virt-manager version 0.8.6 cannot clone sparse images using the virt-manager clone option.
Instead of create a new sparse image, it creates a new image with the full size of image.

To avoid this, you can clone by hand using cp and adding the new image manually, here an example:

Cloning the image
# cd /var/libvirt/images
# cp --sparse=auto my-virtual-machine-template.img my-new-vm.img

# cd /etc/libvirt/qemu/
# cp my-virtual-machine-template.xml new-virtual-machine.xml
# vi new-virtual-machine.xml

Change the fields:

dc16b3e4-baee-2bf7-6b02-b6217e81b00d (choose random change)

# virsh define /etc/libvirt/qemu/new-virtual-machine.xml

Now open your virt-manager and enjoy!

August 03, 2011 05:55 PM

virt-manager: importing kvm image

1) Copy the xml definition of your virtual machine from original host to your new host into /etc/libvirt/qemu/
# scp /etc/libvirt/qemu/my-virtual-machine.xml myuser@newhost:/etc/libvirt/qemu/my-virtual-machine.xml
(you can use virsh dumpxml)

2) Copy the original image too /var/lib/libvirt/images
# cd /var/lib/libvirt/images
# scp my-image.iso myuser@newhost:/var/lib/libvirt/images/my-image.iso
Copying sparse file? use rsync instead of scp, otherwise scp will copy the full size of file

3) Use virsh to enable your the virtual machine
# virsh define /etc/libvirt/qemu/my-virtual-machine.xml

4) Start your virtual machine from virt-manager

August 03, 2011 05:38 PM

copying sparse file over network (rsync)

# rsync -aP --sparse my-virtual-machine-template.img --progress -e ssh myuser@

August 03, 2011 05:15 PM

dokuwiki: removing playground and wiki template

rm -r /var/lib/dokuwiki/data/pages/playground
rm -r /var/lib/dokuwiki/data/pages/wiki

refresh your dokuwiki page

August 03, 2011 05:44 AM

August 02, 2011

douglas' livejournal

Fedora: Mounting NFS automatically at boot

# vi /etc/fstab
IP_ADDRESS_NFS_SERVER:/exported_dir /local_dir nfs rsize=8192,wsize=8192,timeo=14,intr

Example: /mylocaldir nfs rsize=8192,wsize=8192,timeo=14,intr

# mount -a

August 02, 2011 06:37 PM

vono configuracoes - Proxy

Outbound Proxy:

August 02, 2011 02:56 PM

August 01, 2011

douglas' livejournal

Fedora: Fixing grub - system reinstalled - lost grub - recover grub

- Boot with your Fedora DVD.
- Choose Rescue installed system.

On prompt:
- #chroot /mnt/sysimage
- #grub-install /dev/sda
If you get any error message, try: # grub-install --recheck /dev/sda
- # reboot

August 01, 2011 10:03 PM

Windows 7: Blue Screen of Death - NMI: Parity - DELL Optiplex 755

Check / Memory Parity Error

During the installation of Windows 7 with my Dell Optiplex 755 I got a
blue screen of death saying:

Hardware Malfunction
Call your hardware vendor for support
NMI: Parity Check / Memory Parity Error
*** The system has halted ***

To continue my installation I have changed the SATA Operation to
Legacyinto the BIOS:
Drivers -> Sata Operation -> Legacy instead of the factory
default setting (RAID Autodetect / AHCI)

A note: Linux worked out of the.

August 01, 2011 02:35 PM

July 30, 2011

douglas' livejournal

python: list python modules installed

# python
>>> help("modules")

July 30, 2011 06:46 AM

fedpkg update: Invalid build

BODHI_USER=your_fas_username fedpkg update
Creating a new update for my-project-1.0.0-4.fcXX
Password for dougsland:
Creating a new update for my-project-1.0.0-4.fcXX
Invalid build: my-project-1.0.0-4.fcXX

Make sure you have executed first fedpkg build and then fedpkg update

July 30, 2011 06:38 AM

July 15, 2011

douglas' livejournal

confparse - python module to parse .conf files (do not require session)

I have decided wrote a python module to parse .conf files (confparse) to easy handle libvirtd.conf and other .conf files that involve my day job.

Why write a new python module to parse .conf files if python provides ?


confparse DO NOT require session argument to change any the config attribute
    * confparse you can manage config attributes as dict variable type, the index of dict will be the attribute name of the config file
    * confparse uses dict to manage the conf file, with this feature you can record all config changes at just one time.


Would like to try? Available at:

July 15, 2011 08:52 PM

July 13, 2011

douglas' livejournal

libvirt: add virtio to kvm guest (xml)

# cd /etc/libvirt/qemu/
# cp guest.xml original.guest.xml
# vi guest.xml

Add the following lines:

<interface type='network'>
      <source network='default'/>
      <model type='virtio'/>

# virsh define guest.xml

# virsh start guest

(Inside guest)

# ifconfig -a (check if the interface eth0 exists)
# dhclient eth0

July 13, 2011 07:13 PM

July 07, 2011

douglas' livejournal

python exercise to get configuration value from a file.

There are many Config Parser in python but usually they require to use [session] to locate the session of configuration and then parse the file to locate the conf value. Below my response (quick/simple hack) method to these modules....

Example of use:
self._getConfValue("/etc/libuser.conf", "crypt_style")

Function return
if the configuration is commented will return the caracter "#", otherwise will return the value of configuration


def _getConfValue(self, pathFile, stringValue):
       confValue = ""
           lines = open(pathFile).readlines()
       except IOError, reason:
           print "Cannot open file!"

        for line in [l.strip() for l in lines]:
            if not line:

        ret = line.find(stringValue)
        if ret != -1:
            # configuration commented? return value #
            if line[0] == "#":
                confValue = "#"
                sizeString = len(line)
                indexEqual = line.index('=')
                indexEqual += 1 # Get next caracter from =
                for i in range(indexEqual, sizeString):
                    if (line[i] == "\"") or (line[i] == " "):
                    confValue += line[i]

return confValue

July 07, 2011 04:33 AM

June 16, 2011

douglas' livejournal

powershell - Executing quick SELECT statement

Just to share an example:

$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server=MY_SQL_SERVER_NAME;database=MY_DATABASE;trusted_connection=true;"
try {
catch {
        Write-Host "Cannot connect to the SQL Server!"
$SqlCmd.CommandText = "select count(*) from users"
$SqlCmd.Connection = $Connection
$nro_users = $SqlCmd.ExecuteScalar()
Write-Host "Saving number of users:" $nro_users
$nro_users > 'c:\users.txt'

June 16, 2011 06:06 PM

June 15, 2011

douglas' livejournal

powershell: exporting certificate

To export certificate from LocalMachine, Trusted Root Certification Authorities and subject *RHEVM CA*

$cert = (dir cert:\localmachine\root)[0] | where { $_.Subject -like "*CN=RHEVM CA*" }
$type = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert
$bytes = $cert.export($type)
[System.IO.File]::WriteAllBytes("C:\mycert.cer", $bytes)

June 15, 2011 05:57 PM

June 14, 2011

douglas' livejournal

powershell: reading windows registry entry

$reg_path = "HKLM:\SOFTWARE\Wow6432Node\RedHat\SetupInfo\"
$reg_key = Get-ItemProperty -path $reg_path -name InstallLocation
$rhevPATH = $reg_key.InstallLocation

Write-Host $rhevPATH

June 14, 2011 08:13 PM

May 11, 2011

douglas' livejournal

resume NFS failed copy

curl -C - -O file:///my-super-path/file

May 11, 2011 04:31 AM

March 31, 2011

douglas' livejournal

Vmware: "Initialization for vtd failed. with -1"

VMware started to show me the message "Initialization for vtd failed. with -1" and iommu was not able to be started during the boot.
Also VSphere stopped to work.

I have tried to disable on the BIOS VT Direct IO (IOMMU) and Vmware stoped to work and doesn't boot anymore.
To solve the issue I have updated the BIOS of my mainboard.

Mainboard: Intel DP43TF
Updated to BIOS Version: 107

Binary: NBG4310H.86A.0107.EB.EXE

March 31, 2011 02:18 AM

March 26, 2011

douglas' livejournal

fedora 13: Acessando página do Banco Do Brasil no Linux

March 26, 2011 11:40 PM

fedora: rc.local not working with synergy?

Add your synergy line to

# vi /etc/gdm/Init/Default


/usr/bin/synergys -c /home/dougsland/.synergyserver

March 26, 2011 04:33 AM

March 24, 2011

douglas' livejournal

nagios: client denied by server configuration: /usr/lib64/nagios/cgi-bin/statusmap.cgi

# tail -f /var/log/httpd/error_log
client denied by server configuration: /usr/lib64/nagios/cgi-bin/statusmap.cgi, referer: http://IP/side.html

#vim /etc/httpd/conf/httpd.conf
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

# service httpd restart

March 24, 2011 03:01 PM

February 19, 2011

douglas' livejournal

C# - Add certificate (.cer) to LocalMachine -&gt; Personal

public void addCertificatePersonal(string pathToCert)

/* Load certificate */
X509Certificate2 cert = new X509Certificate2(pathToCert);

/* Place to store cert */
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);

/* Add cert to the store */

February 19, 2011 02:17 PM

C# Add Private Key - Place: LocalMachine -&gt; Personal

public void addPfxCertificate(string pathToPfx, string passwordPfx)

X509Certificate2 cert = new X509Certificate2(pathToPfx,passwordPfx, X509KeyStorageFlags.MachineKeySet |

// Place to store
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);



February 19, 2011 02:13 PM

January 27, 2011

douglas' livejournal

C# getopt

This is a Getopt port to C#.NET.

Just worked fine.

January 27, 2011 03:52 PM

October 27, 2010

douglas' livejournal

serial console Linux


1 cabo serial com duas pontas tipo fêmea
2 máquinas com 1 porta serial tipo macho em cada

Neste post, será utilizado Red Hat Enterprise Linux 5 (RHEL5) e Fedora 10.
RHEL5 será o server e o Fedora o client. De qualquer maneira, o post é válido
para outras distros.

Teste inicial

Antes de começar vamos testar se a conexão entre as duas máquinas
esta funcionando. Esse teste é válido p/ validar cabo e placas.

Em ambas máquinas instale o minicom.

# yum install minicom -y

# minicom -s (para entrar no modo de setup)
-> Serial port setup
-> Pressione A p/ configurar o Serial device, neste exemplo /dev/ttyS0 (COM1)
-> Pressione E p/ configurar a velocidade e paridade do seu device, neste exemplo (38400 8N1)
-> Pressione enter p/ voltar ao menu principal e selecione Exit.

Com a tela do minicom aberta em ambas máquinas, tudo que você digitar em uma, deverá aparecer na outra máquina.
E se enquanto você digitava na máquina 'A' apareceu alguns caracteres estranhos na 'B'?
- Altere a velocidade da comunicação nas máquinas (Ex.: de 115200 p/ 38400)

Se tudo ocorreu bem, podemos ir p/ o próximo passo. Caso contrário, verifique velocidade, cabo ou sua placa serial.

Configurando a máquina "A" (server)


1) Adicionar no grub as configurações de serial (em negrito)

serial --unit=0 --speed=38400

unit = é o número da COM (0 = COM1)
speed = velocidade

terminal --timeout=10 serial console

Terminal irá informar que será utilizado a comunicação serial, com o timeout de 10segundos.

kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup01/LogVol00 rhgb quii
et crashkernel=128M@16M loglevel=8 console=ttyS0,38400 console=tty

Na linha do kernel passamos a COM1 (ttyS0) como parâmetro e a velocidade e informamos
que o output tmb irá aparecer no terminar.

Versão final grub.conf
serial --unit=0 --speed=38400
terminal --timeout=30 serial console

title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup01/LogVol00 rhgb quii
et crashkernel=128M@16M loglevel=8 console=ttyS0,38400 console=tty
initrd /initrd-2.6.18-164.el5.img

Neste momento, reiniciando o servidor 'A' e deixando o minicom no servidor 'B' ativo, será possível visualizar
todo boot do servidor 'A'.

Habilitando opção de login no servidor

1) Tenha certeza que sua COM (/dev/ttyS0) esta disponível dentro do /etc/securetty (p/ habilitar conexao via root, caso seja necessário)

2) Adicione a console (c0) no /etc/inittab
c0:2345:respawn:/sbin/agetty ttyS0 38400 vt100-nav

Para carregar as novas configurações você pode digitar (ou reiniciar):

#init q

Na máquina B execute o minicom p/ seu ttyS0 e veja o login aparecendo.

Resolução de problemas

1) Sujeira aparece no minicom (seja na hora do login ou antes)
- Diminua a velocidade da comunicação, existem cabos que não funcionam em velocidades altas (115200) por causa de
sua pinagem.

2) Nada funciona
- Verifique seu cabo e placas seriais
- Verifique a configuração

Onde comprar os equipamentos?

Existem várias lojas através da internet, alguns exemplos: (cabo) (placa serial pci)

October 27, 2010 04:39 PM

October 10, 2010

douglas' livejournal

Fedora13: mounting iphone

# yum install ifuse -y

# mkdir /media/iphone
# ifuse /media/iphone

# ls /media/iphone

October 10, 2010 06:28 PM

September 20, 2010

douglas' livejournal

Iphone 3G + Linux + Fedora + Operadora TIM + Tethering, Internet Compartilhada (bluetooth)

September 20, 2010 04:14 AM

September 10, 2010

douglas' livejournal

How to install a kvm guest without graphics?

#mkdir /var/www/httpd/iso
#mount -o loop my-distro.iso /var/www/httpd/iso

virt-install --name my-distro-name --hvm --vcpus 1 --ram 512 --nographics --os-type=linux --disk path=/var/lib/libvirt/images/my-distro-name.img, size=5 --network bridge:virbr0 --extra-args "console=tty0 console=ttyS0,115200" --accelerate -l

Actually, you can use directly -l my-distro.iso, like:

virt-install --name my-distro-name --hvm --vcpus 1 --ram 512 --nographics --os-type=linux --disk path=/var/lib/libvirt/images/my-distro-name.img, size=5 --network bridge:virbr0 --extra-args "console=tty0 console=ttyS0,115200" --accelerate -l ./fedora.iso

September 10, 2010 08:05 PM

August 02, 2010

douglas' livejournal

Receptor USB Tevii S660

Por: Raimundo Eduvirgens Oliveira

Estou feliz em dizer a todos os interessados no assunto, que temos mais um excelente dispositivo funcionando perfeitamente no linux. É o receptor USB TeVii S660. Comprei no ML, liguei na parabólica normal de 2,40m apontada para o Satélite C2 (antigo B1) e sintonizei tantos os canais da Banda C quanto os da Banda Ku. Consegui usá-lo tanto no VLC quanto no Mythtv. A qualidade da imagem é ótima. Pra isso eu fiz o seguinte:

1 – Peguei o driver pra Linux no site da Tevii: www. descompactei o arquivo 100315_Beta_linux_tevii_ds3000.rar e segui os passos do arquivo readme como root, usando o comando “sudo su”. Eu testei ele no Ubuntu, nas versões 9.04, 9.10, e 10.04. Funcionou legal em todas.

2 – No VLC, no menu Midia eu abrir o dispositivo de captura e escolhi o modo de captura DVB, mantive o tipo DVB-S e simplesmente coloquei a frequência e a taxa de simbolo do canal desejado. Ex.: pra pegar a repetidora do SBT de Minas eu coloquei a frequência 11526000 e a Taxa de Símbolos do Transponder 4444000. É bom testar vários canais. As frequências e Taxa de Símbolos estão relacionadas no site

O Mythtv

No Mythtv é um pouco mais complicado porque tem mais recursos. Pra quem não conhece, o Mythtv permite você assistir a TV, dar pause, retrocesso e avanço, tudo isso ao mesmo tempo que tá gravando, você pode também programar uma gravação futura. Apartir de qualquer micro ligado em sua rede, você pode assistir a TV capturada no computador onde está instalada o dispositivo capturador, como também assistir os vídeos gravados e arquivados nesse computador principal. Esses são os principais recursos do Mythtv, mas ele pode fazer muito mais. Para saber de todos os recursos é bom dar uma olhada no site

O Mythtv é composto por dois programas: o primeiro monta o servidor que é chamado de Backend Master e o segundo faz o cliente. Claro que os dois podem ser instalados no mesmo computador ou em computadores diferentes.

Eu, na verdade, sou um usuário novato do Mythtv e não sei usar nem um terço de seus recursos, mas o principal eu já consegui. Configurei o dispositivo Tevii S660 no computador principal (master backend) e posso assistir os canais sintonizados, tanto nesse computador quanto nos outros de minha rede, inclusive no Notebook conectado via wireless.

O Mythtv suporta mais de um dispositivo capturador, por isso eu também uso uma Pixelview Mpeg2 instalada no mesmo micro.

Depois de instalado o driver do Tevii S660 é só entrar no Mythtv Backend adicionar o dispositivo capturador, adicionar uma ou mais fontes de vídeo (vídeo sources), adicionar uma ou mais conecções (input conections) e então sintonizar os canais. Como o dispositivo é capaz de sintonizar tanto na Banda C quanto na Banda Ku, então eu adicionei duas fontes de vídeo e dois inputs também, respectivamente para as duas Bandas C e Ku. Para sintonizar os canais eu fui colocando a frequência e o Symbol Rate de cada canal e manda o programa localizar e fixar o a frequência. Depois, é só fechar o Mythtv Backend, ele vai pedir pra abrir o Database pra gravar as alterações e se tudo estiver ok, já podemos abrir o Mythtv Frontend e assistir a TV, gravar, dar pause, etc.

E isso é tudo. Como eu já disse, não expert no Mythtv nem no Ubuntu, mas se alguém quiser alguma dica e se estiver ao meu alcance, é só postar o comentário. Abraço a todos e obrigado a Douglas pelo espaço concedido.

August 02, 2010 12:33 PM

July 30, 2010

aris' advogato

30 Jul 2010

decided to give github a try today. awesome service so far.

July 30, 2010 03:08 AM

July 28, 2010

douglas' livejournal

Linux: opening .xz with tar tool
Version support: 1.22


* Support for xz compression (--xz option)
* Short option -J is reassigned as a shortcut for --xz
* The option -I is a shortcut for --use-compress-program
* The --no-recursive option works with --incremental

July 28, 2010 02:01 PM

July 07, 2010

douglas' livejournal

xen - live migration


- 2 Machines
- 1 NFS Server (can be one of the above machines but better if this is a separate machine)

Step by step:

Host 1:

1.1) backup your current xend-config.sxp
# cp /etc/xen/xend-config.sxp /etc/xen/xend-config.sxp.bkp-DATE-HERE

1.2) Edit settings
# vi /etc/xen/xend-config.sxp

(xend-unix-server yes)
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-host-allow '')
# (xend-relocation-hosts-allow '^localhost$ ^localhost\\.localdomain$')

1.3) Restart the service
# service xend restart

1.4 Setting NFS (host 1 for example)
# ln /var/lib/xen/images /xen
# vi /etc/exports
/xen *(rw,sync,no_root_squash)
# service nfs start
# chkconfig nfs on

1.5 Start xen guest from Host 1
- From virt-manager or xm

Host 2:

1.6) Mount the NFS from host 1
# mkdir /xen
# mount -t nfs host1:/xen /xen

Finally, from Host 1 start the live migration:
# xm migrate -live Virtual_Machine host2

You will note that on virt-manager or xm list will show the new virtual
machine. To connect use virt-manager or xm connect.

July 07, 2010 07:59 PM

June 30, 2010

douglas' livejournal

xen - installing paravirt virtual machine (nfs)

On xen host:

1) Mount your favorite distro as loop

# mount -o loop LinuxDistro.iso /distro

2) Export the directory as NFS

# vi /etc/exports
/distro *(ro,sync)
3) Start nfs service

# service nfs start

4) Install your distro via NFS

# virt-install --paravirt --name LinuxDistro --ram 512 --nographics --os-type=linux
--disk path=/var/lib/libvirt/images/LinuxDistro.img,size=10 --location

5) To connect to this Domain (if rebooted)
  xm console Domain
  (to exit) CTRL ]

June 30, 2010 11:23 PM

April 06, 2010

aris' multiply

and then... the great hatred

after spending some years asking why someone would have that, I caught myself doing the
same. it could be by osmosis. it could be genetic. it could be simply growing. or in other words:
facing reality. realizing that you're just a biological puppet that believes having "free will" is not
nice. even worse if you like your brain more than everything else. after years of observing people
forget about ethics, pride and being total prostitutes just to get something. after years of people
talking to you indirectly in a petty try of manipulate you to do what they want. after years
believing people don't want to be evil, they just want something. after all that, comes to a point
that I by default despise everything unless proved worth. I don't hate because it's too much work
and nobody is worth it, unless proved otherwise.

April 06, 2010 11:57 PM