Description

Currently create a dev environment on Uyuni might be complicated. The steps are:

  • add the correct repo
  • download packages
  • configure your IDE (checkstyle, format rules, sonarlint....)
  • setup debug environment
  • ...

The current doc can be improved: some information are hard to be find out, some others are completely missing.

Dev Container might solve this situation.

Goals

Uyuni development in no time:

  • using VSCode:
    • setting.json should contains all settings (for all languages in Uyuni, with all checkstyle rules etc...)
    • dev container should contains all dependencies
    • setup debug environment
  • implement a GitHub Workspace solution
  • re-write documentation

Lots of pieces are already implemented: we need to connect them in a consistent solution.

Resources

  • https://github.com/uyuni-project/uyuni/wiki

Looking for hackers with the skills:

uyuni susemanager containers development developer-experience

This project is part of:

Hack Week 24

Activity

  • 11 months ago: j_renner liked this project.
  • 11 months ago: vizhestkov liked this project.
  • 11 months ago: wombelix liked this project.
  • 12 months ago: RMestre started this project.
  • 12 months ago: mbussolotto added keyword "developer-experience" to this project.
  • 12 months ago: mbussolotto added keyword "development" to this project.
  • 12 months ago: mbussolotto added keyword "containers" to this project.
  • 12 months ago: mbussolotto added keyword "susemanager" to this project.
  • 12 months ago: RDiasMateus liked this project.
  • 12 months ago: deneb_alpha liked this project.
  • 12 months ago: juliogonzalezgil liked this project.
  • 12 months ago: dgedon liked this project.
  • 12 months ago: mbussolotto added keyword "uyuni" to this project.
  • 12 months ago: mbussolotto originated this project.

  • Comments

    • mbussolotto
      11 months ago by mbussolotto | Reply

      uyuni-tools PR https://github.com/uyuni-project/uyuni-tools/pull/412. The PR:

      • create dev container for uyuni-tools

      • set vscode configuration (installing extension to help development, like unit test utilities)

      • add information about GitHub Codespace in PR template

      • added pre-commit and pre-hooks

      • push automatically devcontainer in github registry

      Documentation about to use them is still missing. I'm going to do the same also for uyuni repo

    • mbussolotto
      11 months ago by mbussolotto | Reply

      uyuni PR https://github.com/uyuni-project/uyuni/pull/9496:

      • create dev container for uyuni

      • set vscode configuration (installing extension to help development, like unit test utilities)

      • add information about GitHub Codespace in PR template

      • push automatically devcontainer in github registry

      Documentation about to use them is still missing. The idea right now is to improve and expand IDE support

    • mbussolotto
      11 months ago by mbussolotto | Reply

      Documentation: - https://github.com/uyuni-project/uyuni/wiki/Working-with--Uyuni-Project-Using-DevContainers - https://github.com/uyuni-project/uyuni-tools/wiki/Working-with-the-Uyuni-Tools-Project-Using-DevContainers

    Similar Projects

    Move Uyuni Test Framework from Selenium to Playwright + AI by oscar-barrios

    Description

    This project aims to migrate the existing Uyuni Test Framework from Selenium to Playwright. The move will improve the stability, speed, and maintainability of our end-to-end tests by leveraging Playwright's modern features. We'll be rewriting the current Selenium code in Ruby to Playwright code in TypeScript, which includes updating the test framework runner, step definitions, and configurations. This is also necessary because we're moving from Cucumber Ruby to CucumberJS.

    If you're still curious about the AI in the title, it was just a way to grab your attention. Thanks for your understanding.


    Goals

    • Migrate Core tests including Onboarding of clients
    • Improve test reliabillity: Measure and confirm a significant reduction of flakynes.
    • Implement a robust framework: Establish a well-structured and reusable Playwright test framework using the CucumberJS

    Resources


    Flaky Tests AI Finder for Uyuni and MLM Test Suites by oscar-barrios

    Description

    Our current Grafana dashboards provide a great overview of test suite health, including a panel for "Top failed tests." However, identifying which of these failures are due to legitimate bugs versus intermittent "flaky tests" is a manual, time-consuming process. These flaky tests erode trust in our test suites and slow down development.

    This project aims to build a simple but powerful Python script that automates flaky test detection. The script will directly query our Prometheus instance for the historical data of each failed test, using the jenkins_build_test_case_failure_age metric. It will then format this data and send it to the Gemini API with a carefully crafted prompt, asking it to identify which tests show a flaky pattern.

    The final output will be a clean JSON list of the most probable flaky tests, which can then be used to populate a new "Top Flaky Tests" panel in our existing Grafana test suite dashboard.

    Goals

    By the end of Hack Week, we aim to have a single, working Python script that:

    1. Connects to Prometheus and executes a query to fetch detailed test failure history.
    2. Processes the raw data into a format suitable for the Gemini API.
    3. Successfully calls the Gemini API with the data and a clear prompt.
    4. Parses the AI's response to extract a simple list of flaky tests.
    5. Saves the list to a JSON file that can be displayed in Grafana.
    6. New panel in our Dashboard listing the Flaky tests

    Resources