my blog

Tuesday 26 May 2015

SUSE Ruling the Stack in Vancouver

Rule the Stack

Last week during the the OpenStack Summit in Vancouver, Intel organized a Rule the Stack contest. That's the third one, after Atlanta a year ago and Paris six months ago. In case you missed earlier episodes, SUSE won the two previous contests with Dirk being pretty fast in Atlanta and Adam completing the HA challenge so we could keep the crown. So of course, we had to try again!

For this contest, the rules came with a list of penalties and bonuses which made it easier for people to participate. And indeed, there were quite a number of participants with the schedule for booking slots being nearly full. While deploying Kilo was a goal, you could go with older releases getting a 10 minutes penalty per release (so +10 minutes for Juno, +20 minutes for Icehouse, and so on). In a similar way, the organizers wanted to see some upgrade and encouraged that with a bonus that could significantly impact the results (-40 minutes) — nobody tried that, though.

And guess what? SUSE kept the crown again. But we also went ahead with a new challenge: outperforming everyone else not just once, but twice, with two totally different methods.

For the super-fast approach, Dirk built again an appliance that has everything pre-installed and that configures the software on boot. This is actually not too difficult thanks to the amazing Kiwi tool and all the knowledge we have accumulated through the years at SUSE about building appliances, and also the small scripts we use for the CI of our OpenStack packages. Still, it required some work to adapt the setup to the contest and also to make sure that our Kilo packages (that were brand new and without much testing) were fully working. The clock result was 9 minutes and 6 seconds, resulting in a negative time of minus 10 minutes and 54 seconds (yes, the text in the picture is wrong) after the bonuses. Pretty impressive.

But we also wanted to show that our product would fare well, so Adam and I started looking at this. We knew it couldn't be faster than the way Dirk picked, and from the start, we targetted the second position. For this approach, there was not much to do since this was similar to what he did in Paris, and there was work to update our SUSE OpenStack Cloud Admin appliance recently. Our first attempt failed miserably due to a nasty bug (which was actually caused by some unicode character in the ID of the USB stick we were using to install the OS... we fixed that bug later in the night). The second attempt went smoother and was actually much faster than we had anticipated: SUSE OpenStack Cloud deployed everything in 23 minutes and 17 seconds, which resulted in a final time of 10 minutes and 17 seconds after bonuses/penalties. And this was with a 10 minutes penalty due to the use of Juno (as well as a couple of minutes lost debugging some setup issue that was just mispreparation on our side). A key contributor to this result is our use of Crowbar, which we've kept improving over time, and that really makes it easy and fast to deploy OpenStack.

Wall-clock time for SUSE OpenStack Cloud

Wall-clock time for SUSE OpenStack Cloud

These two results wouldn't have been possible without the help of Tom and Ralf, but also without the whole SUSE OpenStack Cloud team that works on a daily basis on our product to improve it and to adapt it to the needs of our customers. We really have an awesome team (and btw, we're hiring)!

For reference, three other contestants succeeded in deploying OpenStack, with the fastest of them ending at 58 minutes after bonuses/penalties. And as I mentioned earlier, there were even more contestants (including some who are not vendors of an OpenStack distribution), which is really good to see. I hope we'll see even more in Tokyo!

Results of the Rule the Stack contest

Results of the Rule the Stack contest

Also thanks to Intel for organizing this; I'm sure every contestant had fun and there was quite a good mood in the area reserved for the contest.

Update: See also the summary of the contest from the organizers.

Tuesday 12 May 2015

Deploying Docker for OpenStack with Crowbar

A couple of months ago, I was meeting colleagues of mine working on Docker and discussing about how much effort it would be to add support for it to SUSE OpenStack Cloud. It's been something that had been requested for a long time by quite a number of people and we never really had time to look into it. To find out how difficult it would be, I started looking at it on the evening; the README confirmed it shouldn't be too hard. But of course, we use Crowbar as our deployment framework, and the manual way of setting it up is not really something we'd want to recommend. Now would it be "not too hard" or just "easy"? There was only way to know that... And guess what happened next?

It took a couple of hours (and two patches) to get this working, including the time for packaging the missing dependencies and for testing. That's one of the nice things we benefit from using Crowbar: adding new features like this is relatively straight-forward, and so we can enable people to deploy a full cloud with all of these nice small features, without requiring them to learn about all the technologies and how to deploy them. Of course this was just a first pass (using the Juno code, btw).

Fast-forward a bit, and we decided to integrate this work. Since it was not a simple proof of concept anymore, we went ahead with some more serious testing. This resulted in us backporting patches for the Juno branch, but also making Nova behave a bit better since it wasn't aware of Docker as an hypervisor. This last point is a major problem if people want to use Docker as well as KVM, Xen, VMware or Hyper-V — the multi-hypervisor support is something that really matters to us, and this issue was actually the first one that got reported to us ;-) To validate all our work, we of course asked tempest to help us and the results are pretty good (we still have some failures, but they're related to missing features like volume support).

All in all, the integration went really smoothly :-)

Oh, I forgot to mention: there's also a docker plugin for heat. It's now available with our heat packages now in the Build Service as openstack-heat-plugin-heat_docker (Kilo, Juno); I haven't played with it yet, but this post should be a good start for anyone who's curious about this plugin.

Monday 3 September 2012

SUSE Cloud 1.0

SUSE Cloud

The last few weeks were a bit crazy, but there was a good reason for this: the team I've joined a couple of months ago has been focusing on polishing SUSE Cloud for its first stable release. We had some long working days, but we did it: SUSE Cloud 1.0 went out last week! There's been some positive noise in the online media, which is always good to see :-)

With this first milestone now reached, I've looked back a bit at the switch to my new position. It was a bit of a slow start because of hardware failures (try getting a full development and testing environment for some cloud stuff on one laptop with 2GB of RAM; possible, but painful) and because there was a lot to learn; it was actually quite frustrating to feel useless for so long.

However, it seems I found the highway after coming back from GUADEC and everything is going very smoothly now. Of course, doing something completely different was a bit of a challenge for me, and I didn't know how I'd react to playing nearly full-time with OpenStack and Crowbar (a tool created by Dell to ease OpenStack deployments that we adopted). It turns out I'm enjoying it! On top of that, the SUSE Cloud team is really great, with a good mix of fun and work. The only missing bit is that we haven't properly celebrated the SUSE Cloud release with ice cream — I'll have to get this fixed ;-)

Thursday 19 July 2012

Moving on to something completely different

Last month, I got a new job! After three years in the openSUSE Boosters team, I joined the SUSE Cloud team. I'm now working on OpenStack and on SUSE Cloud itself. Quite a big change!

I had planned a long time ago that the release of GNOME 3.0 would be a good time for me to look at what's next. When it went out, I actually took a few months to cool down a bit (it was pretty much needed), and also have some good fun with openSUSE. But after a while, this desire of trying something new came back: I had been working on the desktop for nearly ten years, and on a distribution for four years. Those were exciting years, but at the end, it started to feel like, you know, work. I wanted to stay involved in GNOME, in the free desktop in general, in openSUSE, in cross-distro collaboration: this is not just work and this should not be just work. I didn't want to slowly move to doing stuff while not caring anymore. This is how I found out that I needed to go back to the early days and contribute in my free time again :-)

There was still the question of, well, work. I started looking around, and I had some good discussions with several people about what to do next (thanks to everyone who took some time for this!). i must admit I changed my mind several times. I was not necessarily looking for a developer position (quite the contrary, actually), as I knew that for me to be motivated for a new project as a developer, the project had to be one that I could care about, one that has a free software community around it and one that would get me out of my comfort zone (so not on the desktop nor on a distro) — yeah, not easy :-) But at some point, SUSE had this cool developer position related to OpenStack. Good timing. (Btw, we're still hiring!)

It's been great so far; of course, you need to ignore the buzz words ;-) I wanted a new challenge and I wanted to get out of my comfort zone, I got served: new project, new community, new code, etc. It didn't help that the hard disk in my laptop decided it was the perfect moment to die, and that Lenovo took weeks to send me a replacement disk (finally got it yesterday). But now I'm all set, so let's have fun!

Thursday 26 April 2012

Looking for a cool job?

SUSE is hiring people for the Boosters team! This is the team I've been involved in in the last few years, so I thought I'd share with you a few words on this...

The Boosters are working on enabling openSUSE contributors to reach their goals. This can involve technical diving, an artistic vision (not required, obviously, or I woulnd't be in the team ;-)), marketing fun, talking at events, discussing issues, etc.: all skills are welcome in our team, as all skills are welcome and needed in the community! It's really an amazing job where you're simply part of the community and your goal is to help the community move in the right direction. On top of that, I have to mention that the Boosters team is full of great minds, and we're enjoying every day working on something we love!

Dream job, some might say :-)

Help wanted: rockstars

Are you interested? Check out the details and apply! You can also check the other open positions at SUSE, there might be the one you're looking for... ­Oh, and as we keep hiring, remember to check out the careers page every now and then to see the latest openings!

- page 1 of 7

by Vincent