Flock to Fedora 2019 Conference report

Last week I attended “Flock to Fedora” conference in Budapest, Hungary. It was a Fedora contributors conference where I met some developers, project leaders, GSoC interns. Below is a brief report of my attendance.

Day 1:

The first day started with the welcome by the registration desk where I got my conference badge to wear. The conference started with the first traditional session by Matthew Miller on “The State of Fedora”. Matthew explained all about the Fedora project including Council Objectives, developing user solutions using teams that will provide Building Blocks and Services, Charts showing Fedora/EPEL mirror stats.

Next talk was a keynote talk “It’s probably fine” by Cate Huston where she talked about making failing team functional and layers of communication to achieve that.

Next talk was “Facebook Loves Fedora (and Chef)” where Michel explained how Fedora is used in Facebook and plans to use Silverblue edition. He also discussed what things need to be taken care to use fast moving Fedora releases in Facebook. Glad to hear that they moved from Ubuntu to using Fedora on their desktop machines.

After lunch I got to present langpacks demo in “The future of langpacks in Fedora” talk which is presented by Jens Petersen. We discussed how langpacks evolved since Fedora 13 and future plans about langpacks.

Next talk I attended was “Toolbox: using Silverblue for development” by Debarshi Ray where Debarshi explained all about how toolbox development started, its benefits and future development. I am glad that I am using toolbox for my Fedora development since last one month without any issues.

Next talk I attended was “Fedora CoreOS: preview to stable”. Sinny Kumari explained about Fedora CoreOS project, its features, 3 update streams that users can use to get updates. Then she demo about Fedora CoreOS by booting qcow image with qemu by generating ignition config. It was nice talk to know more about Fedora CoreOS.

The next talk was another interesting talk I found. Its “Tales from the crypt: packaging horrors” by Dominik Mierzejewski where common packaging mistakes have been discussed. I recommend all the Fedora packager who are not that experienced yet to watch this talk. You will get to learn what things one should avoid while packaging any software.

Day 2:

The second day started with the talk “Fedora, Red Hat and IBM” by Denise Dumas who is Red Hat VP of Platform engineering.  She talked about how will be the future of Fedora after IBM acquisition. There is no change happening and Fedora will continue to grow.

The next talk I attended was “The future of automated build checks in Fedora CI” by Tim Flink where Tim explained about existing taskotron plans and moving tests to be executed automatically as part of CI jobs. These includes build checks like rpminspect, rpmdeplint and abicheck.

The next talk was “Auto-updates by design: porting Container Linux model to Fedora CoreOS” by Luca Bruno where Luca explained Container Linux model and Fedora CoreOS model.

The next talk was “Use cases for Transtats in the Fedora community” by Sundeep Anand where Sundeep explained about Transtats project, recent developments in it and explained how it will be helpful to Fedora community. I also given a demo on how a transtats-cli project can be helpful for developers, maintainers, translators to interact with transtats server.

After lunch I attended “Gating rawhide packages: things just got real!” by Pierre-Yves Chibon. This was a full house track where all the information about how gating works in rawhide has been discussed. Multi-build vs single build rawhide gating workflow has been explained in this talk.

The next talk was “Silverblue: On the way to the future of Fedora Workstation” by Tomáš Popela, Jiří Eischmann. Both explained about the Silverblue OS project. Its secure OS and runs cross platform applications. OS is separated from applications. OS uses ostree image. I am glad I am running Fedora Silverblue OS since last one month without any issues.

The next talk was on “Fedora Flatpaks” by Felipe Borges. He explained about Flatpaks, how to create them using existing Fedora rpms (demo). The documentation is available on Fedora docs website.

Day 3:

The third day started with the single session “The Fedora Summer Coding project showcase and meet-up” where all the interns have shown their work and then mentors panel discussed about mentorship process.

After Lunch I participated in “Fedora Internationalization CI and Test cases” hackfest where Jens introduced the audience about current status of CI and test cases for i18n. Then we discussed about i18n Changes we had in F30 and now in F31 which needs more attention and thus we endup with discussing what different kinds of test cases we can have for those Changes as well.

Then I attended Packit workshop. This is the first time I came to know more about this topic from its developers. Its developed to auto maintain upstream projects into Fedora. More on this can be also read in this blog.

Day 4:

There was a “Meet your FESCo”  session where attendees got a chance to directly interact with FESCo members. Many topics were discussed in this panel discussion.

The last session of the Flock was “Flock Wrap-Up and Team Report-Out” where individual group leaders provided their outcome from their project discussions happened in this Flock.

Overall this Flock, the main topics discussed were Fedora Modularity, Fedora CI, Fedora Silverblue, Fedora CoreOS projects. 

A Big thanks to Brian Exelbierd, Matthew Miller, Jen Madriaga and all other organizers who made this Flock a successful conference this year as well.

Flock 2018

This year Flock conference happened in Dresden, Germany from 8th to 11th August. We had some issues getting Visa approval in first attempt but we got it in the later attempt. This created some tensions like whether some of us will miss the conference or not. But finally we got to attend this conference.

The travel did not happen smooth, we got delayed to reach conference venue but good that we reached safe with our luggage bags with us.

The conference started with a welcome note by Brian Exelbierd and followed by the first session “State of Fedora” keynote. This was a nice presentation which provided overview about what is happening in the Fedora project. Matthew Miller presented some statistics of the Fedora project on Update server connections, traditional vs module repository usage, Contributors join by release. After that all other project leaders presented about their current work status.

After the coffee break, next session attended was on the relationship between Fedora, RHEL, and CentOS projects and how they are related to each other. Nice session who want to know how each project gets developed , released and gives support to its users. I then attended few more sessions. The last session attended today was on Fedora Silverblue where Michael Scherer shared his experience of using the Fedora Silverblue. Fedora Silverblue is an upcoming workstation variant which is based on Project Atomic. Mainly focused for using containers. The Fedora 29 Change has been proposed for this variant.

The next day attended few talks and gave demo on transtats-cli tool. This tool is written in python and it provides commands to interact with transtats server. The output of commands can be obtained in json as well as normal text format. The other talk was on Modularity release train where I got to know more about modularity release process. In the Fedora CoreOS talk discussion happened on how Fedora CoreOS is getting developed. It will replace Fedora Atomic Host in Fedora 30. Detailed discussion happened for Fedora Atomic Host and Container Linux.

The third day was more interesting as I attended Flatpaks session by Owen Taylor. Its like a container. More information is getting updated here. Soon users can build their own flatpaks on koji and work is going on for this currently. Flatpaks are easy to install and use. Just enable the required repository and pull the flatpaks on your system and start using it. Then post lunch attended i18n hackfest session.

On the last day, I attended talk on new development “Fedora messaging”.Fedora infrastructure team is working on this and trying to make Fedora’s messaging infrastructure easier.

The other talk was also from Fedora Infrastructure teamon deploying applications on Fedora Openshift instance. Got to know details on issues, things to take care while deploying applications on Openshift.

About the conference organization

I really like the way this conference has been organized. Everything happened on time without delays. Hotel room was nice, hotel place was convenient and near to local transport stop.Lunches, breaks for Coffee,social events all was good.

Thanks to the organizers for organizing this Flock conference. Thanks to Fedora Project as well for sponsoring my trip.

i18n FAD, Pune

Last week we had our first i18n Fedora Activity Day (FAD) in Red Hat, Pune office. Two years back we had G11N FAD which included many different groups working together but this time we decided to have only i18n FAD to concentrate more on i18n development and quality engineering.

For this FAD we got 14 participants and six of them were from different parts of the world. We had FAD for 3 days (20-22 Nov).

Day1

We start this day with the introductions where every participant introduced and talked about their work and what they want to achieve by attending this FAD.  This first day attendee’s presented their work on various different topics. We got seven such topics.

 

The first topic was fonts and rendering where Tagoh-san discussed upcoming development for fontconfig , fonts-tweak-tool and revisiting for default font for CJK. Next Peng Wu discussed plans about enhanced Unicode support in Pango. Takao Fujiwara discussed his work for ibus 1.6 release and emoji support.

We then had a lunch break. Then Mike Fabian presented new work in ibus-typing-booster and emoji-picker demo. Rafal then presented brief his work on locales. One of the important thing i18n team working is Transtats project for which Sundeep Anand then presented transtats demo. I then presented transtats-cli demo which is a tool to parse json data coming from server. Sundeep then discussed his plans for upcoming transtats project.

We got QE people as well presenting their work. Sachin presented testing using Selenium and Allure. Pravin Satpute presented fonts testing then Pooja Yadav presented input method testing work. Few more QE people presented their work on Fedora test day. Lastly Vishal presented i18n web testing.

We had a really good day today where all people presented their work and their plans for next two days of FAD.

Day2

We started early today. The attendee’s interested in common topics formed the groups and started working on their plans.  I worked on creating fonts audit list where license and other metadata information is extracted from actual installed font file.  This information is now updated for Fedora 27 on this wiki page.  There is another wiki page created for license matrix for Fedora 27 fonts.  I then worked on helping with task of updating the font package rpm spec templates. Last month only I got fontpackages upstream project migrated to pagure.io hosting. I submitted PR that updated long time pending changes that reflected current packaging guidelines.

Other groups keep working on their tasks. We then had some evening activity followed by dinner.

IMG_20171121_171327

Day3

On this day we continued our work from previous day. Thanks to Tagoh-san for quickly reviewing the PR I submitted for fontpackages and provided inputs which got fixed quickly and that PR also got merged upstream. Now next task is to clean some more code and maybe release new upstream tarball.

Post lunch we had a Fedora 27 release party organized by few of us with the help of Pune office site team. We did a cake cutting followed by discussion on Fedora 27 release, Modularity project, need of having regular Fedora meetups locally.

At the time of evening we concluded FAD after everyone gave a demo of their work and decided to continue our work in the respective upstream projects.

Overall we had a really great FAD and we got opportunity to have QE people this time with us where we worked together on some topics.

Thanks

Thanks to Fedora Council for approving this FAD budget and Bex for helping us with all kinds of budget issues. I am thankful to other organizers Pravin and Sundeep for helping with many things required for this FAD. I am thankful to Jens as well for reviewing the FAD budget and organization of this FAD. Also, thanks to Red Hat Pune Site for providing us space to host this FAD.

 

Flock 2017

This was my second Flock conference. The last Flock I attended was in 2014. This time it happened in CapeCod, MA, US from 29th August to 1st September. This Flock was also a nice experience.

This time there was no keynote session (as per schedule and also as told on flock-planning list) but the only first talk for day 1 was “Fedora State of the Union” from Fedora Project Leader Matthew Miller.

IMG_20170829_182337

He talked about history of Fedora releases their usage, downloads per release in graphs. One of the graph showed number of IP connections to Fedora update servers is getting increased per release, another graph Geologic Eras of Fedora showed which Fedora release series was used most by users. He then given importance that Fedora Atomic CI and Fedora Modularity are the upcoming development in Fedora.

I attended some talks and Do-sessions from which I will write here for few of them.

Workshops

I attended workshop on “Become a Container Maintainer“. This was a very useful workshop. I have been doing a package reviewing for many years now. Fedora project added namespaces in PkgDB which enabled containers, modules which made adding containers and modules easy in Fedora. For the last few months I found few Container specs that is Dockerfiles have been submitted for reviews.  I was interested in trying reviewing few of Containers but did not get time but after attending this workshop, I got to know few concepts that Fedora has introduced while writing Dockerfiles for Fedora containers. During workshop we formed a group of 2 peoples and asked to write a Dockerfile for whichever software we want to containerize. Then our dockerfile has been given to another group for review. This was very helpful exercise. Hopefully I will look more into Container guidelines and try reviewing Dockerfiles getting submitted to Fedora. Thanks to Adam Miller and Josh Berkus for such a nice workshop.

Another workshop I attended was “Atomic Host 101“. For this workshop Dusty already provided needed lab files and images that I already downloaded day before. So it was easy start for me for this workshop. Dusty first gave introduction to Atomic concept. The workshop was divided into parts. Starting with preparing for this workshop as part0 to containerizing applications as part05. If someone want to follow this workshop stepwise then start with this blog post. This workshop provided how to use rpm-ostree commands, few things about container storage, how one can upgrade or rollback atomic host, some commands to try the experimental features Atomic is providing currently.

Talks

One of the talk I attended was “New Container Technologies” where Dan Walsh presented about new things coming for Containers. He discussed about Open Container Initiative (OCI) which is designing open standard for containers, Skopeo project which provides pulling container images from remote registries, images information. Then he discussed about image signing goals, System containers which can be installed by atomic command where skopeo is used to pull image and ostree to store image layers on disk. Then he discussed about standalone containers, container image development tools buildah. Then he gave some introduction to CRI-O project and shown some kpod tools which is management tools for CRI-O. This was one of the good session to know what development is happening for containers currently.

Another talk I attended was “Automate Building Custom Atomic Host with Ansible”  where Trishna Guha talked about architecture of Atomic host, conventional way of 8 steps on how to compose own tree. Then she explained how this much 8 steps work can be simplified with the usage of Ansible. With the use of Ansible it become already easy to deploy things now.

Conference Organization

This time Flock was organized differently that mean specific topic wise tracks. These tracks were having a mix of Do-Sessions and Talks (and 2 hrs lunch break daily). I like the concept of such schedule but then I saw some advantages and disadvantages. The advantage I saw that 2+ hours Do-Sessions proved to be very productive. As it was for longer duration and covered the given topics in detail, the attendees got that topic learned in detail. But for few such sessions there was another parallel good talks were going that I could not attend. The point I want to say here is that if there are only talks in parallel then one can choose one and skip others and can watch video later. But when you need to choose between one 2 hours workshop vs one or few talks then it becomes difficult. Also, one can say here that I can just attend workshops and watch videos of talks later but then you will loose chance to listen to the session presenter and if you got some queries then you can resolve it at the same time in the talk session.

Final words

Overall Flock was a nice experience. All we saw people were talking about these words only Atomic, Containers, Modularity. One of the good thing was the session “Advertise your session” on first day where I got a chance to see every session owner and also got to know about what they have planned for their session. Another good thing was on last day, last session where people talked about what they achieved and what they have planned for future. Also, first 3 days were having 2 hours of lunch break which really proved good to discuss some topics with other Flock attendees. Keep these things for next Flock also.

My suggestion for future Flock conference will be to keep only talks in parallel for say 2 or more days and rest of day workshops or daily morning session talks and post lunch workshops but not to mix them.

I want to thank to Flock organizing committee for such a nice selection of hotel and conference venue. I liked it much. Also thanks to Red Hat for sponsoring my air travel to this Flock.

 

Summary report on FUDCon APAC, Phnom Penh

This year FUDCon APAC happened in Phnom Penh, Cambodia for two days 5th and 6th of November. This FUDCon happened as part of bigger conference called as BarCamp, ASEAN 2016. This BarCamp happened at Norton university from 4th to 6th November.

On the first day of this BarCamp/FUDCon when we reach to the venue, we found it to be very nice place, full of people like students, volunteers, banners of BarCamp everywhere. It was a five floor building and the inauguration talk happened at the top 5th floor where all the honourable guests including Brian Exelbierd, Fedora Community Action and Impact Coordinator talked about FOSS.

img_20161105_084743img_20161105_073536

img_20161105_073405img_20161105_082701

The actual FUDCon talks were started by 11.00 AM on the second floor. We got mostly 3 parallel talks on both the days. The talk selection was good it covered all the areas where Fedora is growing.

I attended the first talk by Kanika on “Programming with Rust” where she explained about Rust, how to install it on Fedora, write a program in Rust and compile it, run it. Then we had a nice lunch. The second talk was by me on “How to Globalize your software?” where I explained what globalization is, its advantages and disadvantages. I also gave a link to my github project where people can clone it and take the small exercise stepwise to learn on how to add globalization to any software. Then I attended Alex Eng’s “Zanata – Translation Platform” talk where he explained nicely about Zanata platform, its upcoming features, different Zanata instances and Zanata client tools.

In the same room then I attended talk on “Web VR on Fedora” by Sumantro. He gave a nice talk on how to use Virtual Reality on Web. He used some javascript library and explained how to experience VR with HTML code. He showed how to build VR scenes. The Last talk we attended was by Anwesha on “A walk of licenses in Fedora Ecosystem”. Anwesha explained licenses used in Fedora packages. She also showed us a nice graph about which licenses Fedora packages are using.

That concluded first day of the FUDCon.

The second day started early at 9 AM. It was raining heavily and it continued till the evening. The first talk I attended was by Noriko on “How you can help us get Fedora to World?” where Noriko gave a talk on how translators can help to translate Fedora. During the talk Sirko gave an overview of Asian countries and their translation teams status. It was a useful discussion that provided the current situation of translators and what more need to be done to increase the translators. Then the next talk was by Sayan who explained “Exploring Fedora Infrastructure” by giving examples of Fedora applications Hubs and Pagure, their coding design, some common functions used in both application codes, alembic usage etc.

Kushal gave talks on “Testing Fedora Atomic hosts in an automated way” where he gave demo of how Tunir tool can be used to test Fedora Atomic hosts and how he got an idea to develop Tunir. We break for lunch and then I attended “Fedora QA” talk by Sumantro where he gave overview of Fedora QA, testing process, bodhi and its usage. The next talk I attended was again by Kushal on “Writing your first automated test for Fedora Atomic” where he explained how to write tunir tests. The last talk of the day for me was given by Jens Petersen on “Flatpak applications for general distribution” where Jens explained flatpak concept, its usage, sandboxes, how to build any flatpak app.

That concluded last day of the FUDCon. I did miss some talks as I attended other talks at the same time. We then immediately moved to FUDPub venue where we had our social event. It was a nice place.

photo953958244587513777

Speakers Group Photo by Tommy He

This was my first BarCamp conference also that I attended. Some of the good things I observed about this FUDCon

  1. Venue place was good
  2. Many many BarCamp volunteers to help
  3. Volunteers used to paste the talk information page to room door just at the start of the hour.
  4. Thankfully no shortage of free water bottles
  5. Many attendees were come to this BarCamp event
  6. Single person organized FUDCon event (Sirko Kemter)

Also, thanks to BarCamp organizers who gave some gift to the session speaker at the end of their talk.

Some of the missing things I observed in this FUDCon

  1. No Fedora swags given at all
  2. No conference speaker badges provided
  3. No talk recordings happened

Overall we were around 22 speakers who gave 30 talks in this FUDCon 🙂

Thanks to FUDCon organizer Sirko Kemter for giving me the opportunity to speak at the FUDCon APAC event and thanks to Brian for quick processing of the travel funding. I also would like to thank Yekleang Dy for her help in organizing local logistics for this event.

dnf-langpacks plugin retired from F25

Last release we implemented new way of installing langpacks packages using RPM’s weak dependency feature. The dnf-langpacks plugin commands thus become not retire dnf langpacks plugin package called dnf-langpacks in rawhide(f25+).

Those who still want to know what is current way of installing language packages please check this test case page.

I have also submitted a pull request for fedora-comps to remove dnf-langpacks package from “standard” as well as “workstation-product” group.

Migrate manually your fedorahosted git repository to Pagure

I see Pagure has been progressed a lot and is in a very good state that one should use it for their own project hosting.  I was in need to update my project on fedorahosted and realized why not start using Pagure now. I decided to move my projects there. I was knowing how to move source repositories by adding remote repository. I created empty repository on Pagure and then pulled remote source repository into it. I just did that but realized it did not bring all branches and tags. I then got help from Vivek and Farhaan and with the help of them manually migrated to Pagure.

Let me provide here steps to migrate a project say xyz on fedorahosted to pagure. Let’s assume you have your git repo at https://git.fedorahosted.org/git/xyz.git

checkout locally this fedorahosted repository as

git clone ssh://<FASID>@git.fedorahosted.org/git/xyz.git

Check the branches status

$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/feature1
remotes/origin/feature2

Checkout remote branches locally if you have any. You need to ensure all remote branches are locally available. We found how to do this from this stackoverflow question page

$ git branch -r | grep -v ‘\->’ | while read remote; do git branch –track “${remote#origin/}” “$remote”; done
fatal: A branch named ‘master’ already exists.
Branch feature1 set up to track remote branch feature1 from origin.
Branch feature2 set up to track remote branch feature2 from origin.

Then just fetch branch information

$ git fetch –all
Fetching origin

Now, create a new project with same name on Pagure by filling this form.

Suppose you created your project as https://pagure.io/xyz

Now as we have got all the branches locally, next we  add this pagure git repository as remote to fedorahosted xyz project

$ git remote add upstream ssh://git@pagure.io/xyz.git

Then we push all the local branches to remote pagure’s xyz project

$ git push –all upstream
Total 0 (delta 0), reused 0 (delta 0)
To ssh://git@pagure.io/xyz.git
* [new branch]      feature1 -> feature1
* [new branch]      feature2 -> feature2

but above command only pushed all the local branches including master but not any tagged sources. To do that execute following

$ git push upstream –tags
Counting objects: 24, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (24/24), done.
Writing objects: 100% (24/24), 3.75 KiB | 0 bytes/s, done.
Total 24 (delta 9), reused 15 (delta 0)
To ssh://git@pagure.io/xyz.git
* [new tag]         1.4.1 -> 1.4.1
* [new tag]         2.0.0 -> 2.0.0
* [new tag]         2.1.0 -> 2.1.0
* [new tag]         2.2.0 -> 2.2.0
* [new tag]         2.3.0 -> 2.3.0
* [new tag]         2.4.0 -> 2.4.0
* [new tag]         2.4.1 -> 2.4.1
* [new tag]         2.4.2 -> 2.4.2
* [new tag]         3.0.0 -> 3.0.0
* [new tag]         3.1.0 -> 3.1.0
* [new tag]         3.2.0 -> 3.2.0
* [new tag]         3.3.0 -> 3.3.0

Above all steps will migrate your fedorahosted project git source repository including all remote branches and tagged sources to pagure.