Flock is always a peculiar time of the year for me. For one it is one of the few
time I get to meet with my colleagues but more than that, it's also one of the
few time I get to spend a few days with fellows from this Fedora community that
is so dear to me.
I have to say that this year was no exception. Flock 2016 has been really nice.
I can, of course, only speak for myself, but from what I have seen we got a lot
of work done and we are now ready to move forward on quite a few subjects.
One of the most important aspect of flock is the fact that an important part of
the community gathers in one place, but we need to be careful as the conference
only represent about 10% of all the Fedora contributors.
So it is our duty as attendee to report to the broader community about the
subjects that were discussed and the talks we have had.
It is of course practically impossible to mention everything here, for one because
I took very little note during the conference, but I would like to point out the
topics that appeared the most important to me during that conference.
Fedora at large and its community
During the opening keynote, mattdm gave an overview of how Fedora is appreciated
outside of our community. It seems that Fedora 24 has been doing great, same for
Fedora 23 before that. The IT world seems to appreciate the Fedora.next program
we have started and what it is leading to.
Matt also gave a few numbers on the side of our community and our contributor
base. These were numbers that had already been presented in his talk at DevConf
2016 (talk that I watched on youtube).
So there were really new to me, but I still like the fact that there is about 66%
of our community that is not working for our primary sponsor, Red Hat. This is
healthy for our community, this diversity ensures that we are not just an echo
chamber and that it is not just us liking what we do.
The Fedora Infrastructure
This is a part of the project that I am directly involved in and that I think
made some really good progress during these few days. We had a few session.
It started with a presentation from Kevin and I about the state
of the Fedora Infrastructure. We went a little bit through the changes that
happened in the last year and ones planned in the coming year, both from an
infrastructure and an application point of view.
This has lead a few questions and discussions, all in a nice atmosphere. I had
one comment on the presentation that we have not included as much numbers in it
as we had last year making it a little harder for people not accustomed with
our work to follow. Something to work on for next year.
We also had a workshop session. Over two hours we went through the changes we
want to make to the infrastructure (opening our private cloud to our contributors,
start investigate where and how to use docker, reflect the level of support
provided to services by using different domain names for examples) and for each
of these we came to some agreement and made a plan on how to move forward with
it.
I will not go to much in the details of what we discussed and what agreement we
reached in this blog post as it has already been summarized on the fedora infrastructure list.
Fedora Docker Layered Images
So this an project that has been worked on for a few months now by Adam Miller
in coordination with the rel-eng team.
The idea is to allow Fedora to start distributing more than just RPMs and in this
case, Docker images.
This service is about to land. There are still a few aspect to be worked on,
including how to distribute the images to the mirrors and how to ensure users
are being redirected to a mirror that is up to date. Dennis,
Randy and I had a very interesting discussion around
the work that remains to be done for this. It will imply making changes to
MirrorManager and likely all of its three components (MirrorManager,
MirrorList and the backend services). It might also imply work on the docker side.
Being able to have these discussion while seating on comfortable harmchairs
facing each other was really nice. We managed to have a list of applications
that needs to be adjusted and a good idea of how the different pieces will work
together.
Fedora atomic on a workstation
Patrick gave a very interesting presentation on how he builds and uses Fedora
atomic to run it on its laptop. This was really most interesting but it gave a
little bit of mixed feelings.
On the one side, it looks really promising and exciting to work with, on the
other side it seems not really user-friendly and a little hard/time-consuming.
I do wonder if, some aspects could not be simplified for me (for example
retrieving the list of RPMs currently installed on my machine to insert in the
kickstart file instead of more or less starting from scratch).
Maybe I will try to make a little time available this year to try to play with
this, it is really tempting.
Automation
Ralph has lead a very nice workshop on automation whose idea was to brainstorm
around what we do and that we could automate and what we all have built script
to do for us and which thus may need to be generalized.
The discussion has been lively and quite a few ideas were exchanged.
Two of them sticked with me a little more
- Generate a cron job gathering information from pkgdb, koji, bodhi, fedocal to
give access at a single location about releases. What are they koji tags?
What are their bodhi name? What are their current status (released?
beta-freeze? beta released? alpha?...)? There are a few applications relying on
this information and while a good part of it is present in pkgdb, not all is and
it does not necessarily make sense to add it there.
- Create some sort of service that triggers builds upon git push and even the
creation of bodhi update if we want. There are quite a few use-case that people
would like to see supported and some people do not want this at all, so this
should be entirely opt-in. Currently is idea is to ask packager to place a
ChangeLog file in their git repo, next to the spec and the sources files and
place in this file the information needed to create the bodhi update.
If in a push, this ChangeLog file is updated, automatically trigger the build
in koji and if it finished successfully, create the update in bodhi.
That means that: without this ChangeLog file, nothing changes from the current
situation, if the ChangeLog is not touched, nothing changes from the current
situation, if the ChangeLog file is touched but the build fails in koji, the
only change from the current situation is that this service will have saved the
user from triggering the build manually.
These were the two ideas that stick with me the most. There has been more
discussed and there are more possibilities (like making the service something
that is ran locally by the user, as opposed to something ran in the
infrastructure).
Pagure
Pagure has been a really nice surprise to me. Many people talked to me about it
most often in good terms and sometime with some interesting ideas. I am not sure
all the ideas provided will be implemented but there is food for thoughts and
enough to keep me busy a little while!
Modularity
I had been following the modularity working group from a little far and I have
been quite happy to discuss directly with the people working on this about the
work they are trying to achieve.
Ralph and I have had a few lengthy discussion around the life-cycle of packages
in this new model and, among others, the impact this would have on tools such
as pkgdb. It seems clear to me that while the data model might not necessarily
change that much, we will need to adjust pkgdb for this new distribution model.
All the details are still not entirely clear, some features will need to be
added, the UI will need to be adjusted, overall probably not enough to worth
a rewrite of pkgdb but still enough that I will need to spend some cycles on it.
The work done by the modularity group is quite fascinating, I have been involved
or the spectator of some the discussion they had and there is really quite a lot
of work still to be done and this is sounding really interesting.
If you have not had a chance to see what they are doing, I encourage you to
check out their wiki page and check
Langdon's presentation at flock as soon as it is available on youtube.
Hubs
Fedora-hubs is a cool project aiming at simplifying the steps new contributors
need to take to reach the old contributors. IRC, mailing lists, tickets are all
places where activities happen but that might be obscure to new contributors.
fedora-hubs tries to fill this gap by aggregating all the activity around a
group of people and provide it to new contributors so they know where to look
to get aboard.
We ran a workshop with a nice demo at flock. We received some good positive
feedbacks and people seem to like how things are looking.
Personally flock has also been the occasion to pass the torch on this project.
I have been leading it since Ralph changed team but I am really not the expert
in the technologies needed for hubs' frontend. So I passed on the torch to
Sayan who is much more experienced than I am and who I'm sure will do a great
job leading hubs.
I will still be around, I am very much interested in helping with backend bits
and pieces. FMN still needs some work and a few other applications that I maintain
might require adjustments to integrate with hubs the way we want it. So, do
expect me around :)
Zanata
Finally, flock has also been the occasion for me to meet up with the folks from
zanata (the platform used by fedora's translators). We exchanged a few
emails before the conference as we asked them to expand on their web-hooks
so we could gather some more stats and include them on fedora-hubs.
It was really nice to be able to discuss with them regarding their plans and ours
and how we may be able to help each other.
Final words
Well, this has been quite a lengthy blog post, if you made it so far :
congratulations!
As a final note, I would like to thank all the organizers of the conference,
having tried to place a bid for this year, I have a small idea of the amount of
work involved but they managed wonderfully and it was an excellent flock!