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.
  • over 4 years ago: dfaggioli liked this project.
  • over 4 years ago: franjsco liked this project.
  • over 4 years ago: franjsco joined this project.
  • over 4 years ago: gboiko liked this project.
  • over 4 years ago: juliogonzalezgil liked this project.
  • over 4 years ago: deneb_alpha started this project.
  • over 4 years ago: deneb_alpha added keyword "uyuni" to this project.
  • over 4 years ago: deneb_alpha added keyword "localization" to this project.
  • over 4 years ago: deneb_alpha originated this project.

  • Comments

    • deneb_alpha
      over 4 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 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 Up an Ephemeral Uyuni Instance by mbussolotto

    Description

    To test, check, and verify the latest changes in the master branch, we want to easily set up an ephemeral environment.

    Goals

    • Create an ephemeral environment manually
    • Create an ephemeral environment automatically

      Resources

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

    • https://www.uyuni-project.org/uyuni-docs/en/uyuni/index.html


    mgr-ansible-ssh - Intelligent, Lightweight CLI for Distributed Remote Execution by deve5h

    Description

    By the end of Hack Week, the target will be to deliver a minimal functional version 1 (MVP) of a custom command-line tool named mgr-ansible-ssh (a unified wrapper for BOTH ad-hoc shell & playbooks) that allows operators to:

    1. Execute arbitrary shell commands on thousand of remote machines simultaneously using Ansible Runner with artifacts saved locally.
    2. Pass runtime options such as inventory file, remote command string/ playbook execution, parallel forks, limits, dry-run mode, or no-std-ansible-output.
    3. Leverage existing SSH trust relationships without additional setup.
    4. Provide a clean, intuitive CLI interface with --help for ease of use. It should provide consistent UX & CI-friendly interface.
    5. Establish a foundation that can later be extended with advanced features such as logging, grouping, interactive shell mode, safe-command checks, and parallel execution tuning.

    The MVP should enable day-to-day operations to efficiently target thousands of machines with a single, consistent interface.

    Goals

    Primary Goals (MVP):

    Build a functional CLI tool (mgr-ansible-ssh) capable of executing shell commands on multiple remote hosts using Ansible Runner. Test the tool across a large distributed environment (1000+ machines) to validate its performance and reliability.

    Looking forward to significantly reducing the zypper deployment time across all 351 RMT VM servers in our MLM cluster by eliminating the dependency on the taskomatic service, bringing execution down to a fraction of the current duration. The tool should also support multiple runtime flags, such as:

    mgr-ansible-ssh: Remote command execution wrapper using Ansible Runner
    
    Usage: mgr-ansible-ssh [--help] [--version] [--inventory INVENTORY]
                       [--run RUN] [--playbook PLAYBOOK] [--limit LIMIT]
                       [--forks FORKS] [--dry-run] [--no-ansible-output]
    
    Required Arguments
    --inventory, -i      Path to Ansible inventory file to use
    
    Any One of the Arguments Is Required
    --run, -r            Execute the specified shell command on target hosts
    --playbook, -p       Execute the specified Ansible playbook on target hosts
    
    Optional Arguments
    --help, -h           Show the help message and exit
    --version, -v        Show the version and exit
    --limit, -l          Limit execution to specific hosts or groups
    --forks, -f          Number of parallel Ansible forks
    --dry-run            Run in Ansible check mode (requires -p or --playbook)
    --no-ansible-output  Suppress Ansible stdout output
    

    Secondary/Stretched Goals (if time permits):

    1. Add pretty output formatting (success/failure summary per host).
    2. Implement basic logging of executed commands and results.
    3. Introduce safety checks for risky commands (shutdown, rm -rf, etc.).
    4. Package the tool so it can be installed with pip or stored internally.

    Resources

    Collaboration is welcome from anyone interested in CLI tooling, automation, or distributed systems. Skills that would be particularly valuable include:

    1. Python especially around CLI dev (argparse, click, rich)


    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


    Enhance setup wizard for Uyuni by PSuarezHernandez

    Description

    This project wants to enhance the intial setup on Uyuni after its installation, so it's easier for a user to start using with it.

    Uyuni currently uses "uyuni-tools" (mgradm) as the installation entrypoint, to trigger the installation of Uyuni in the given host, but does not really perform an initial setup, for instance:

    • user creation
    • adding products / channels
    • generating bootstrap repos
    • create activation keys
    • ...

    Goals

    • Provide initial setup wizard as part of mgradm uyuni installation

    Resources