Before leaving for a 15 days trip to the US, I’ve published the latest version 0.13.2 of project-builder.org.
It will be very useful for my colleagues and friends working on python-redfish to make local packages for testing that module, and then to publish it in upstream distributions such as Mageia and Fedora to start with.
That version improves git support, ssh support with ECDSA (for RHEL 7 distributions which have removed DSA by default), provides Fedora 22 and 23 support as well (with dnf).
Of course, project-builder.org is available for 160 distribution tuples because it uses project-builder.org to make that possible ! And if I can do that for this project, then you can probably do it as well for yours. The goal again is to help upstream projects to provide upstream packages for various distributions to help users, testers to install the software on their system. And so is the tool itself, you can download it easily and test it following the instructions described in the Lab document.
As usual, that’s not the lack of idea which is preventing all that to arrive but the lack of time. So don’t hold your breath if you plan to do GET/POST request to build your packages with project-builder.org but it will come. And now this version is available, back to MondoRescue to fix the UEFI support !
I’ve published the latest version of project-builder.org, 0.12.7, earlier this year to add support around the latest distributions published (SLES 12 and also Mageia 3 & 4 chroots) and fix a checkssh bug. But I also realized I didn’t mentioned the availability of the previous 0.12.6 last year in June. Both are minor versions, the previous one improving git and git-svn support (that I start to learn progressively).
But most of the work has been done recently in bringing docker support into project-builder.org without breaking VM/VE/RM support we had before. Which is now also done !
You can see how we dynamically build a Dockerfile to enhance our first image by copying the tar files fro the host, as well as the build script (made by pb as well) and then invoking it to install all dependencies and build pb in the container ansd install it.
So now we have the second stage of our docker image ready with pb installed in it.
Here not a lot happened, as we’re working with pb itself, and the previous step already installed its dependencies. But that wouldn’t be the case for another project as we’ll see later.
[mageia-5-x86_64] drwxr-xr-x 2 600 501 4096 Nov 25 01:56 .
[mageia-5-x86_64] drwxr-xr-x 28 pb pb 4096 Nov 25 01:56 ..
[mageia-5-x86_64] + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
[mageia-5-x86_64] 'CONFDIR' is not a known MakeMaker parameter name.
[mageia-5-x86_64] 'MANDIR' is not a known MakeMaker parameter name.
[mageia-5-x86_64] Subroutine main::plan redefined at t/Base.t line 21.
[mageia-5-x86_64] Subroutine main::ok redefined at t/Base.t line 21.
[mageia-5-x86_64] Prototype mismatch: sub main::ok ($;$) vs ($;$$) at t/Base.t line 21.
[mageia-5-x86_64] Subroutine main::skip redefined at t/Base.t line 21.
[mageia-5-x86_64] Prototype mismatch: sub main::skip: none vs ($;$$$) at t/Base.t line 21.
[mageia-5-x86_64] Subroutine main::plan redefined at t/Conf.t line 23.
[mageia-5-x86_64] Subroutine main::ok redefined at t/Conf.t line 23.
[mageia-5-x86_64] Prototype mismatch: sub main::ok ($;$) vs ($;$$) at t/Conf.t line 23.
[mageia-5-x86_64] Subroutine main::skip redefined at t/Conf.t line 23.
[mageia-5-x86_64] Prototype mismatch: sub main::skip: none vs ($;$$$) at t/Conf.t line 23.
[mageia-5-x86_64] Subroutine main::plan redefined at t/Log.t line 21.
[mageia-5-x86_64] Subroutine main::ok redefined at t/Log.t line 21.
[mageia-5-x86_64] Prototype mismatch: sub main::ok ($;$) vs ($;$$) at t/Log.t line 21.
[mageia-5-x86_64] Subroutine main::skip redefined at t/Log.t line 21.
[mageia-5-x86_64] Prototype mismatch: sub main::skip: none vs ($;$$$) at t/Log.t line 21.
[mageia-5-x86_64] 8 packages and 0 specfiles checked; 0 errors, 69 warnings.
user: "Bruno Cornec (primary address) "
Here you are ! We’ve built packages for Mageia 5 using pb and Docker and delivered them on to the ftp server of the project and recomputed indexes in order to have them ready to be consumed. That’s what I call Continuous Packaging ! Note that when the build is successful, the intermediate container used to build is removed at the end.
[debian-8-x86_64] drwxr-xr-x  2 600 501    4096 Nov 25 12:56 .
[debian-8-x86_64] drwxr-xr-x 28 pb  pb     4096 Nov 25 12:56 ..
[debian-8-x86_64] # Add here commands to clean up after the build process.
[debian-8-x86_64] make: *** No rule to make target 'distclean'.  Stop.
[debian-8-x86_64] # Add here commands to compile the package.
[debian-8-x86_64] 'MANDIR' is not a known MakeMaker parameter name.
[debian-8-x86_64] 'PBKEYWORD' is not a known MakeMaker parameter name.
[debian-8-x86_64] dpkg-deb: building package `project-builder' in `../project-builder_0devel20151125135601-0_all.deb'.
[debian-8-x86_64] # We have nothing to do by default.
[debian-8-x86_64] drwxrwxrwx   2 600 501    4096 Nov 25 12:56 .
[debian-8-x86_64] drwxr-x--x 160 600 501   20480 Nov 25 12:56 ..
[debian-8-x86_64] dpkg-scanpackages: warning: ignored that one and using data from 8/libmondorescue-perl_3.2.220151113115543-0_all.deb!
[debian-8-x86_64] dpkg-scanpackages: warning: ignored that one and using data from 8/mindi_3.0.220151113115543-0_amd64.deb!
[debian-8-x86_64] dpkg-scanpackages: warning: ignored that one and using data from 8/mondo_3.2.220151113115543-0_amd64.deb!
[debian-8-x86_64] dpkg-scanpackages: info: Wrote 7 entries to output Packages file.
So we see very well that we work with layers, adding some content and configuration to our previous debian-8-x86_64-pb docker image (id: f6d81fc68abb) and capitalize on it. Of course, if we need to rebuild everything due to updates (which is not so frequent when building packages in fact) it’s easy and just consists of relaunching our 4 magic commands.
[debian-8-x86_64] drwxr-xr-x  2 600 501    4096 Nov 25 14:32 .
[debian-8-x86_64] drwxr-xr-x 25 pb  pb     4096 Nov 25 14:32 ..
[debian-8-x86_64] # Configure the package.
[debian-8-x86_64] # Compile the package.
[debian-8-x86_64] dpkg-deb: building package `mondo' in `../mondo_3.2.220151125153222-0_amd64.deb'.
[debian-8-x86_64] dh_clean: You asked that all arch in(dep) packages be built, but there are none of that type.
[debian-8-x86_64] dh_installdirs: You asked that all arch in(dep) packages be built, but there are none of that type.
[debian-8-x86_64] dh_install: You asked that all arch in(dep) packages be built, but there are none of that type.
[debian-8-x86_64] dpkg-scanpackages: warning: used that one and ignored data from 8/mondo_3.2.220151113115543-0_amd64.deb!
All that is possible with the version 0.13.1 of project-builder.org which will be published ASAP after having written this article ! This will be the base of my presentation for the DevOps Meetup later today.
So I’ve again been retained as a speaker for the upcoming Open World Forum 2014, which is back in Paris. I was expecting it, as Martin Michlmayr confirmed my proposal on “Open Source Governance: what’s hot?” in the Legal and licensing aspects of open source track. This will be Friday the 31st of October between 1:30 and 3:30PM.
But I’ll also be a panelist in the “Control Your Cloud” track lead by Jean-Pierre Laisné, in a round table dedicated to OpenStack and the coopetition ecosystem around it. I’m right now building the panel with Jean-Pierre, so will announce the list soon. This will be Friday the 31st of October between 4:10PM and 6:10PM.
And finally I was really surprised looking at my info to see that I also had another talk accepted in the DevOps / ALM track lead by Jonathan Clarke ! I’ll talk about “Continuous Packaging with docker and Project-Builder.org”. Well, my demo, which is due for LinuxCon EMEA, should then be ready and fully working as well as my slideset and content which I still need to develop ! This will be Friday the 31st of October between 9:00 and 12:20AM.
As usual, you can catch me at the end of the talks (even if this time, I won’t have as much time as in other events) and discuss about what you’re interested in that is also of interest to me !
Interesting to pass from vacation with family in Croatia to France after 10 hours of drive and then the day after being in a plane, flying to Chicago to attend my 3rd LinuxCon, held this time in the mythic Chicago city.
While I arrived Monday evening, I had time to catch up some mail, make some conf calls on Tuesday before attending the first part of the event, which was the VIP dinner. An opportunity to talk to HP colleagues I met for the first time physically, even if we already interacted electronically previously.
Wednesday the 20th was the first day of the event which started as usual with Jim Zemlin’s Keynote. This time he chose to talk about what the Linux Foundation rules disallow: The Linux Foundation itself ! And more largely about the roles of foundations to support open source development, their key cleaning facility role.
Jim had a quite funny slide exaplining how everybody is seeing him, while what he is really doing is cleaning stuff so Linus, Greg and thouands of others could code and manage Linux.
He also announced the new LF certification program (Certified sysadmin and Engineers). While I understand the need of having more recognized Open Source ad Linux Professionals, unlinked to a company (such as the RHCE one) I wonder whether we were needing a new certification wile we do have LPI. I hope the 2 will cooperate to avoid again proliferation. Not that proliferation is bad per se. But why dedicate multiple times efforts to create training supports, manage registrations, … when someone already works on that, maybe in a different way, but maybe patchable to be adopted by the LF. Hopefully this will be solved somehow.
After that we had the also traditional Linux Kernel panel moderated by Greg Kroah-Hartmann with Andy, S, Andrew Morton and Linus Torvalds of course. Nothing really new came out. Anyway, it’s always refreshing to see our heros on stage full of confidence and hope for what they do.
Linus insisted once more on the fact he wants Linux to be more dominant on the desktop market. As a 21 years linux desktop user myself, I can only be in agreement with that. Where is however the docker of the desktop, that will make everybody want to change and move to it ? When people see my Mageia distro they’re always surprised how many stuff you can do out of the box with a Linux Desktop. Phones have helped people go away from the monopoly interface but Macs do not help bringing back people to Linux. If at least all people attending LinuxCon and developing FLOSS would run Linux, that would be great !
Then it was time for elective sessions. I chose first to know more about devstack.
devstack pulls everything from git. As it heavily modifies your system so do rather that in a VM/Container. devstack launches tempest (the OpenStack test suite) at the end for the install. Sean insisted on the flow of requests generated inside OpenStack and demonstrated how you can easily modify the devstack environment and re-run it to test easily your modification.
you’ll avoid waiting for an answers from the server in case of devstack exceeding the standard rate of queries.
You can also use localrc.conf to pass specific variables up to the right component.
that app uses now php 5.4 while the rest of the system ignores it.
There is a tool spec2scl to convert spec files to generate scl compatible packages.
A remark I made to myself and which was later explicitely said during the presentation is that scl is useful for RHEL to provide newer versions of SW onto the enterprise distributions, while it can also help provide older versions of SW into Fedora (which is moving so fast that not all SW can adapt !).
It’s a sort of Debian backports for RHEL.
Joe also presented rpm-ostree (derived from ostree, git-like for system binaries providing an immutable tree). Under development for now, so not completely usable and probably the least interesting solution.
He moved on with docker, but was pretty generic (on purpose) and seeing it as complementary to package management, whether I think docker is another way of deploying software, which is not caring of packages by providing a layered deployment approach. While I have packaged docker for Mageia, I’m not yet familiar eough with it to be sure of that, and I’m currently working on combining it with project-builder.org. So will comment later on on that.
Then it was time to animate the FLOSS Governance roundtable for which I was attending LinuxCon. I had what I think is probably the best panel to cover the vast topic with Eileen Evans from HP, Tom Callaway from Red Hat, Gary O’Neall from Source Auditor Inc., Bradley Kuhn from Software Freedom Conservancy (and of course 45 minutes wasn’t sufficient to talk about all the subjects part of this), but I think the interactions were very interesting and lively and hope the audience enjoyed them and learned new aspects of this capital topic for our ecosystem. Of course we talked about licenses, SPDX and its future new 2.0 version, but also of foundations (echoing Jim Zemlin’s keynote), contribution agreements or tax usage (Thanks Bradley !).
And this is just the first of a series of such round tables I’ll lead in future events, but more on that later on.
After that, I discussed with Bradley Kuhn and Jilayne Lovejoy about licenses, AGPL, and various related topics, and their feedback were as usual very rich.
Was then time to go back to the latest keynote sessions. The first one I followed was from a new company (for me) CEO, Jay Rogers from Local Motors who tries to make open hardware in the automotive sector.Worth looking at and following whether they will be successful.
Then, our own Eileen Evans was on stage to explain her view on the new FLOSS Professional. And I think at her place I’d have been even more impressed as she had a full room so probably some pressure to talk to all these devs and devops. And I think her voice showed that at the begining. But when she entered in the details of the presentation, she did as usual a great job and was particularly convincing. She showed how the FLOSS professional was more than others issued from diverse backgrounds, as she illustrated with her own one. She also showed the variety of activities that each of these people have to cope with everyday, again with an illustration of one of her day of work passing from a contract management or OSRB meeting to an OpenStack foundation board conf call.
And that approach of the new FLOSS professional was a convincing echo to Jim Zemlin’s call for more professionals and the focus on people that many speakers have underlined. The FLOSS ecosystem indeed needs so many various competencies in addition to developers and FLOSS is so ubiquituous that the lack of resources is delaying some projects. And Eileen explained why this notion of FLOSS Professional is arising now. Which is in short because FLOSS usage has moved from hobbist developing for themselves to professional developing during work hours. And she also covered the impact on companies where the work in network/communities, between peers is the rule compared to the siloed classical approach. And so companies need people understanding this way of working to evolve.
It was then time to catch a bus and enjoy discussing with peers at the Museum of Science and Industry during the evening event where we could also explore the museum.