Skip to main content

the avatar of Vincent Untz

OpenStack Rhône-Alpes Meet-up #1

Last Thursday was the first meet-up of the OpenStack Rhône-Alpes group, in Grenoble. The idea of organizing such a meet-up came up just one month ago, at Solutions Linux; having such an OpenStack meet-up in Rhône-Alpes feels so natural, given the amount of people we have in the area (we can even include Geneva ;-)). Dave did a great job with the organization, and HP provided a pretty nice venue (and sponsored food!).

First OpenStack Meet-up in Rhône-Alpes!

We managed to attract around 25 people to this event, and given that it was our first and that we did nearly no noise about it, it's not too bad :-) We had people attending from HP, Bull, Red Hat, SUSE and more, and four of us delivered quick talks about XLcloud (by Patrick Petit, from Bull), oVirt (by Dave Neary, from Red Hat), HP's public cloud (by Gavin Brebner, from HP) and Crowbar (by yours truly). I must admit that Gavin Brebner's presentation about abusing HP's public cloud was extremely interesting; there's a lot of cool stuff happening to keep a public cloud running.

Of course, we enjoyed some nice food afterwards and stayed chatting a bit longer about OpenStack and other technical bits. And best of all: we celebrated OpenStack's third birthday a bit early:

Happy birthday OpenStack!

If everything goes well, the next meet-up of the group will be in Lyon, in September, stay tuned! And we'll make more noise, so we hope more people will join!

a silhouette of a person's head and shoulders, used as a default avatar

4.11 beta 2 openSUSE packages available

KDE released the second beta of the KDE Platform, Workspaces and Applications 4.11, and after the necessary time for the OBS to build packages from the released tarballs, packages are available for openSUSE 12.3 and openSUSE Factory. Like the previous beta, they are available through the KDE:Distro:Factory repository. 4.11.x is is targeted for inclusion in the upcoming openSUSE 13.1.

So far 4.11 has been pretty stable for me, but you should never forget these packages are for testing and bug reporting purposes: don’t use them on production systems. In case you find a bug:

With that said, let’s find and kill these bugs out there, to make 4.11 rock!

the avatar of Greg Kroah-Hartman

3.10 Linux Kernel Development Rate

While working on the latest statistics for the yearly Linux Foundation “Who Writes Linux” paper, I noticed the rate-of-change for the 3.10 kernel release that just happened this weekend:

Every year I think we can’t go faster, and every year I’m wrong.

Note, the “number of employers” row is not correct, I haven’t updated those numbers yet, that takes a lot more work, which I will be doing this week.

Spreadsheet source, and scripts used to generate the numbers, and “cleaned up” kernel logs can be found in my kernel-history repo here.

the avatar of Will Stephenson
the avatar of Greg Kroah-Hartman

3.10 Kernel Development Rate

While working on the latest statistics for the yearly Linux Foundation “Who Writes Linux” paper, I noticed the rate-of-change for the 3.10 kernel release that just happened this weekend:

3.10 rate

Every year I think we can’t go faster, and every year I’m wrong.

Note, the “number of employers” row is not correct, I haven’t updated those numbers yet, that takes a lot more work, which I will be doing this week.

a silhouette of a person's head and shoulders, used as a default avatar

Organizing oSC13 - 22 days before

"It is in the nature of things that every time you try to avoid one danger you run into another"
Niccolò di Bernardo dei Machiavelli


I am so happy that I read some books when I was younger since now I can understand things better in order to accept various sittuations that happen. You see I have that thing that I cannot accept situations that I cannot understand.

We are 22 days before and although we have made a great progress there are things that need to be done. One thing I see clearly the last few weeks is that no matter how important or minor are the tasks left, they get bigger and bigger every day. This happens because when you plan a conference and add tasks you see in your mind the whole picture when ALL those tasks will be done. Of course you reject some in the course of making the conference but now, just 22 days before you want everything to be done. The alternatives we talked before all worked so far but problems keep comming every single day and you just stand in the front line and face them, lossing a task is not an option, not 22 days before. It is a do or die situation.
 Of course we seem to be in good shape since so far we are doing great but honnestly I have the fear of the failing. On the other hand failing is not an option so...
The thing is that the situation kind of looks like Lernean Hydra where when you cut one head two other pop up. 
a silhouette of a person's head and shoulders, used as a default avatar

Non-YaST Applications Can Benefit from YaST Framework

As you already know, YaST team has been working on an automatic translation of the YaST code from YCP to Ruby. This is possible thanks to two projects

  • y2r - translates YCP code into Ruby
  • ycp-killer - manages tasks related to translation of YCP code in YaST modules into Ruby

Y2R Editor

I've been asked by the team to write a simple application allowing writing YCP code that would be automatically translated to Ruby and shown aside. Creating this application using YaST framework was the very next logical step. Development was fast and easy and it has proven that we can use that framework for system applications as well.


The whole source code is written in Ruby and it's connected to the YaST framework via yast2-ruby-bindings (version >= 1.0.0).

How to Run the Editor

If you want to try running the editor yourself, follow the README.md file in y2r-tools project. You will need to have y2r project cloned to your system and it's also helpful to have to latest yast2-core from YaST:Head project, because part of it is used for the translation.

Note: Just in case it will stuck in the middle of the translation, search for ruby process and kill it (kill -9 $PROCESS_ID). Then write the second quote, please :) Yes, there was a bug in yast2-core that it was searching for closing quote in strings like string message = "Unfinished.

YaST Framework

Applications written using YaST framework can benefit from several features:
  • UI support for ncurses, Qt, and GTK (as plug-ins) just by writing one single UI definition
  • Possibility to use YaST libraries (even those still written in YCP)
  • Possibility to use any Ruby library or Gem, such as Cheetah in this case
  • SCR - Layer for accessing the system configuration (read, write, execute)
Everything is at GitHub. Try it, and tell us what can be enhanced and how!
the avatar of Greg Kroah-Hartman

How to Create a sysfs File Correctly

One common Linux kernel driver issue that I see all the time is a driver author attempting to create a sysfs file in their code by doing something like:

int my_driver_probe(...)
{
        ...
        retval = device_create_file(my_device, &my_first_attribute);
        if (retval)
                goto error1;
        retval = device_create_file(my_device, &my_second_attribute);
        if (retval)
                goto error2;
        ...
        return 0;

error2:
        device_remove_file(my_device, &my_first_attribute);
error1:
        /* Clean up other things and return an error */
        ...
        return -ENODEV;
}

That’s a good first start, until they get tired of adding more and more sysfs files, and they discover attribute groups, which allows multiple sysfs files to be created and destroyed all at once, without having to handle the unwinding of things if problems occur:

a silhouette of a person's head and shoulders, used as a default avatar

YaST Runlevel is dead, long live YaST Services Manager!

Long Story Short

It's a public secret that YaST Runlevel in openSUSE 12.3 is far to be useful. It's caused by switching from SysV to systemd whereas all the UI and internal functionality has been designed for SysV. I was thinking about the possibility to rewrite the current module to use systemd directly, but then I realized that I should rather start a pilot project from scratch: The very first YaST module written completely in Ruby!

New YaST Module

This new YaST module has been called Services Manager (yast2-services-manager) to better reflect what it actually does. You can find its source code here. And you can download the package here. It will additionally need yast2-ruby-bindings package in version 1.0.0 or higher which is available in the same repository. To start the module, just type yast2 services-manager as root or start it from YaST Control Center.

Screenshots

Base dialog of the module. Simply start/stop or enable/disable services ...
 ... or set the default target (used to be called default runlevel) ...
 ... or see the service details

Why in Ruby

All old YaST modules were written in YCP - special language invented just for YaST, but there are other programming languages that can be used now and Ruby is THE programming language used for automatic translation from YCP.

Ruby gives us much more than YCP

  • Developers don't need to learn another language just for YaST
  • There are already many libraries out there
  • We can use several great testing frameworks that already exist
  • And last but not least: It's a very nice and powerful language
I hope you'll like it too :)
the avatar of Andrew Wafaa

Droning Parrots and Javascript

I was fortunate enough to get a present for surviving another year of life, a shiny new AR.Drone2.0. This was something that I had desired sometime ago but then dismissed as an expensive toy with little expansion. That desire returned recently after being enlightened to the hacking opportunities, not just hacking the device directly but more around the hacking of applications to use with it. Yet again it was Laurent Eschenauer to blame with his excellent ardrone-webflight.