From Fedora Project Wiki
m (add "Why This Project" section)
(change project and provide description for the new one)
Line 1: Line 1:
[[category:Summer coding 2017]]
[[category:Summer coding 2017]]


== Quick Introduction ==  
== Synopsis ==  


The goal of this project is to provide centralized metrics for Fedora.
The 389 Directory Server is an enterprise class LDAP server, used in businesses globally to authenticate and identify people. A python administration framework, lib389, have been designed recently to replace legacy existing perl tools. lib389 contains tools and libraries for testing and interacting with the 389 Directory Server. The purpose of this project is to pick an existing 389 DS plugin and write the parts into lib389 to manage it.
 
The Federated Message Bus or simply [http://www.fedmsg.com fedmsg] is a python package and API defining a brokerless messaging architecture to send and receive messages to and from [https://apps.fedoraproject.org/ Fedora applications]. For example, once a branch of a package is successfully built in [[Koji|koji]] a message will be emitted on the bus.
 
[https://apps.fedoraproject.org/datagrepper/ Datagrepper] let us query for all kinds of historical data from fedmsg. It provides us with a JSON API for fedmsg which can be utilized by using HTTP GET requests. Many scripts are using this API to generate useful metrics. An example query for datagrepper could request all messages from the past 2 days that have been emitted from the wiki from a specific user.
 
== The Problem ==
 
There are applications that have to make a dozen or more requests to datagrepper to try and find the 'latest' events from large awkward pages of results. Unfortunately, this process is very slow. Consequently, datagrepper is insufficient for some more advanced reporting and analysis that we would like to do. 
 
At the moment, metrics collection in [[CommOps]] are collected using scripts which query the datagrepper API. This is very time consuming and requires a lot of manual work. After all, writing hacky scripts every time is a tedious process.
 
== The Solution ==
 
To solve the above mentioned issues, [https://github.com/fedora-infra/statscache statscache] was built. Statscache is a daemon that sits listening to fedmsg-hub waiting for messages. When new messages arrive, it will pass them off to plugins that will calculate and store various statistics. If we want a new kind of statistic to be kept, we just write a new plugin for it. With statscache, we intend to have a centralized source for all metrics generation. By building on top of it, we can significantly reduce the number of scripts required to gather metrics to almost 0.  
 
At the moment, statscache has no plugins for community related metrics.
 
The main purpose of this project is to build these plugins. Other goals include the development of a nice web interface for generating statistics, as well as the deployment of statscache along with the final deliverables on infracloud.
 
== Benefits for Fedora ==
 
* A centralized source for all metrics generation.
* Useful metrics and statistics for FAS groups, users, events and more.
* Ability to generate and study weekly/monthly/quarterly/yearly reports.
* Statistics in different formats (csv, svg, etc.).
* Eliminate the need to write scripts every time.


== Schedule and Milestones ==
== Schedule and Milestones ==

Revision as of 19:16, 2 April 2017


Synopsis

The 389 Directory Server is an enterprise class LDAP server, used in businesses globally to authenticate and identify people. A python administration framework, lib389, have been designed recently to replace legacy existing perl tools. lib389 contains tools and libraries for testing and interacting with the 389 Directory Server. The purpose of this project is to pick an existing 389 DS plugin and write the parts into lib389 to manage it.

Schedule and Milestones

Implementing X -- first milestone (8 weeks)

Coding this (1 week)

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.

Documenting that (1 week)

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

About Me

My name is Ilias Stamatis. I am a CS student in my final (4th) year at the Alexander Technological Institution of Thessaloniki, Greece.

I am a FOSS enthusiast and I have been actively contributing to the open source community for the last several years.

I have been using Linux for the last 7 years. I started with Ubuntu and then moved to Arch where I have stayed for 5 years now. In the meantime I am experimenting with a lot of different distributions. Although I had no prior experience with Fedora, I quickly set up my working environment on it and read Fedora-specific topics from the official documentation and the wiki pages. I'm here to stay!

Multilingual in Greek (Native), English (Fluent) and Spanish (Conversational).

Experience and Contributions

Projects

The majority of my personal projects (mostly written in Python, C and Java) can be found on my personal github profile: https://github.com/Ilias95

Example projects:

A graphical front-end for multimedia conversions on Linux developed using python and pyqt5.

This is the most successful open-source project of mine, since it has a continuously growing user base. It has also been packaged by the open source community for all popular Linux distributions and it has been translated to more than 20 languages.

Implementation of a complete TFTP server using python and following the RFC 1350.

A dynamic web application developed using django and modern web technologies such as AJAX, JQuery and Bootstrap.

Arch Linux Contributions

Why Fedora

I love Linux and I love Open Source. Fedora is a Linux distribution driven by a massive community made of volunteers around the world. I was always looking forward to making bigger and more significant contributions to such a large open-source project. Everything done here has a significant impact on the whole FOSS community and that motivates me even more. Last but not least, apart from Linux and OSS, I really love python and luckily Fedora seems to be sharing this feeling as well.

Inside Fedora I can offer my skills, knowledge and hard work and I definitely plan to continue contributing after the GSoC period. This will let me obtain new technical skills and gain significant experience on communication and collaboration with users and developers of such a large community.

Why This Project

Lorem ipsum.

Why I Am a Good Fit for This Project

  • Experience with a lot of open-source projects and the Linux ecosystem.
  • Plenty of years of experience with python which is required for this project.
  • Very familiar with collaboration and communication techniques such as version control, issue tracking, IRC, mailing lists, etc.
  • Ability to take on new technologies with ease and quickly become efficient and productive.
  • Really keen to engage with and contribute to such a software team, obtain new engineering skills and gain hands-on experience with real-world situations.
  • FOSS enthusiast.

Other Commitments

I am following only 2 university courses this semester. My examination period is in June (no exact dates yet). I do not have other commitments until the 1st of September so I will be able to focus exclusively on this project.

Contact Info

Ilias Stamatis, stamatis.iliass <> gmail.com

My IRC nick is Ilias95 and you can find me at #389, #fedora-devel and #fedora-python.