Fedora está orgullosa de haber sido aceptada como una organización de tutoría GSoC.

Si es usted un estudiante buscando participar en Google Summer of Code with Fedora, no dude en navegar por esta lista de ideas. Es posible que se añadan más durante el período de solicitud.

Ahora, por favor, lea la sección Que Puedo Hacer Hoy de la página principale. Esta tiene las respuestas a sus preguntas y le dice como aplicar

No dude en contactar con los mentores o colaboradores listados en esta página para cualquier pregunta o aclaración. Puede encontrar personas útiles en el canal IRC o usar la lista de correo. Puede ser usada para obtener ayuda con problemas de programación.

Mentores de Apoyo

Los siguientes colaboradores están disponibles para proporcionar ayuda y apoyo general para el programa GSoC si un mentor específico está ocupado, puede encontrar uno entre la gente de abajo para una ayuda a corto plazo con su proyecto o tareas, . (Añadanse a ustedes y su página wiki).

  • Sumantro Mukherjee (Desarrollo general, Linux general, comunidad Fedora, antiguo GSoC alumnus, preguntas sobre el programa, consejos generales)

  • Vipul Siddharth (Fedora CI,GCI,GSoC,linux general, comunidad Fedora, misc.)

Lista de ideas

Las ideas están sujetas a cambios a medido que se incorporan mentores adicionales.

Packit puede funcionar con Gitlab

  • Dificultad : Intermedia

  • Tecnología : Python, Flask, Contenedores básicos, API REST

  • Mentor : Frantisek Lachman

  • IRC y Correo-e : Frantisek Lachman [IRC: lachmanfrantisek, flachman@redhat.com]

Descripción

El proyecto Packit (https://packit.dev/) ahora cuenta con soporte nativo exclusivo para GitHub. La comunidad ha recibido numerosas solicitudes para añadir también soporte para GitLab. Así que aquí estamos: ¿te animas a implementar soporte para GitLab en packit-service (https://github.com/packit-service/packit-service) para que pueda procesar eventos de la API de GitLab y devolver feedback de compilaciones exitosas o pruebas fallidas a la solicitud de fusión? Ten en cuenta que GitLab y GitHub utilizan flujos de trabajo ligeramente diferentes (canalizaciones frente a sistemas de integración continua externos), por lo que es necesario realizar el diseño antes de escribir el código.

Los recursos se pueden encontrar en el problema de seguimiento ascendente: https://github.com/packit-service/packit-service/issues/249

Entregables

Como pasante de GSoC, serás responsable de lo siguiente:

  • Código en el repositorio del servicio Packit el cual hace que Packit comprenda los eventos de GitLab

  • Packit es capaz de hablar a un API de servidor GitLab y:

    • Comentario sobre la solicitud de unión

    • Informe de resultados de comprobación (compilaciones, pruebas)

  • Incorpore al menos un solo proyecto de la instancia gitlab de GNOME (https://gitlab.gnome.org/explore/groups) para usar packit.


Panel de control para Packit

  • Dificultad : Intermedia

  • Tecnología: Python, Flask, Contenedores básicos, API REST, diseño web (CSS y JavaScript)

  • Mentor : Hunor Csomortáni

  • IRC y Correo-e : Hunor Csomortáni [IRC: csomh, csomh₊gsoc@redhat.com]

Descripción

El proyecto Packit actualmente cuenta con un panel de control extremadamente básico (https://github.com/packit-service/dashboard/) con muy poca información. Nos encantaría tener más tablas, más datos, gráficos y todo el contenido útil para facilitar la comprensión del funcionamiento del servicio y la interacción de los usuarios.

Estamos buscando estas vistas:

  • Listado de compilaciones y pruebas recientes

  • El mismo listado pero por proyecto

  • Un gráfico de uso: cuántas tareas se ejecutan en un momento determinado del día

  • Detalles de proyectos y compilaciones

Esta tarea presenta un desafío: nuestra API no proporciona la mayoría de los datos necesarios para lograrlo. Por lo tanto, la expectativa es colaborar con el proyecto inicial (nosotros) para elaborar un diseño final, proporcionar los datos y desarrollar el panel de control.

Entregables

Como pasante de GSoC, serás responsable de lo siguiente:

  • Código en packit-service/dashboard con la funcionalidad

  • Plantillas de OpenShift y libros de jugadas de Ansible en packit-service/dashboard,deployment para que podamos implementarlo en nuestro clúster de OpenShift

  • Pruebas para verificar que el código propuesto funciona

  • El panel de control actualizado implementado en producción


Mejorar el Rol del Sistema de Linux en Red

  • Dificultad : Intermedia

  • Tecnología: Python, Ansible

  • Mentores : Till Maas, Thomas Haller

  • IRC y correo-e: tyll, hasta que redhat.com / thaller, thaller q redhat.com

Descripción

El rol de Sistema Linux de Red proporciona una interfaz de configuración uniforme para scripts de red y NetworkManager. En este proyecto, se mejorará el rol. Hay varias áreas que un becario podría seleccionar según sus intereses:

  • Agregue soporte para más interfaces/opciones, esto incluye las tareas siguientes

    1. Write missing tests/documentation for open PRs to finalize them

    2. Add support for wake-on-lan options: https://github.com/linux-system-roles/network/issues/150

    3. Add proper support for team and make the configuration more uniform with bonding

  • Improve the testing framework

    1. Write an integration test to become familiar with the role, for example for https://github.com/linux-system-roles/network/issues/124

    2. Make the tests more uniform (they developed over the time. Adjust old tests to use the conventions of newer tests)

    3. Add support to test the ansible module directly via pytest instead of only via ansible-playbook

    4. Simplify test playbooks by writing custom Ansible modules that simplify test setup/preparation and assertions

  • Network state management (most difficult)

    1. Support to update only partial settings

    2. Return the current network configuration

    3. Initially only the configuration files

    4. Maybe also the runtime state

  • Lo que estamos buscando:

    1. Interest in writing high-quality code in Python for Ansible

    2. Personal accountability with regular, clear and open communication

    3. Ability to independently transfer feedback into code

    4. Support for more features or a better test framework

    5. Effective collaboration via GitHub, IRC and video conferences

  • Notes & references:


  • Dificultad : Intermedia

  • Technology : Python, Linux shell, REST api, LInux Networking (basic)

  • Mentor : Fernando Fernandez Mancera, Till Maas (Helping with mentoring) and Gris Ge (Helping with mentoring).

  • IRC & Email :ffmancera, ferferna@redhat.com

Descripción

Nmstate is a python library (libnmstate) and a command line tool (nmstatectl) that manages host networking settings in a declarative manner. https://nmstate.github.io/

There are some users that want to run nmstate in systems that do not have or do not support python. In order to solve this issue, the student would implement the varlink support to use nmstate from other languages. https://varlink.org/

Till have implemented a Proof of Concept for this task so the user is able to use it to understand how varlink works and how to proceed. https://github.com/tyll/varlink-nmstate

Ideally, kubernetes-nmstate should be updated to use varlink. This is not a must.

Entregables

Como pasante de GSoC, serás responsable de lo siguiente:

  • Code of the varlink nmstate support

  • Basic usage documentation (User README)

  • Code documentation (Not very detailed, just general comments on how is the code structured)