Speaking at Percona Live London 2011

If you want to meet me, I will be speaking at Percona Live in London this October I will be presenting during the two days, on Monday Oct 24th during the tutorials I will present the MySQL DBA Swiss army knife. This is a technical session about the daily tools you must control as MySQL DBA. You will have your hands in the oil as we say in French and we gonna discover together how useful and powerful are those tools. We will cover different topics like performance, maintenance, ... On Tuesday I will present two talks during the conference: 1. Deploy MySQL like a devops sysadmin 2. MySQL partitioning: the Spider solution I hope to see you there and if you plan to join PLUK 2011 and you still don't register, I can provide you reduction voucher code, just contact me by email or on twitter.

Fedora on mac book (air) : wireless and kernel 2.6.40-4.fc15

If like me you are using Fedora on your mac book, after the week-end and in case of reboot, your wifi should not work any more :( Good, news, it's easy to fix, just add the following line to /etc/modprobe.d/broadcom-wl-blacklist.conf blacklist bcma Restart and enjoy wifi back ;-) ps: of course you need to use: kmod-wl-2.6.40-4.fc15.x86_64-5.60.48.36-2.fc15.6.x86_64 kmod-wl-5.60.48.36-2.fc15.6.x86_64

new professional perspective

For nearly 4 years, I invested myself in the growth of Inuits. At the beginning we were 5 to believe in this project and now, 4 years afterwards, Inuits has become the Belgian reference in the world of open-source consultancy companies. We started in Flanders, then in Wallonia with Esquimaux and now in the Netherlands with Eskimo (and I think it won't stop there). Having the feeling of the achieved duty, I had opportunity of working for a company which, for me, represents most the open-source point of views, of technical excellence and the opportunity to spend more time with my family. I was honored when Percona showed interest in me and I thus decided for that new challenge! -- thanks to all my friends/former colleagues/collaborators who played the role of references ;-) -- I whish good luck to all my colleagues of Inuits/Esquimaux, I appreciate them very much. They can always count on me if they need help and I hope to see them all at Fosdem and other free software or devops conferences !! I'm also always available for a drink or for sushi's :-) I also really appreciated the 10 years collaboration in open-source I shared with Kris Buytaert (sdog) June 16th will be my first day in my new position ! Percona here I come ;-)

Google calendar support in Gnome 3 evolution ?

During my test and discovery phase of Fedora 15, I noticed that Evolution doesn't support anymore google calendar... is it on purpose ? why ? Or do I need to install some other package ? I found this feature in Fedora 14 something very useful ! I hope this is something that will be fixed in the final release. In Fedora 14 (evolution-2.32.2-1.fc14.x86_64) : In Fedora 15 :

Gnome 3 and my favorite window focus and raise behavior

Yesterday night I installed Fedora 15 Alpha to see and test the gnome-shell (gnome 3) improvements. I stopped to test for one reason: I was not able to setup my favorite behavior for window's focus. What I like (this is mandatory, that's also the one major reason why I don't use Mac OSX daily) is that the focus follows the mouse but doesn't raises the window ! After having "googled" a bit, I tried to install gnome-tweak-tool... but it didn't help for this task... :( The solution is to use gconf-editor and changing the default value (click) of /apps/metacity/general/focus_mode to sloppy. Now I'm very happy and I can continue my tests of Gnome 3.

MySQL facter

Yesterday I started to play with mcollective I added some agents like service and facter. I really liked the facter agent.... and then I decided to add facts for MySQL. Of course I needed to learn some ruby first :-) A fact is created for the version and all other MySQL facts come from the SHOW STATUS statement. All the new facts start by mysql_ I plan to add new facts related to the replication like Seconds_Behind_Master The current version is available on github here

Some usage examples:

with facter:
[root@delvaux facter]# facter mysql_version 2>/dev/null
5.5.10
[root@delvaux facter]# facter mysql_max_used_connections 2>/dev/null
3
with mcollective:
[root@delvaux facter]# mc-facts mysql_version
Report for fact: mysql_version

        5.0.51a-24+lenny5-log                   found 1 times
        5.5.10                                  found 1 times

Finished processing 2 / 2 hosts in 64.36 ms



[root@delvaux facter]# mc-facts mysql_open_files
Report for fact: mysql_open_files

        16                                      found 1 times
        18                                      found 1 times

Finished processing 2 / 2 hosts in 2418.13 ms

[root@delvaux facter]# mc-facts mysql_open_files -v
Determining the amount of hosts matching filter for 2 seconds .... 2
Report for fact: mysql_open_files

        16                                      found 1 times

            delvaux.maladree.be

        18                                      found 1 times

            debian1.maladree.be


---- rpc stats ----
           Nodes: 2 / 2
     Pass / Fail: 0 / 0
      Start Time: Sat Apr 02 00:11:46 +0200 2011
  Discovery Time: 2001.84ms
      Agent Time: 1344.24ms
      Total Time: 3346.08ms

[root@delvaux facter]# mc-facts mysql_threads_connected 
Report for fact: mysql_threads_connected

        2                                       found 2 times

Finished processing 2 / 2 hosts in 3270.86 ms

[root@delvaux facter]# mc-facts mysql_threads_connected -v
Determining the amount of hosts matching filter for 2 seconds .... 2
Report for fact: mysql_threads_connected

        2                                       found 2 times

            debian1.maladree.be
            delvaux.maladree.be


---- rpc stats ----
           Nodes: 2 / 2
     Pass / Fail: 0 / 0
      Start Time: Sat Apr 02 00:12:47 +0200 2011
  Discovery Time: 2001.73ms
      Agent Time: 50.43ms
      Total Time: 2052.15ms

April 1st

My contribution to this heavy day for our rss readers is: The April's Fool Centipede !
    .:/          .:/           .:/            
  ,,///;,   ,;/,,///;,   ,;/,,///;,   ,;/
 o:::::::;;///o:::::::;;///o:::::::;;/// 
>::::::::;;\\\::::::::;;\\\::::::::;;\\\   
  ''\\\\\'" ';\''\\\\\'" ';\''\\\\\'" ';\ 
beware, don't believe all news today :)

Puppet and 64bits packages

Since I use puppet to manage my machines (and the machines of customers), I noticed that I had more packages installed then before, I noticed also obviously the same behavior in packages to update and bandwidth consumption during updates. I realize that on 64bits machines, most of the time, the 32bits version of the packages managed by puppet were also installed. This is what I did in my recipes before:
    package { "corosync":
        ensure => "installed",
        require => Yumrepo["clusterlabs"];
    }
This kind of package declaration installed then the two version of the package, in this case corosync and the dependencies too. To avoid this I added the fact hardwaremodel and used the alias to keep my recipes consistent:
    package { "corosync.$hardwaremodel":
        ensure => "installed",
        alias => "corosync",
        require => Yumrepo["clusterlabs"];
    }
Hope this could help people having noticed the same behavior... or not :-)

High Availability Open-Xchange Server

Since I tested it 4 years ago, I like Open-Xchange (even if I'm not a java app fan). I like the layout and also all the feature it provides. The calendar is very complete. For a customer where I set it up 4 years ago, I've migrated this service to a cluster running the last version. The machines are fully installed via kickstart from a pxeboot (using cobbler) This post describes the solution. The setup is based on CentOS and use the pair corosync / pacemaker as cluster. The solution consists in two nodes where only one machine provides the service. The components are : - one ip balancing between the two nodes - apache running on the "active/master" server (the server providing the service) - open-xchange running on one node at the time - funambol running on one node at the time - openldap running on both machines in mirroring - cyrus running on both machines as master/slave - mysql running on both machines as master/master replication. This is an overview of the crm: Most of the needed steps are put in some puppet recipes to help the provisioning (you can find them on my github account) With the cyrus-imapd delivered by default on redhat/centos, when the cyrus master starts without the slave running, cyrus won't reply for a long time... the bug we are hitting here as been resolved in newer version. I use cyrus-imapd 2.4.6, package from Simon Matter. You can find the source of this package here

MySQL & Friends Meetup at Fosdem 2011

Like last year I'll be present at the MySQL & Friends Meetup on Saturday evening of the Fosdem. If you wanna share some experience around MySQL, please join ! You can register here

devops Meetup at Fosdem 2011

I will be present at the devops meetup of Fosdem 2011. It will take place the Friday 4th February. I hope to see you there if your are in the devops mind and if you wanna share some experience with us ! Register here

tomcat6 with APR on RHEL5.5

The other day at $CLIENT I had to install a webapp that needed tomcat6 and I found it was quite a hassle to install a packaged version on a 32bits RedHat RHEL 5.5. During that painful process, lefred helped finding the magic package that solved it all so I felt it was only fair for me to publish the complete solution as a guest post on his blog!

As MySQL Community Manager, I am an employee of Oracle and the views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

You can find articles I wrote on Oracle’s blog.