Contribute to Atomic Host Documentation

The post describes how you can contribute to Atomic Host Documentation. If you do not know what Atomic Host is, please refer to: http://www.projectatomic.io.

Atomic Host Documentation focuses on covering Docs required for Atomic Host Introduction, Installation, Cluster set up with Kuberenetes/Openshift etc to how to compose, manage and deploy Atomic Host and its various application.

Atomic Host Documentation will also support Fedora Atomic Documentation and CentOS Atomic Documentation within the same repository in near future as AsciiBinder has ability to build Docs with multiple distros and versions.

Requirements:

  • AsciiDoc markup language to write Docs.
  • Asciidoctor that acts as text processor to convert AsciiDoc content to HTML5, DocBook and others.
  • AsciiBinder that helps to build, maintain documentation in easier way.

Set up Development Environment:

The following creates development environment and installs required libraries/packages on your local system which are required in order to write/build Doc for Atomic Host.

$ sudo dnf install ansible
$ git clone https://github.com/projectatomic/atomic-host-docs.git
$ cd atomic-host-docs/
$ git checkout -b branchname
$ ansible-playbook setup.yml --ask-sudo-pass

How to Write Doc:

Atomic Host Documentation uses AsciiDoc markup language. You can have a look at the Reference for AsciiDoc Syntax.

The following procedure demonstrates how you can write and build Doc.

$ mkdir container
$ touch container/overview.adoc

 

container/overview.adoc

[[container-overview]]
= Container Overview
{product-author}
{product-version}
:data-uri:
:icons:

Container contains applications in a way to keep itself isolated from the host system that it runs on and
container allows developer to package an application with all of it parts, such as libraries and other packages
it needs to run and ship it all as one package.
I love Containers!!!

 

After the Doc is ready, we need to make entry in topic_map.yml file. This file tells AsciiBinder which topic groups and topics to generate.

_topic_map.yml

---
Name: Tools
Dir: container
Topics:
  - Name: Overview
    File: overview

 

Now go to the root directory of the repo. The following command will build the Documentation.

$ asciibinder

Verify:

A new directory will be created named _preview. You will be able to browse Documentation from there that you just build.

This is how it will look like after the Doc is build:

contribution-guide-demo

Join and Help:

If you are looking forward to contribute to Atomic Host Docs, this URL contains the issues based on the topics that is required to be documented: https://github.com/projectatomic/atomic-host-docs/issues.

Mailing list:

IRC: #atomic on Freenode server.

Fedora Women Day 2016

CnZe3pLUAAAwGrm (1)

Fedora Women Day is celebrated to raise awareness and bring Fedora women contributors together. This is a great time to network with other women in Fedora and talk about their contributions and work in Fedora Project.

The event was held at Netaji Subhash Engineering College (NSEC) in Kolkata, India on 15th July, 2016.

Fedora Women Day was also celebrated in Pune, India and Tirana, Albania. https://fedoraproject.org/wiki/Fedora_Women_Day_2016#Local_Events

The event started at 10:30 AM. Women started coming in and it was pretty nice crowd.

The event started with my talk. It was my first talk so I was really excited.

I talked about Fedora Women Day and the purpose. Then I started talking about the work I do in Fedora Project. Most of the part of my talk was regarding Fedora Infrastructure and Fedora Cloud.

Since my most of the contributions lie in Bodhi(Fedora Infrastructure) and Tunirtests(Fedora Cloud) so I specifically gave some insight on these projects. I explained the architecture of Bodhi and Tunirtests and how one can start contributing those specific projects.

I also shared my story on how I started contributing to Fedora Project.

Here is the slide of my talk: trishnaguha.github.io/trishnagslides-what-i-do-in-fedora-how-can-you-get-involved.html

After few hours of my talk I had to leave early for some urgent work. You will find the full event report here: Event Report.

I received Fedora stickers, F24 workstation DVD and Fedora T-shirt, but not sure I can put the T-shirt on, it seems so large :(.

Jpeg

Another Way To Push Package Updates To Stable In Fedora-Bodhi

Screenshot from 2016-06-16 23-00-10

Bodhi is a web application that facilates the process of publishing package updates of Fedora. Once a package is submitted to Bodhi it goes through various stages: Pending, Testing, Stable, Obsolete. The details can be found here Package States.

There exist two types of policies in Bodhi, using any of them maintainers can publish their package updates (Pushing updates to Stable from Testing). Updates Policy documentation: https://fedoraproject.org/wiki/Updates_Policy

Updates Policy in Bodhi:

  • Manually push to stable based on time :
    • Auto-karma is disabled.
    • Update spends 14 days in testing.
    • Maintainer pushes the update to stable manually.
  • Automatic push  to stable based on karma :
    • Auto-karma is enabled.
    • Stable Karma threshold is reached.
    • The update is pushed to stable automatically.

The policies above are used to update packages, pushing from testing state to stable state. We could also have one more way to push package updates that Bodhi doesn’t have yet. It could be structured like this:

Manually push to stable based on karma:

  • Auto-karma is disabled.
  • Stable Karma-threshold is reached.
  • Maintainer pushes the update to stable manually.

The maintainers have always wanted this policy to be in Bodhi. There are already two tickets for the same, https://github.com/fedora-infra/bodhi/issues/796 and https://github.com/fedora-infra/bodhi/issues/772

I decided to work on the ticket. We had to remove some major lines of code from the model that implemented the already existing policies of Bodhi. I kept my fingers crossed until the test suite runs with success 😛 And yes it showed  all the tests ran ok ;). Lmacken helped me with continually reviewing my patch and clearing my doubts. The Commit can be found here https://github.com/fedora-infra/bodhi/commit/45f288ae3992d29f3388c627554cc35286a958fb and The PR here https://github.com/fedora-infra/bodhi/pull/821.

Lmacken has always said, “Deleting huge chunks of code is way better than writing more code”. He has guided me to delete that chunks of code :).

I learned it is always good to remove lines of code from your codebase if that doesn’t break any feature. The tweet that always have inspired me 🙂

The code is already merged. Once Lmacken spins up a new release it will get in to staging for further testing. I hope that Fedora package maintainers will be happy soon :-).

 

My first contribution to Fedora: Getting started

I am now contributing to fedora. I am blogging this since it is my first contribution to fedora. So I am really excited 😛

I have recently fixed an issue of bodhi(python-fedora) of fedora-infra. This is my first bug fix in fedorafedora-infra consists of infrastructure applications, building tools, utilities and creating new applications to make fedora development a smoother process. kushal told us to open a FAS account to contribute for  fedora and provided some links including an easyfix link for beginner. So thanks to kushal and dgplug for making it my first fedora contribution ^_^ . whatcanidoforfedora has lots of options to get started with fedora contribution. The channel #fedora-apps is a perfect channel to get started with fedora-infra contribution.

Looking forward to contribute more to fedora  :).

Keep an eye on mygithub to stay updated with my open source contributions ;).