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. Escriba pruebas/documentación ausente para abrir los PR para finalizarlos

    2. Añada mantenimiento para opciones despertar-en-red: https://github.com/linux-system-roles/network/issues/150

    3. Añadir mantenimiento apropiado para equipo y realizar la configuración más uniforme con vinculación

  • Mejorar el marco de pruebas

    1. Escriba una prueba de integración para familiarizarse con el rol, por ejemplo, para https://github.com/linux-system-roles/network/issues/124

    2. Unificar las pruebas (se desarrollaron con el tiempo. Adaptar las pruebas antiguas a las convenciones de las pruebas más recientes.)

    3. Añade mantenimiento para pruebas del módulo Ansible directamente mediante pytest, en lugar de solo mediante ansible-playbook

    4. Simplifica los playbooks de prueba escribiendo módulos Ansible personalizados que simplifiquen la configuración/preparación de las pruebas y las aserciones

  • Gestión del estado de la red (la más difícil)

    1. Compatibilidad con la actualización de ajustes parciales

    2. Devolver la configuración actual de la red

    3. Inicialmente solo los archivos de configuración

    4. Tal vez también el estado en tiempo de ejecución

  • Lo que estamos buscando:

    1. Interés en escribir código de alta calidad en Python para Ansible

    2. Responsabilidad personal con comunicación usual, clara y abierta

    3. Capacidad para convertir comentarios en código de forma independiente

    4. Compatibilidad con más funciones o un mejor marco de pruebas

    5. Colaboración eficaz a través de GitHub, IRC y videoconferencias

  • Notas y referencias:


  • Dificultad : Intermedia

  • Tecnología : Python, Linux shell, REST api, Red LInux (básica)

  • Mentor: Fernando Fernández Mancera, Till Maas (Ayudando con la mentoría) y Gris Ge (Ayudando con la mentoría).

  • IRC y Correo-e :ffmancera, ferferna@redhat.com

Descripción

Nmstate es una biblioteca de Python (libnmstate) y una herramienta de línea de comandos (nmstatectl) que gestiona la configuración de red del host de forma declarativa. https://nmstate.github.io/

Algunos usuarios desean ejecutar nmstate en sistemas que no tienen o no admiten Python. Para solucionar este tema, el estudiante implementará la compatibilidad con varlink para usar nmstate desde otros lenguajes. https://varlink.org/

Hasta ahora, hemos implementado una prueba de concepto para esta tarea, de modo que el usuario pueda utilizarla para comprender cómo funciona varlink y cómo proceder. https://github.com/tyll/varlink-nmstate

Lo ideal sería actualizar kubernetes-nmstate para que utilice varlink. Esto no es obligatorio.

Entregables

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

  • Código de soporte de varlink nmstate

  • Documentación básica de uso (README del usuario)

  • Documentación del código (No muy detallada, solo comentarios generales sobre cómo está estructurado el código)