Kushal Das

FOSS and life. Kushal Das talks here.

kushal76uaid62oup5774umh654scnu5dwzh4u2534qxhcbi4wbab3ad.onion

Communication tools and submitting weekly reports

I work for Fedora Engineering team. There are around 17 people in my team, and we cover Australia to USA geographically. Most of us are remote, only a hand few members go to the local offices. I did a blog post around 3 years back just after I started working remotely. In this post, I am trying to write down my thoughts about our communication styles.

Communication Tools

IRC is our primary communication medium. I am in around 42 channels dedicated to various sub-projects inside Fedora. We have a few dedicated meeting channels. As all meetings involve community members, the meeting timings are based on the availability of many other people. This is the only thing which is difficult as I have many meetings which go after midnight. Any other discussion where we need more participation and also to keep a record, we use our mailing lists.

A few of us also use various video chat systems regularly. It is always nice to see the faces. As a team, we mostly meet once during Flock, and some get a chance to meet each other during devconf.

Weekly reports

All of our team members send weekly work status updates to the internal mailing list. Sometimes I lag behind in this particular task. I tried various different approaches. I do maintain a text file on my laptop where I write down all the tasks I do. A Python script converts it into a proper email (with dates etc.) and sends it to the mailing list. The problem of using just a plain text file is that if I miss one day, I generally miss the next day too. The saga continues in the same way. Many of my teammates use taskwarrior as TODO application. I used it for around 6 months. As a TODO tool it is amazing, I have a script written by Ralph, which creates a very detailed weekly report. I was filling in my text file by copy/pasting from the taskwarrior report. Annotations were my main problem with taskwarrior. I like updating any TODO note on a GUI (web/desktop) much more, than any command line tool. In taskwarrior, I was adding, and ending tasks nicely, but was not doing any updates to the tasks.

I used Wunderlist few years back. It has very a nice WEB UI, and also a handy mobile application. The missing part is the power of creating reports. I found they have nice open source libraries to interact with the API services, both in Python and also in golang. I have forked wunderpy2, which has a patch for getting comments for any given task (I will submit a PR later). Yesterday I started writing a small tool using this library. It prints the report on STDOUT in Markdown format. There is no code for customization of the report yet, I will be adding them slowly. My idea is to run this tool, pipe the output to my report text file. Edit manually if I want to. Finally, I execute my Python script to send out the report. In the coming weeks I will be able to say how good is this method.

Atomic Working Group update from this week's meeting

Two days back we had a very productive meeting in the Fedora Atomic Working Group. This post is a summary of the meeting. You can find all the open issues of the working group in this Pagure repo. There were 14 people present at the meeting, which happens on every Wednesday 5PM UTC at the #fedora-meeting-1 channel on Freenode IRC server.

Fedora 26 change proposal ideas discussion

This topic was the first point of discussion in the meeting. Walters informed that he will continue working on the Openshift related items, mostly the installer, system containers etc, and also the rpm-ostree. I have started a thread on the mailing list about the change idea, we also decided to create a wiki page to capture all the ideas.

During the Fedora 25 release cycle, we marked couple of Autocloud tests as non-gating as they were present in the system for some time (we added the actual tests after we found the real issue). Now with Fedora 25 out, we decided to reopen the ticket and mark those tests back as gating tests. Means in future if they fail, Fedora 25 Atomic release will be blocked.

The suggestion of creating the rkt base image as release artifact in Fedora 26 cycle, brought out some interesting discussion about the working group. Dusty Mabe mentioned to fix the current issues first, and then only jump into the new world. If this means we will support rkt in the Atomic Host or not, was the other concern. My reaction was maybe not, as to decide that we need to first coordinate between many other teams. rkt is packaged in Fedora, you can just install it in a normal system by the following command.

$ sudo dnf install rkt -y

But this does not mean we will be able to add support for rkt building into OSBS, and Adam Miller reminded us that will take a major development effort. It is also not in the road map of the release-infrastructure team. My proposal is to have only the base image build officially for rkt, and then let our users consume that image. I will be digging more on this as suggested by Dusty, and report back to the working group.

Next, the discussion moved towards a number of technical debts the working group is carrying. One of the major issue (just before F25 release) was about missing Atomic builds, but we managed to fix the issue on time. Jason Brooks commented that this release went much more promptly, and we are making a progress in that :) Few other points from the discussion were

  • Whether the Server working group agreed to maintain the Cloud Base image?
  • Having ancient k8s is a problem.
  • We will start having official Fedora containers very soon.

Documentation

Then the discussion moved to documentation, the biggest pain point of the working group in my mind. For any project, documentation can define if it will become a success or not. Users will move on unless we can provide clearly written instructions (which actually works). For the Atomic Working Group, the major problem is not enough writers. After the discussion in the last Cloud FAD in June, we managed to dig through old wiki pages. Trishna Guha is helping us to move them under this repo. The docs are staying live on https://fedoracloud.rtfd.io. I have sent out another reminder about this effort to the mailing list. If you think of any example which can help others, please write it down, and send in a pull request. It is perfectly okay if you publish it in any other document format. We will help you out to convert it into the correct format.

You can read the full meeting log here.

Looking back at Fedora 25 Atomic release

We have Fedora 25 released a few days back. Along with various editions, we also have the Atomic edition out. This release is special for few points, one of them is being the first release from the Atomic Working Group. The another major point is a release where Cloud Base image, and the Atomic image + Vagrant boxes were fully tested by Autocloud project in the whole release cycle.

Sayan did a tremendous work in redoing the Autocloud front-end, which many of us use to keep an eye on the builds. Yes, we do test our nightly builds on Autocloud. You can also keep an eye on this by using Fedora Notifications system. This automated testing was the major reason behind finding no surprises during Cloud/Atomic test day in the F25 cycle. Through the development cycle of Fedora 25 Autocloud kept finding the network related issues, or whenever the image refused to boot cleanly. Dusty Mabe, and our excellent QA team helped us to mark those issues into right bugs, and then with help from the developers, we managed to get them fixed on time. Adam Williamson also has an OpenQA setup where the ISO image gets automatically tested.

The test cases for the same are written as Python 3 unit tests. You can find them here. Feel free to come to the #fedora-cloud channel, and suggest any changes, or you can directly submit Pull Requests.

Another on-going work is related to documentation. We are trying to get all the docs here for our users. But we need more eyes on this. If you have any use case in mind, feel free to send us a patch/PR. Trishna Guha (IRC: trishnag) is another person whom you may want to talk about any queries you have.

Updates from PyCon Pune

PyCon Pune

This will be the first year for PyCon Pune. This will give us a chance to meet our friends, discuss, and work on the language we all love :)

Event date: 16-19th February, 2017.

Location: Pune, India

Format: 2 days of main conference, 2 days of devsprints.

All Keynote speakers have been announced

We finally managed to announce all of our keynote speakers. I am putting up the names below. But you can learn more about them from the speakers page.

CFP is still open for two more days

We have our CFP still open for 2 more days, till 30th November, 2016. Feel free to submit any talk you think you want to present. The event is a single track event, means everyone will get a chance to see all the talks. This also means we have a tougher job in selecting talks :)

Registration is also open

The registration for the conference is also now open. As expected, the 4 days tickets (including devsprints) were sold out super fast. We still have main conference tickets left. Currently the only way to register for devsprints is through supporter ticket, which is also very limited in number. So remember to register fast :)

Science Hack Day India 2016

Few months back Praveen called to tell me about the new event he is organizing along with FOSSASIA, Science Hack Day, India. I never even registered for the event as Praveen told me that he just added mine + Anwesha's name there. Sadly as Py was sick for the last few weeks, Anwesha could not join us in the event. On 20th Hong Phuc came down to Pune, in the evening we had the PyLadies meetup in the Red Hat office.

On 21st early morning we started our journey. Sayan, Praveen Kumar, and Pooja joined us in my car. This was my longest driving till date (bought the car around a year back). As everyone suggested, the road in Karnataka was smooth. I am now waiting for my next chance to drive on that road. After reaching Belgaum we decided to follow Google maps, which turned out to be a very bad decision. As the maps took us to a dead end with a blue gate. Later we found many localities also followed Google maps, and reached the same dead end.

The location of the event was Sankalp Bhumi, a very well maintained resort, full with greenery, and nature. We stayed in the room just beside the lake. Later at night Saptak joined us. Siddesh, Nisha + Ira also reached later in the evening.

Day 1

We had a quick inauguration event, all mentors talked about the project they will be working on, and then we moved towards the area for us. The main hall was slowly filled with school kids who had a build your own solar light workshop (lead by Jithin). Pooja also joined the workshop to help the kids with soldering.

I managed to grab the largest table in the hack area. Around 9 people joined me, among them we had college students, college professors, and someone came in saying she is from different background than computers. I asked her to try this Python thing, and by the end of the day she was also totally hooked into learning. I later found her daughter was also participating in the kids section. Before lunch we went through the basics of Python as a programming language. All of the participants had Windows laptops, so it was fun to learn various small things about Windows. But we managed to get going well.

Later we started working on MicroPython. We went ahead step by step, first turn on LED, later to DHT11 sensors for temperature+humidity measurements. By late afternoon all of us managed to write code to read the measurements from the sensors. I had some trouble with the old firmware I was using, but using the latest nightly firmware helped to fix the issue related to MQTT. I kept one of the board running for the whole night, Sayan wrote the client to gather the information from the Mosquitto server.

In the evening we also had lighting talks, I gave a talk there about dgplug summer training. The last talk in the evening was from Prof. Pravu, and during that talk I saw someone started a powerful gas stove outside the hut. I was then totally surprised to learn that the fire was not from gas, but using water and some innovative design his team managed to make a small stove which is having 35% efficiency of any biomass, the fire was blue, and no smoke. This was super cool.

After dinner, there was a special live show of laser lights+sound work done by Praveen. Teachers are important part of our lives. When we see someone like Praveen, who is taking the learning experience to another level while being in one of the small town in India, that gives a lot of pride to us. Btw, if you are wondering, he uses Python for most of his experiments :)

Day 2

I managed to move to the hack area early morning, and kept the setup ready. My team joined me after breakfast. They decided to keep one of the boards under the Sun beside the lake, and see the difference of temperature between two devices. I also met two high school teachers from a village near Maharashtra/Karnataka border. They invited us for more workshops in their school. They also brought a few rockets, which we launched from the venue :)

During afternoon Sayan, and Saptak worked on the web-frontend for our application, the following image shows the temperature, and humidity values from last night. The humidity during night was 70%, but during day it was around 30%. Temperature stayed between 20-30C.

Beside our table Nisha was working on her Cookie project. Near the dinning area, Arun, and his group created an amazing map of the resort in the ground using various organic materials available in the location. That project own the best science hack of the event. You can find more about various other details in the etherpad.

The impact of the event

We saw school kids crying as they don't want to go back from the event. Every participant was full with energy. We had people working with ideas on all kinds things, and they came in from all different background. Siddhesh mentioned this event as the best event in India he has even been to. Begalum as a city joined in to make this event a successful one, we found local businesses supporting by sponsoring, local news papers covered the event. The owner of the venue also helped in various ways. By the end of the day 2, everyone of us were asking about when can we get back for next year's event. I should specially thank the organising team (Hitesh, Rahul, and all of the volunteers) to make this event such a success. I also want to thank Hong Phuc Dang and FOSSASIA for all the help.

Tommorow FOSSASIA meets PyLadies Pune

Tomorrow we have a special PyLadies meetup at the local Red Hat office. Hong Phuc Dang from FOSSASIA is coming down for a discussion with the PyLadies team here. She will be taking about various projects FOSSASIA is working on, including codeheat. In the second half I will be taking a workshop on creating command line shell using Python.

On Friday we will be moving to Belgaum, Karnataka, India. We will be participating in Science Hack Day India, the idea is to have fun along with school kids, and build something. Praveen Patil is leading the effort for this event.

Event report: PyCon India 2016

This time instead of per day report, I will try to write about things happened during PyCon India. This time we had the conference at JNU, in Delhi. It was nice to be back at JNU after such a long time. The other plus point was about the chance to meet ilug-delhi again.

Red Hat booth at PyCon

We had booth duty during the conference. Thanks to Rupali, we managed to share the booth space with PyLadies. After the keynote the booth space got flooded with people. Many of them were students, or freshers looking for internship option. We also had queries about services provided by Red Hat. Just outside the booth we had Ganesh, SurajN, Trishna, , they were talking to every person visit our booth. Answering the hundreds of queries people had. It was nice to see how they were talking about working upstream, and inspiring students to become upstream contributor. I also did a talk Python usage in Red Hat family.

PyLadies presence

This was the first time we had PyLadies presence in PyCon India. You can read their experience from their blogs, 1, 2, 3. This presence was very important as it helped the community to learn about PyLadies. We saw the expectation of starting new chapters in different parts of the country. Nisha, Anwesha, Pooja, Rupali, Janki and the rest of the team managed to get an impromptu open space session, which I think was the best session on community I ever saw. Jeff Rush, Van Lindberg, Paul Everitt, Dmitry Filippov joined to share their experience in community.

annual dgplug face to face meeting

From dgplug.org we all meet face to face during PyCon India, we generally call the meeting as stair case meeting as we used to seat in the stair case of the Bangalore venue. This time we chose the seat in the ramp in the venue. We had a list of people coming, but as you can see in the photo below, the list of dgplug, and friends is ever growing. Sirtaj also came in during the meeting, and shared some valuable ideas with the students. I should mention VanL's keynote at day one here. As he spoke about "failure", which is something people don't prefer to talk. It is very much important for the students to understand that failure is something to learn from, not to run away. Most of the students we talked later, had being able to understand the points Van made in his talk.

Anwesha's first talk at PyCon

She already wrote about the talk in her blog. But I want to mention it again as it gave a new perspective to the developers present in the conference. For the students present in the conference who wanted to become upstream contributors, got a chance to learn about the binding point, the license. She talked about best practises at the end of her talk. Few days back I read another blog post about her talk (and the PyLadies).

One can view all the photos in my flickr album.

Dgplug contributor grant recipient Trishna Guha

I am happy to announce that Trishna Guha is the recipient of a dgplug contributor grant for 2016. She is an upstream contributor in Fedora Cloud SIG, and hacks on Bodhi in her free time. Trishna started her open source journey just a year back during the dgplug summer training 2015, you can read more about her work in a previous blog post. She has also become an active member of the local Pune PyLadies chapter.

The active members of dgplug.org every year contribute funding, which we then use to help out community members as required. For example, we previously used this fund to pay accommodation costs for our women contributors during PyCon. This year we are happy to be able to assist Trishna Guha to attend PyCon India 2016. Her presence and expertise with upstream development will help diversity efforts at various levels. As she is still a college student, we found many students are interested to talk to and learn from her. So, if you are coming down to PyCon India this weekend, remember to visit the Red Hat booth, and have a chat with Trishna.

One week with Fedora Atomic in production

I was using containers for over a year in my personal servers. I was running a few services in those. For the last one week, I moved all my personal servers into Fedora Atomic, and running more number of services in those.

Server hardware & OS

These are actually VM(s) with couple of GB(s) of RAM, and a few CPU(s). I installed using the Fedora Atomic ISO image (get it from here) over virt-manager.

The containers inside

You can find all the Dockerfiles etc in the repo. Note: I still have to clean up a few of those.

Issues faced

In day zero the first box I installed, stopped printing anything on STDOUT, after a reboot I upgraded with atomic host upgrade command. I never had any other problem still now. So, try to stay updated.

Building my own rpm-ostree repo

My next target was to compose my own rpm-ostree repo. I used Patrick's workstation repo files for the same. In my fork I added couple of files for my own tree, and the build script. The whole work is done on a Fedora 24 container. You can view the repo here. This whole thing is exposed via another apache container. I will explain more about the steps in a future blog post.

What is next?

First step is clean up my old Dockerfiles. I will add up any future service as containers in those boxes. Even though we are automatically testing our images using Autocloud, using this in my production environment will help me find bugs in more convenient manner.

Event report: Flock 2016

This year's Flock was help in Krakow, Poland, from 2nd to 5th August. /me, and Sayan started our journey on 30th from Pune, and we reached Krakow finally on 31st afternoon. Ratnadeep joined us from the Frankfurt. Patrick was my roommate this time, he reached few hours after we reached.

Day -1

Woke up early, and started welcoming people near the hotel entrance. Slowly the whole hotel was filling up with Flock attendees. Around noon, few of us decided to visit the Oskar Schindler's Enamel Factory. This is place I had in my visit list for a long time (most of those are historical places), finally managed to check that off. Then walked back to city center, and finally back to the hotel.

Started meeting a lot more people in the hotel lobby. The usual stay up till late night continued in this conference too. Only issue was about getting up early, somehow I could not wake up early, and write down the daily reports as I did last year.

Day 0

Managed to reach breakfast with enough time to eat before the keynote starts. Not being able to find good espresso was an issue, but Amanda later pointed me to the right place. I don't know how she manages to do this magic everytime, she can really remove/fix any blocker for any project :)

Received the conference badge, and other event swags from registration desk. This one is till date the most beautiful badge I have seen. Mathew gave his keynote on "The state of Fedora". Among many other important stats he shared, one point was really noticeable for me. For every single Red Hat employee who contributes to Fedora, there are at least two contributors from the community. This is a nice sign of a healthy community.

After the keynote I started attending the hallway tracks as usual. I went to this conference with a long of topics I need discuss with various people. I managed to do all of those talks over the 4 days of the event. Got tons of input about my work, and about the project ideas. Now this is the time to make those suggestions into solid contributions.

Later I went into the "The state of Fedora-infra" talk. This was important to me personally, as this gives as easy way to revisit all the infrastructure work going on. Later in the day I attended Fedora Magazine, and university outreach talk.

In the evening there was "Tour of Krakow", but Fedora Engineering team had a team dinner. As this is only time when all of us meet physically. Food was once again superb.

Day 1

As I mentioned before it was really difficult to wake up. But somehow managed to do that, and reached downstairs before the keynote started. Scratch was mentioned in the keynote as tool they use. Next was usual hallway talks, in the second half I attended the diversity panel talk, and then moved to Pagure talk. I knew that there were a huge list new cool features in Pagure, but learning about them directly from the upstream author is always a different thing. Pingou's slides also contained many friends' names, which is always a big happy thing :)

My talk on Testing containers using Tunir was one of the last talk of the day. You can go through the whole presentation, and if you want to see any of the demos, click on those slides. That will open a new tab with a shell console, type as you normally type in any shell (you can type any char), and press Enter as required. I use Tunir to test my personal containers which I run on production. This talk I tried to various such use cases.

At night we went out the river cruising. Before coming back few of us visited the famous Wawel Dragon. I also met Scot Collier for the first time. It is always to meet people with whom you work regularly over internet.

Day 2

It started with lightening talks. I spoke for few minutes about dgplug summer training. You can find the list of talks here. After this in the same room we had "Meet the FAmSCo" session. I managed to meet Gerold, Kanarip, Fabian after 9 years in this Flock. Christoph Wickert took notes, and discussed the major action items in last week's FAmSCo IRC meeting too. Next I attended "Infrastructure workshop", after that as usual hallway tracks for me. I was looking forward to have a chat with Dodji Seketeli about his, and Sinny's work related about ABI stability. Later at night few of us managed to stay up till almost 5AM working :)

Day 3

Last day of Flock 2016. Even after the early morning bed time, somehow managed to pull myself out of the bed, and came down to the lobby. Rest of the day I spent by just talking to people. Various project ideas, demos of ongoing work, working on future goals.

Conclusion

Personally I had a long list of items which I wanted to talk to various people. I think I managed to cross off all of those. Got enough feedback to work on items. In the coming days I will blog on those action items. Meanwhile you can view the photos from the event.