Posts Tagged ‘packaging’

Distro Recipes 2013: Nice first !

2013/04/09

Distro Recipes 2013
As indicated, I had the opportunity to talk during the first Distro Recipes event organized in Paris last week, at the invitation of Hupstream. As Yoann Sculo posted, this was a very interesting day for me, and I really regret I was busy to also attend the first day and the opening.

After a nice welcome breakfast, Aurélien Bompard started by presenting the Fedora distribution.
Aurélien Bompard presenting the Fedora distribution
He did a great job especially expalining how easy it was to become a Fedora maintainer, even if a comparison to Debian revealed that it’s much less different that what people may think (it also takes time to become a packager able to modify most distro packages) and I know by experience that the Fedora packagers are really picky (sometimes for not so good reasons) with new contributions.

After that I talked about HP and Linux distributions. I used in fact the standard HP marketing presentation of the company as a starter (modified of course to suit my needs and include more penguins !) in order to explain the span of our activities, our relationship with communities including distributions, announced that HP will even soon provide firmware for ProLiant servers under a package format (rpm and deb), the fact that HP doesn’t see Linux demand for desktop/laptop on the consumer market (no, it’s not just a price issue that would make Linux more appealing in that case as I justified) but that we do support Linux on some enterprise desktops/laptops. Hopefully this was useful and/or new to some of the audience.

Then Dodji Seketeli made the type of talk making you believe that you could contribute to gcc ! Of course, when he details how much time it took him to add some of the features of the next stable version, you know you can’t ! Well I at least ;-) Anyway lots of good news and features that make that future version 4.8 expected soon.
Dodji Seketeli on gcc

That conclude our morning sessions, and it was then time to eat !! Especially as we had a great buffet waiting for us as you can see:
Repas midi

In order to avoid a sleepy afternoon, we started right after by a round table with 7 people (!), that I had the pleasure to chair. With a representative of each distribution (Mageia, openSUSE, Fedora, Debian, Arch, Embedded) and a Microsoft representative, you could expect blood and swords fight ! Not at all, I was surprisingly happy that the elements were clearly exposed, each representative defending their own work rather than criticizing, and finding ways to propose more future joint work. Of course, some subjects such as LSB/FHS lead to more debate, but very constructive and I really enjoyed this time slot as a way to show that differences are an added value ! It was also the opportunity for me to meet with Colin Guthrie and Frédérc Crozat, which I had never met before. These distros should be happy to have such representatives defending them (and the others too of course ;-) ) Finally if you have ideas to share to improve cross-distribution work , consider joining the mailing listdedicated to his topic and start sharing your ideas.

Then it was time again for the remaining presentations. The first was Lucas Nussbaum. Long time Debian Developer, (he is even running for the Debian Project Leader now, vote for him !) he made a convincing picture of the Debian ecosystem, the numerous Web sites that contributors can create to enhance the distribution with stats, infos, Ubuntu correlations, … As usual, Debian appears as a very mature distribution, with a strong Governance, being perl friendly… If I had to change I may well become a debianers. But isn’t it because of the pres, as the morning I was a fedorian ;-)
Lucas Nussbaum pour Debian

The next speaker was a long time Linux enthousiast Pierre Ficheux. In fact back when it was Minitel time (not 2.0) I used his xtel program !! Pierre made a presentation (in english but with the accent ;-) ) around embedded Linux distributions, presenting various way to tailor one for your device (he was using a Raspberry Pi) depending whether you use an Ubuntu, a Yocto generated one or a pure OpenEmbedded linux one. Definitely a good idea to explore for my Pi !
Pierre Ficheux sur Yocto (Open Wide)

And then we had the lightnings talks. Aurélien Bompard was there again for HyperKitty. Too bad it’s devoted to mailan, as I think Sympa would also benefit from such a work, as their archive management (at least on the latest versions I used) could be improved.
Aurélien Bompard pour HyperKitty

I came then again on stage for a project-builder.org presentation (building cross-distro packages for upstream projects) and made a short demo which I think is explaining much more than my slides, so I plan on using it more in the future !

After me, Eric Leblond explained how his upstream project (ulogd2) wasn’t picked up correclty by most distributions and asked for help to improce that.

And final speaker was Nicolas Vérité who made a panel on all mobile Linux distributions, recommending to follow closely Tizen for the future as the main force in this area.
Nicolas Vérité sur Distros Mobile

Too bad it was already over. Anne closed the session and I’d like to thank her for the invitation and the perfect organization of this first cross-distributions vent as a real success. Well done and see you next year hopefully !
Anne Nicolas (Hupstream)

Finally time to publish pb 0.12.2

2013/03/01

As you can see with the few messages I had time to post on this blog, the end of 2012 start of 2013 has been pretty busy, and I’m late in delivering the 2 projects I’m leading. So this week, I decided it was time to make a 0.12.2 version of pb, and make it available. Was asked by my colleagues of FOSSology, specially to add Fedora 18 support, so I also build my VMs to make packages on this distro.

BTW, a bit of ranting for Fedora once more: no perl by default :-( , and no ifconfig nor route command either which is breaking MondoRescue of course, and I guess tons of other software around. These guys don’t care about past, but don’t provide compatibility tools either !! So I’ll have to make new patches, just to do the same as what was done, but with another command again. Not to speak of systemd which I still have issues to deal with :-( That doesn’t make stuff go faster !

Anyway, the version is now out, no official bugs fixed, but a lot of small stuff here and there which were desrving a release. No time to test Fedora 17/18 VE yet, so you’ll have to do that yourself if you want. I also had a look at virsh usage in combination with pb, and it’s again not as easy as it could seem to be. Especially port redirection I’m easily using by launching qemu-kvm manually with the -redir or hostfwd option doesn’t seem to be possible with the user mode network through virsh (neither manager nor CLI). Will have to post on their ML to see how they do that, if they can !

And MondoRescue has been very late. I really need to publish a verion, but I still have some blocking bugs I really would like to get rid of: CTRL+ALT+DEL not working anymore during restore, some LVM issues on RHEL, some grub issues on SLES… Hopefully at the end of next week I’ll have made progresses.

Of course patches are much easy to integrate, but I receive more bug reports than them ;-)

And also back to preparing the HP internal TES event, Solutions Linux confs, submitting to LinuxCon, working on an FLOSS ITIL stack, learning more OpenStack, looking at Intel’s TXT…. so many things I’d like to do or learn and will never have time to ! Maybe at least I’ll talk about that another time.

Meeting at Linux.conf.au in Canberra

2013/01/15

I’ll soon be lucky to be able to be in a plane for some 20 hours in order to reach down under and be in Linux.conf.au in Canberra ! It will be my second time in Australia after my previous presentation on MondoRescue in Sydney in 2007. This time I’ll organize the cross-distributions MiniConf on Tuesday the 29th of January 2013.

And I’m so happy to have fantastic speakers such as Bdale Garbee or Monty Taylor among others ! I anticipate it will be a great Miniconf. So fell free to come and participate, you’ll have the best people to give you answers :-)

And as usual, if you want to talk about packaging, disaster recovery, open source or early music, feel free to come by and talk with me. I look forward discovering another part of thies great country in two weeks.

Project-Builder.org 0.12.1 is now available

2012/05/30

As promised (or threatened (c) Bryan !) I have now published a new main version of project-builder.org, the 0.12.1 !

Since my previous post, I worked a lot on it to make it available in fact, and it took finally just a bit more than a year ! But it was hopefully worth the wait ;-)

In order to ease the publication, I started to write a script to make project-builder.org tests in an automatic fashion. It helped me to find lots of small or less small remain issues before the release, so I’m more confident than before that this version is a good one indeed ! This was especially needed due to the fact I received this time other contributions.

Indeed, I received great contributions from Eric Anderson but I had to revert some of them, as the project wasn’t completely ready to deal with it. the major one being to error out immediately. That broke in fact a certain number of use case, where errors should be tolerated, and even after trying to catch them, I was unsuccessful in some case, so made a new parameter in the configuration file for that. So you can benefit from Eric’s work by activating pbstoponerr (and also pbshowsudo if you want to see what pb does behind the scene with sudo commands) in the /etc/pb/pb.conf configuration file. default is to have both of them off for now. It may change in the future, when the code handles more efficiently all error cases.

Also what I missed to detail last time is the new version number. This version is not compatible with the previous one, so you’ll have to update your VEs/VMs/RMs in order to benefit from it. Especially for test versions, now we use the full version name for producing the tar files, and the old version won’t build packages in the build environment when called from a 0.12.x external pb.

In order to do that, just use pb -p myproject setupvm (or setupve, setuprm) to update all your VMs in a row.

Project is still available at ftp://ftp.project-builder.org/ and you’ll find there all the versions made for all the distributions tuples supported (120+ as of today). Use trac to report problems or enhancement requests for next version, that I promised will not be next year but earlier !!

Enjoy and feel free to join our mailing-list to discuss more about it.

About to publish project-builder.org 0.12.1

2012/05/22

When I looked at the date of the current project-builder.org current stable version, I had a shock ! It has been nearly a year since I published that version. I should not stay that long without providing updates :-( But you know what it is, you always think that you should still add that latest cool feature, and then that other, + fix this problem, … and you end up one year later with a great development version, but still no public stable one so others could benefit from your work.

So it’s time ! Especially as I have committed a lot of patches from an HP colleague, Eric Anderson, who is using the tool (and in its devel version !) to support packaging projects he is working on for HP. So I worked hard since the 8th of May to integrate what he has made available on github, since he got HP’s approval through the OSRB. And I have integrated I think more than 90% of his enhancements, which now will make 0.12.1 even more appealing than before.

But I’m not as a good guy as some think ;-) Some of the patches seemed strange to me, or could have an impact which I wasn’t completely sure of, so there is still some work Eric did, that has been left appart for the moment. Sorry for that, but I’m a slow guy, using this project on a daily basis, so I really need to be convinced before accepting a patch. But I was convinced by a lot ;-) I’ll now contact him back through the project mailing list, and see how we can work on these remaining points for 0.12.2 so he has a tool working much better for him. Among the nice stuff Eric has brought is clearly a much improved GIT support (read working !), and Debian/Ubuntu support as well (as he is using them natively). He also added support for stopping with the first error, or not as this is an option. Plus lots of improvements all around.

And he will also beneft from my own modifications, which hopefully improved the tool as well ! The last one, being with the configuration file management, now fully done in memory, instead of re-reading all conf file each time (which could also have some advantages, but speed improvement is what I was looking for here). In particular, in this version, the documentation has been improved a lot and should help more beginners. I have added a new getconf option to help following the value of configuration items (useful as pb uses lots of config files !), checkssh to verify what has been delivered on the repository, wrt what should have been, cleanssh to clean up the remote repository for test versions. A new -t option has been added to create local packages more quickly (when only the local distro will be used). Patches support has also been extended to .deb distributions. I have also introduced a new script, pbmkbm, which is aimed at creating customized boot media (project-builder.org make boot media), that will be the basis of an evolution of mindi in the MondoRescue project (doesn’t work as of now, and more on that later on). Some enhancement requests and bug fixes have also been done (#99, #585, #93, #522, #103, #105, new distro support for Fedora 15 and 16, Ubuntu 11.10, 12.04, OpenSuSE 11.4, 12.1 at least). #101 is the last on the list for 0.12.1 and as soon as it’s mostly done, I’ll publish it. Promised !

Stay tuned as usual ;-)

The project-builder.org Fosdem Vidéo is now available

2012/03/24

The presentation I made at Fosdem this year has been video taped by the great video team during that event. It’s now available online for you to replay (as well as on the project’s ftp server). If you want the associated slideset, just download it !

The latest development have been around fixing the bug on file names, improving test versions build. And we now have new requests on the devel mailing list and, even more interesting, patches proposals to improve pb work with Git and other bug fixes, that should make their way before I issue 0.12.1.

A MondoRescue annoyance

2012/01/27

When I released the version 3.0.0, some people started to report issues at restore time, that I didn’t saw during my tests. These problems were mentioned as related to LVM restoration, or partition table restoration.

After looking at the logs they send (kind reminder, that’s a mandatory info if you want to get any form of support !), I saw that in their case, the resizing factor was incorrect, even sometimes 0, leading to empty partitions.

This should have been fixed with revision 2932, and I have released a beta of 3.0.1 that people encountering this problem should use. Let me know if you want to test the fix for a distribution not yet published.

I’ve also repackaged mindi-busybox (with tag 2) for all the deb distributions I manage, in order to solve a dependency issue when upgrading, which was not seen on RPM based systems (for once I have an advantage ;-) )

I’d like to have more rapid cycles for this 3.0 branch to reach a very stable point asap, allowing me to work on other branches. Feel free to give feedback so that I could publish 3.0.1 quickly.

MondoRescue 3.0.0 is now officially out

2012/01/06

To be honest the first packages appeared before Christmas as I was hoping to have everything ready as a gift ! But I met a certain number of issues trying to build all packages for the 99 different distributions I’m trying to build for ! This is due to my upgrade to Mageia 1 where the QEMU/KVM version proposed work differently from the previous Mandriva 2010.2 I was using.

Some i386 VMs are now freezing, so I had to find new correct parameters for them. Then autoconf wasn’t generating a correct content for all Mandrake/Mandriva build for mondo, so I had to call for these distro now %configure2_5 as a macro, instead of %configure.

And I still have some issues remaining, with busybox on SLES 9, Mandriva 2009.1, and RHEL 3, with some old SuSE (10.1-11.0) and old Asianux 2, RH 7.3/9, RHAS 2.1 … So Project-Builder.org gained at this occasion a new feature which consists in enumerating on the remote repo which packages have been built correctly or not. And chain the result to a sbx2vm option through the new –rebuild option, which will trigger the rebuild of all not correctly built packages. Very handy ! And will be used to finish publishing what is missing and still useful.

But I already delayed too much the delivery of that important evolution in the project life, so it was time to officially introduce MondoRescue 3.0.0 to the world !

And finally looking at all the modifications since latest stable, MondoRescue really deserve it’s 3.0.0 label ! I won’t be able to cope with the Linux kernel, now at 3.2, but hopefully you’ll find that new version usefull. It fixes a lot of issues brought recently on the mailing list. Remains to work on the Xen kernel support more precisely, but most of what I wanted to fix is in it, including OBDR fixes, RHEL 6.2 fixes, SSSTK ProLiant support improved, loop mount issues, bootable USB keys, mdadm support for metadata, a grub install fix among many others.

You’ll need to use mondo 3.0.0 with mindi 2.1.0 and mindi-busybox 1.18.5 to have a working environemnt as underlined on our Wiki.

And even if it’s a 3.0.0 number, I consider it stable and in the line of latest 2.2.9.x versions. I’d like to avoid copying my Red Hat friends with their .0 versions ;-)

Happy New Year and Disaster Recovery with MondoRescue !

Third Day at OWF 2011

2011/10/28

Last but not least day at OWF this year. Yep, this is a saturday, but this was the code time for me, so probably the most interesting no ;-) ?

I started the day my making first 2 interviews for the WebTV of the event, one in french and another one in english explaining Open Source at HP. That’s what you get by sponsoring events ;-) So now, my kids can compare me with every other product seen on the TV !! By the way, it allowed me to understand that the professional video world is still unable to use FLOSS only technologies to perform such activities, and if you have spare time, and no defined project to work on, that would be a great addition to our community.

Then it was time to attend the sessions of the day and take some notes to share with you.

Lua and its ecosystem by François Perrad.

Lua is developed in Brazil using a closed development approach (just tar balls), even if it is Open Source since 1993, under the MIT license (which François underlined as important for its adoption by the embedded applications).
It’s a scripting language, fast, powerful and lightweight.

v5.1.4 is the stable version (from 2008)
v5.2 is now ongoing
(Some people still use v4 for its C API and the apps developped with it)

The language is concise but powerful: EBNF Grammar of 1 page and a Reference manual of 100 Pages (with C API, and libs included). It is 12.5 kLOCs and the binary size is 150 kB.
There are only 8 types and 21 keywords.
Lua has a table type like a hash, which allows to make everything.
It also has a userdata type to manipulate C structs/objects e.g.

Lua is portable (written only in C89 – but C++ compatible)
It exists for Linux, OSX, Windows, Android, iOS and Lego (eLUa). Other implementations exist: LuaJIT, LLVM-Lua, MochaLua, Jill (Mobile)

Lua is small but powerful (such as perl, python, ruby, subject of this conf) – It supports regex
François then showed examples of factorial and fibonacci programs written with it.
It is very easy to embed with C programs.

Lua modules are heterogeneous (no CPAN), so build, doc, test and packages are multiple.
Lua has Modules such as sockets, POSIX, XML, DB, wxLua, GTK, JSON, Corba, …

François gave then some application examples: textadept (text editor, 2kLOC C + 6 kLOC Lua), Wireshark (added scripting support with Lua), awesome (Window Manager), redis (key/value tool, server side scripting with Lua)
Lua has too few sponsors: Adobe (Lightroom), SocialMediaPress, CSTUG, OCé.

François complained that there is not a lot of return to the community in term of code from these sponsors. But after all, my take on this is that this is certainly due to the choice of license (permissive) and of development model which doesn’t invite or force contributions to be brought back. One of the reason I chose the GPLv2 for my projects. Clearly it seems interesting if you need to add scripting support to a software. now, IMHO not done to develop applications directly.

Colin Charles (Monty Program AB)
Chief Evangelist on MariaDB (he left when Sun bought MySQL)

Charles gave 3 conferences during the day to paint n state of the Art of MySQL and its ecosysem.
He started by presenting the MySQL Diaspora

Charles started by some MySQL history.
The MysQL release policy is: alpha, beta and GA. 5.0 was released in 2005.
InnoDB was bought by Oracle in 2005, which created problems. The Falcon engine, which was targetted for 6.0, was the solution but it never saw the light.
5.1 was released in 2008. Lots of bugs were present due to an early release and lack of tests. 5.2 was canceled (It should have been open to community contribs)
5.4 was the next release in the roadmap in 2008.
In 2009, Sun was bought by Oracle. As a consequence 5.4 & 6.0 were canceled.
5.5 was realeased in 2010.
5.6 is available at labs.mysql.com (2011).

InnoDB + memcached in front of it, is the NoSQL approach taken (even if Oracle doesn’t believe in NoSQL, surprise, surprise !!)
Half of the downloads at mysql.com were for Windows. But most people on Linux, OSX, BSD use the packaged MySQL from their OS which thus reduces the number of downloads for these platforms and gives a wrong impression of the usage. Secondlife e.g. used MySQL out of Debian.
However, distributions tend to include only a small subset of MySQL features. There are only 5 engines compiled in Fedora/RHEL !

Charles underlined that the real uniqueness of MySQL is its ability to use multiple engines very easily (more on that in a dedicated conference below).
He detailed the commercial ecosystem around MySQL for add-ons (InfoBright, TokuDB, ScaleDB, Nitro, SolidDB, RitmarkFS) as well as HardWare vendors too (Kickfire, Virident, Schooner – going away with Oracle) as well as 3rd party engines (that Oracle doesn’t like either)

Charles then gave definition of terms: Fork == do not merge back (Drizzle e.g.) – Branch: rebase all the time (MariaDB, Percona e.g.). He then expained the different MySQL children.

  • Percona started from 5.0 (it took Google/Facebook code on top of MySQL). So Percona is MySQL with InnoDB enhancements (coming from FaceBook/Google) and minimal server changes. They have 1000+ customers in the USA. They provide more fine grained diagnostics. (Google uses MySQL/Percona for Adwords). It provides FlashCache which makes it a great offering for SSD support. They also provide the Percona Toolikit (lots of perl scripts, it is the former maatkit UDFs) to make admin life easier. Their business model is mainly around consulting, and some support.
  • Drizzle is based on MySQL 6.0 whiwh was never released. It took them 3 years to release the GA, just recently, aimed to be the RDBMs for OpenStack. However, due to the time it took, OpenSTack now uses SQL Alchemy which supports multiple RDBMs. Drizzle is Unix only – No Windows. Drizzle has a Micro-kernel architecture so everything is a plugin (including optimizer, query caches, …). Fully written in C++ now (no C anymore), it targets Cloud. It uses a lot of other FLOSS tools (including Google Protocol Buffer). Patches from MariaDB are difficult to integrate as it’s a fork.
  • MariaDB started from 5.1, and is now with 5.5/5.6 also including Percona patches and abandonned patches. MariaDB is Percona and more storage engines and lots of improvements (including µs precision, extended stats for slow query log, threads pool support (eBay), pluggable authentication, virtual columns, NoSQL, subqueries (finally in 5.3 !!), GUI for Windows).
  • Other branches are OurDelta (pet project – died), MepSQL (just Facebook patches, died), XAMPP (Windows)

For NOSQL in MySQL, use MariaDB ! Its HandlerSocket provides 700000 queries/s vs 400000 queries/s for standard MySQL. It also provides Dynamic Columns, memcached interface to InnoDB and NDB (only in the labs of MySQL, MariaDB is waiting for publication to include it – droped in 5.1, maybe back in 5.6/5.7)

MySQL cluster is an external product, which will probably be integrated in main tree with version 5.6/5.7.

From a support perspective, many companies can deliver it: Oracle (MySqL ent), Percona (MySQL, Percona, MariaDB, Drizzle), SkySQL (MySQL, MariaDB, Drizzle, distros), and many others.

Charles announced that pap.fr just issued a press release about their migration to MariaDB.

He then underlined the difficulty to work with Oracle: There is no public roadmap for MySQL. MySQL is now OpenCore: threads (connection) pool is closed source (original patches from eBay !) with only API for community dev. PAM (AD plugin) code came from MariaDB and is now also closed source. InnoDB Hot Backup however has always been closed source. But xtrabackup is FLOSS. InnoDB has never been Open Source, and they are rebasing from what is published monthly.
These problems comes from the contribution agreement that Oracle forces MySQL contributors to adopt to integrate patches upstream, which gives them the possibility to close the code instead of integrating it inside the public version. Oracle is once again making foes here.

From a performance perspective, XtraDB in 5.5 > InnoDB in 5.5 > XtraDB 5.1.
Connectors remains 100% the same whatever the backend.

Scaling is the issue. Hopefully, working with HP on this we can help Monty programs make progresses on this side.
To a question I asked around Monty Programs, Charles explained that Monty Program is only developing around MySQL. Their business model is to sell 3rd level support and dedicated consulting around development. They have no interface with ordinary customers.

The ecosystem is now in fact split between multiple actors, compared to when MySQL AB was doing everything: Monty Program as the “Lab”, SkySQL for the support and Percona for the consulting, even if the last two overlap a bit.

I was lucky to lunch with Charles, so we could discuss into more details around the community, and some of the points upper were not presented during the formal presentation but are the result of my understanding during our talk. All mistakes are of course mine ;-)

During the next session, I had a discussion with Charles Schulz, administrator of the LibreOffice.org foundation to get some news of this community, and they have lots of plans, some announces that will happen in October, but that I can’t reveal for now. Stay tuned however as it’ll be great !!

Then I attended the second session from Charles Colin around Storage Engines of MySQL/MariaDB

The main engines are: MyISAM, InnoDB, NDB (aka Cluster), Falcon (dead), Archive, Federated(X), Merge, Memory, and the one from Partners, Community, Customers…
The Engines list also includes AWS, OpenLDAP, CSV, Blackhole, Q4M (queuing mecanism), …

Charles then explained the default choices:
MySQL 5.5 => InnoDB by default, MyISAM for temp files
MariaDB 5.5 => XtraDB by default, Aria for temp files (more secure, as crash safe)
Percona 5.5 => XtraDB by default, MyISAM for temp files
Drizzle => HailDB (the only engine), MyISAM for temp files

The value proposition of MySQL/MariaDB around the various engines is unique. It brings flexibilty very easily, from ACID compliant InnoDB, to memory engine for performance, to archive which compresses data up to 80%
There are of course differences between engines with regards to storage (side note advise; use XFS), indexes, memory usage, transactions support (ACID), …
To see what engines are supported in your version, use show engines (12 present in MySQL, 10 in MariaDB)
Engines are plugins handled as loadable modules after 5.1.
There are some commercial engines: InfoBright (Data warehouse), TokuDB (cloud)
To use a specific engine with a table use: create/alter table … engine=XtraDB
Distributions tend to remove engines in their delivery (half only in Fedora/RHEL).

Indexes use all type of algorithms available: B+trees (InnoDB), Red-black trees (memory), R-trees (MyISAM) + hash indexes (memory, NDB, InnoDB).
For MySQL benchmarks, Charles recommended to use mysqlslap, to which I’d also tend to add the excellent HammerOra, which will allow you to make comparison with other RDBMs very easily !

Charles then explained the specifics of some engines:

  • MyISAM: excellent insert perf, small footprint, full text support. No transactions, no foreign key. Usage: log, audit, Datawarehouse. Was preferred earlier. Not usable with DRBD. Tuning hint: Use key_cache_segments = 1 in MariaDB.
  • InnoDB: for OLTP, raw disk support (useful for Windows). Tuning is also required. Use innodb_file_per_table good when locking, innodb_buffer_pool_size to memory*0.8 if dedicated. show engine innodb status gives more stats on MariaDB. InnoDB supports row & statement replication. Hint: Use a primary key (if not, it will be done for you)
  • Archive: good for auditing (can’t delete in it, only SELECT and INSERT), uses libz
  • Federated was disabled in MySQL but FederatedX has replaced it in MariaDB.
  • FederatedX: Used by Cisco to store centrally from routers. Good for synchronous replication.
  • Memory: loosing popularity in favour of memcache (BTW there is also a memcache engine !) Used for lookup, session, temp or calculation tables. Of course, when server goes down, rows are lost.
  • Aria: MariaDB only. Planned to be competing with InnoDB and was concurrent to Falcon (now dead). Crash safe MyISAM, may become ACID.
  • PBXT: ACID. Transactional. Good for SSD storage. Popular in Germany. Supports efficient BLOB. Should be more known.

To install a new engine just issue: INSTALL PLUGIN myengine SONAME ‘engine.so’

Charles reminded that a mix and match of engines is frequent.
He underlined that backup is engine dependant. LVM snapshots are a way to solve this.
Monitoring is also engine dependant.
Wordpress uses MyISAm, Wikipedia/mediawiki prefers InnoDB except search, SugarCRM uses MySQL.

Was time for me to take the mic ! and talk about
Continuous packaging with Project-Builder.org by Bruno Cornec (HP)

Brilliant presentation as usual ;-) Find it online and hopefully at OSDC.fr where the Vidéo should appear soon.

Open Build Service by Vincent Untz (SuSE)

I stayed in the room to listen to Vincent, who insisted on the new name of the former OpenSuSE Build system which is now the Open Build Service (Vincent, I’ve now patched my presentation to be aligned ;-) )

Even if goals are similar (building more easily packages and supporting a continuous packaging approach, there are still some differences I think between the tools. First, of course, language used to develop them (perl for Project-builder.org and Ruby on Rails for obs), but also on pb side the willingness to share metadata across packages, in a VCS and providing a macro system to support it, the support of VMs *and* Virtual Environment* and now *Remote Machines*, with tools such as rpmbootstrap to help users managing them, the standalone aspect of the tool and it’s ease of deployment (just 3 perl packages + 2/3 deps max – fewer LOC). Also pb supports gentoo, and Solaris, and is very easy to extend as everything is now managed through configuration files.

Advantages on obs side are its great Web based interface, its reporting mecanisms, and its capability to rebuild projects based on modifications of other projects. obs announces a very large user base, and packages built, even if when you divide by the number of distro tuples it’s less of course. pb just supports 5 different projects so has a much less reduced installed base.

Vincent did a very good presentation, as usual, showing also how it had a positive impact on the OpenSuSE project by having all the build infrastructure rebuilt to be Open Source (GPL) in order to support the project. Another big plus of their infrastructure is their BaaS approach (Build system as a Service), whereas with pb you need to create it, even if it’s easy. However, Vincent underlined that OBS as BaaS is only accessible for Open SOurce projects. If you’re building other software types, then we are at parity as you need to deploy the tool in-house.

As I underlined at the end of my talk before welcoming Vincent, whatever the tool you use, what is the most important, is to promote continuous packaging, as a good practice of today for projects (Open Source or not). Everybody’s new mantra should become “package early, package always” !

Charles then made his last presentation of the day (busy guy !) on MariaDB.

He reminded that it is a branch of MySQL, community developped, feature enhanced and backward compatible.
Monty Program is the main sponsor of MariaDB (58% of patches come from Monty Program, 42% from commmunity members having commit access)

MySQL is now an Open Source/Core product not a project.
MariaDB is an Open Source project, with the goal to be 100% compatible and a drop-in replacement of MySQL.
It is stable (production ready) and GPLv2. XtraDB (vs InnoDB) is enabled by default.
Charles then covered the various versions published:

  • 5.1: Spend lot of time on build system (Buildbot + VMs ;-) for 5.1. No compiler warnings (contributed back). Table Elimination (aligned with big RDBMs) improves perf. Pool of threads (or connection pool, good for short running queries).
  • 5.2: Pluggable authentication. Easy to write in 1/2 days AD auth/PAM auth as Oracle published recently. Virtual columns. Includes ShpinxSE (Full Text Search Engine)
  • 5.3: NoSQL (HandlerSocket – direct access to InnoDB in perl DeNA, Dynamic columns, Group Commit, Replication, mytop, optimizer, optimized subqueries). That code may not be given back to Oracle due to Oracle recent announcement.

Everything done in the open, ML, bugs, IRC, code, worklog, KB (1400 articles in 1 year, cc-by-sa) …

Future: GIS. Merging takes more and more time. Future may be to fork to solve the Open COre MySQL approach, which would be IMHO good news for the FLOSS world, as it was sith LibreOffice e.g.

Blocks in perl6 by Christian Aperghis-Tramoni

A real course on how perl6 manages some blocks (functions where particularly detailed). Not a lot of notes, here as everything is online, and this was mostly code explanations, so I prefered to follow, rather than taking useless notes that nobody would read anyway ! What I mostly retained is that perl 6 brings some huge differences with regards to perl 5, certainly in the good direction, but will need an adaptation from old perlers such as myself, not following closely perl 6 development as Christian, and also that it’s not yet ready for usage, as lots of features are not there yet, and no optimisation is available, so from a production perspective, it’s unusable now. Perl 5 has for sure a very long life in front of him :-)

All in all, OWF 2011 was again a great event. However, I would prefer for next year that they concentrate mostly on the Think part, which is quite unique to this conference and makes all its value, whereas code and experiment are already well represented at RMLL or Fosdem. See you there next year hopefully !

Note: Some of my photos related to this event are now available at https://picasaweb.google.com/112434061686721373729/OWF2011

Meeting during LinuxCon in Prague or OWF in Paris

2011/09/05

I’m happy to have been informed that my proposal of presentation around FOSSology for LinuxCon 2011 in Prague has been accepted (too bad the others on MondoRescue or Project-Builder.org weren’t. Hopefully a next time).

However, for Project-Builder.org you can attend the presentation during the upcoming Open World Forum in Paris and discuss with me about everything Open Source and Linux and HP !

So some way to meet across Europe soon with you :-)


Follow

Get every new post delivered to your Inbox.