Project Description

Inspired by one of the proposals for GSoC and given that I'm usually working on maintenance updates for SUSE Manager - Uyuni I decided to translate it to Italian. :)

Goal for this Hackweek

Given the amount of strings to be translated I'll focus on the product, leaving the user guides for the next future.

Resources

Some more details are available also here:

Looking for hackers with the skills:

uyuni localization

This project is part of:

Hack Week 20

Activity

  • over 4 years ago: j_renner liked this project.
  • over 4 years ago: pagarcia liked this project.
  • almost 5 years ago: dfaggioli liked this project.
  • almost 5 years ago: franjsco liked this project.
  • almost 5 years ago: franjsco joined this project.
  • almost 5 years ago: gboiko liked this project.
  • almost 5 years ago: juliogonzalezgil liked this project.
  • almost 5 years ago: deneb_alpha started this project.
  • almost 5 years ago: deneb_alpha added keyword "uyuni" to this project.
  • almost 5 years ago: deneb_alpha added keyword "localization" to this project.
  • almost 5 years ago: deneb_alpha originated this project.

  • Comments

    • deneb_alpha
      almost 5 years ago by deneb_alpha | Reply

      There are already some translation provided but several are also outdated.

      For hackweek I'm planning to start with the untranslated strings and, when ended, to review the old existing strings.

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      WebUI

      • Java -> 349 strings to be translated

      • deneb_alpha
        over 4 years ago by deneb_alpha | Reply

        • https://github.com/uyuni-project/uyuni/pull/3456

        • deneb_alpha
    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      Looks like we still have some references to SUSE Studio: like here

      • deneb_alpha
        over 4 years ago by deneb_alpha | Reply

        reported: https://github.com/SUSE/spacewalk/issues/14377

    • deneb_alpha
    • deneb_alpha
    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      something went wrong... :(

      Note to self, when tired, have a break ;)

      I translated by mistake a variable

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      translations still ongoing...

      This day two seems to be harder. The translations units I'm handling today are not easy to be translated to Italian in a meaningful way. Some strings are also extremely short or with a lot of code tag. SUMA folks gave me access to a demo instance for having the strings context a little bit easier to get. Moving forward checking carefully for avoiding to break tags and other parts that should not be translated

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      tracking here as replies the commits already on master

      • deneb_alpha
      • deneb_alpha
        over 4 years ago by deneb_alpha | Reply

      • deneb_alpha
        over 4 years ago by deneb_alpha | Reply

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      here we go... :)

      This component https://l10n.opensuse.org/projects/uyuni/java/it/ is done. waiting to see it merged.

      Moving to the next.

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      also the component https://l10n.opensuse.org/projects/uyuni/java-database/it/ is done. :)

      moving to the next!

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      good progress for today and in parallel I have also done some reviews of existing translations trying to use the same working in similar context.

      The route is still long but the trip is exciting! :)

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      I'll take some notes here on things that should be checked and refined for a better and meaningful translation

      • deneb_alpha
        over 4 years ago by deneb_alpha | Reply

        • Working on a common glossary
        • Errata -> better to use patch. it's used in Italian

    • deneb_alpha
      over 4 years ago by deneb_alpha | Reply

      Collecting here via replies the different issues I reported.

    Similar Projects

    Uyuni Health-check Grafana AI Troubleshooter by ygutierrez

    Description

    This project explores the feasibility of using the open-source Grafana LLM plugin to enhance the Uyuni Health-check tool with LLM capabilities. The idea is to integrate a chat-based "AI Troubleshooter" directly into existing dashboards, allowing users to ask natural-language questions about errors, anomalies, or performance issues.

    Goals

    • Investigate if and how the grafana-llm-app plug-in can be used within the Uyuni Health-check tool.
    • Investigate if this plug-in can be used to query LLMs for troubleshooting scenarios.
    • Evaluate support for local LLMs and external APIs through the plugin.
    • Evaluate if and how the Uyuni MCP server could be integrated as another source of information.

    Resources

    Grafana LMM plug-in

    Uyuni Health-check


    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

    Outcome


    Enable more features in mcp-server-uyuni by j_renner

    Description

    I would like to contribute to mcp-server-uyuni, the MCP server for Uyuni / Multi-Linux Manager) exposing additional features as tools. There is lots of relevant features to be found throughout the API, for example:

    • System operations and infos
    • System groups
    • Maintenance windows
    • Ansible
    • Reporting
    • ...

    At the end of the week I managed to enable basic system group operations:

    • List all system groups visible to the user
    • Create new system groups
    • List systems assigned to a group
    • Add and remove systems from groups

    Goals

    • Set up test environment locally with the MCP server and client + a recent MLM server [DONE]
    • Identify features and use cases offering a benefit with limited effort required for enablement [DONE]
    • Create a PR to the repo [DONE]

    Resources


    Uyuni Saltboot rework by oholecek

    Description

    When Uyuni switched over to the containerized proxies we had to abandon salt based saltboot infrastructure we had before. Uyuni already had integration with a Cobbler provisioning server and saltboot infra was re-implemented on top of this Cobbler integration.

    What was not obvious from the start was that Cobbler, having all it's features, woefully slow when dealing with saltboot size environments. We did some improvements in performance, introduced transactions, and generally tried to make this setup usable. However the underlying slowness remained.

    Goals

    This project is not something trying to invent new things, it is just finally implementing saltboot infrastructure directly with the Uyuni server core.

    Instead of generating grub and pxelinux configurations by Cobbler for all thousands of systems and branches, we will provide a GET access point to retrieve grub or pxelinux file during the boot:

    /saltboot/group/grub/$fqdn and similar for systems /saltboot/system/grub/$mac

    Next we adapt our tftpd translator to query these points when asked for default or mac based config.

    Lastly similar thing needs to be done on our apache server when HTTP UEFI boot is used.

    Resources


    Set Uyuni to manage edge clusters at scale by RDiasMateus

    Description

    Prepare a Poc on how to use MLM to manage edge clusters. Those cluster are normally equal across each location, and we have a large number of them.

    The goal is to produce a set of sets/best practices/scripts to help users manage this kind of setup.

    Goals

    step 1: Manual set-up

    Goal: Have a running application in k3s and be able to update it using System Update Controler (SUC)

    • Deploy Micro 6.2 machine
    • Deploy k3s - single node

      • https://docs.k3s.io/quick-start
    • Build/find a simple web application (static page)

      • Build/find a helmchart to deploy the application
    • Deploy the application on the k3s cluster

    • Install App updates through helm update

    • Install OS updates using MLM

    step 2: Automate day 1

    Goal: Trigger the application deployment and update from MLM

    • Salt states For application (with static data)
      • Deploy the application helmchart, if not present
      • install app updates through helmchart parameters
    • Link it to GIT
      • Define how to link the state to the machines (based in some pillar data? Using configuration channels by importing the state? Naming convention?)
      • Use git update to trigger helmchart app update
    • Recurrent state applying configuration channel?

    step 3: Multi-node cluster

    Goal: Use SUC to update a multi-node cluster.

    • Create a multi-node cluster
    • Deploy application
      • call the helm update/install only on control plane?
    • Install App updates through helm update
    • Prepare a SUC for OS update (k3s also? How?)
      • https://github.com/rancher/system-upgrade-controller
      • https://documentation.suse.com/cloudnative/k3s/latest/en/upgrades/automated.html
      • Update/deploy the SUC?
      • Update/deploy the SUC CRD with the update procedure