This is an idea that's been kicking around for a while... maybe it's finally time to "make it so."

Minimally:

Develop kiwi configurations in OBS for a single-server OpenQA appliance. Apply nested virtualization options in virtual format to allow easy use existing private cloud frameworks (OpenStack, VMWare, Hyper-V).

Bigger picture:

Develop cloud-focused backends ( https://progress.opensuse.org/issues/12160 ) allowing native use of cloud frameworks instead of a monolithic instance with nested virtualization. Provide an image ready to "fire up and use" in at least one Public Cloud provider (AWS/Azure/GCE).

Looking for hackers with the skills:

images openqa publiccloud perl

This project is part of:

Hack Week 15

Activity

  • over 7 years ago: seanmarlow liked this project.
  • over 8 years ago: bear454 added keyword "perl" to this project.
  • over 8 years ago: bear454 started this project.
  • over 8 years ago: SLindoMansilla liked this project.
  • almost 9 years ago: okurz liked this project.
  • almost 9 years ago: mbrugger liked this project.
  • almost 9 years ago: RBrownSUSE liked this project.
  • almost 9 years ago: mgriessmeier liked this project.
  • almost 9 years ago: xgonzo liked this project.
  • almost 9 years ago: bear454 added keyword "images" to this project.
  • almost 9 years ago: bear454 added keyword "openqa" to this project.
  • almost 9 years ago: bear454 added keyword "publiccloud" to this project.
  • almost 9 years ago: bear454 originated this project.

  • Comments

    • okurz
      almost 9 years ago by okurz | Reply

      how is that related to https://github.com/os-autoinst/openQA/tree/master/docker ?

      • bear454
        over 8 years ago by bear454 | Reply

        In a local instance or private cloud, it would be an alternative to using docker for the components.

        Some of the work is around building and pre-configuring an image, creating more of a "fire up and use" experience.

    • lnussel
      almost 9 years ago by lnussel | Reply

      Ideally based on SLE JeOS images so we can use it for both Leap and SLE https://build.opensuse.org/project/show/openSUSE:Leap:42.1:Images

    Similar Projects

    openQA log viewer by mpagot

    Description

    *** Warning: Are You at Risk for VOMIT? ***

    Do you find yourself staring at a screen, your eyes glossing over as thousands of lines of text scroll by? Do you feel a wave of text-based nausea when someone asks you to "just check the logs"?

    You may be suffering from VOMIT (Verbose Output Mental Irritation Toxicity).

    This dangerous, work-induced ailment is triggered by exposure to an overwhelming quantity of log data, especially from parallel systems. The human brain, not designed to mentally process 12 simultaneous autoinst-log.txt files, enters a state of toxic shock. It rejects the "Verbose Output," making it impossible to find the one critical error line buried in a 50,000-line sea of "INFO: doing a thing."

    Before you're forced to rm -rf /var/log in a fit of desperation, we present the digital antacid.

    No panic: The openQA Log Visualizer (Also known as the "VOMIT-B-Gone 9000")

    This is your web-based hazmat suit for handling toxic log environments. It bravely dives into the chaotic, multi-machine mess of your openQA test runs, finds all the related, verbose logs, and force-feeds them into a parser.

    image

    Goals

    Work on the existing POC openqa-log-visualizer and change it to something usable

    Resources

    openqa-log-visualizer


    RMT.rs: High-Performance Registration Path for RMT using Rust by gbasso

    Description

    The SUSE Repository Mirroring Tool (RMT) is a critical component for managing software updates and subscriptions, especially for our Public Cloud Team (PCT). In a cloud environment, hundreds or even thousands of new SUSE instances (VPS/EC2) can be provisioned simultaneously. Each new instance attempts to register against an RMT server, creating a "thundering herd" scenario.

    We have observed that the current RMT server, written in Ruby, faces performance issues under this high-concurrency registration load. This can lead to request overhead, slow registration times, and outright registration failures, delaying the readiness of new cloud instances.

    This Hackweek project aims to explore a solution by re-implementing the performance-critical registration path in Rust. The goal is to leverage Rust's high performance, memory safety, and first-class concurrency handling to create an alternative registration endpoint that is fast, reliable, and can gracefully manage massive, simultaneous request spikes.

    The new Rust module will be integrated into the existing RMT Ruby application, allowing us to directly compare the performance of both implementations.

    Goals

    The primary objective is to build and benchmark a high-performance Rust-based alternative for the RMT server registration endpoint.

    Key goals for the week:

    1. Analyze & Identify: Dive into the SUSE/rmt Ruby codebase to identify and map out the exact critical path for server registration (e.g., controllers, services, database interactions).
    2. Develop in Rust: Implement a functionally equivalent version of this registration logic in Rust.
    3. Integrate: Explore and implement a method for Ruby/Rust integration to "hot-wire" the new Rust module into the RMT application. This may involve using FFI, or libraries like rb-sys or magnus.
    4. Benchmark: Create a benchmarking script (e.g., using k6, ab, or a custom tool) that simulates the high-concurrency registration load from thousands of clients.
    5. Compare & Present: Conduct a comparative performance analysis (requests per second, latency, success/error rates, CPU/memory usage) between the original Ruby path and the new Rust path. The deliverable will be this data and a summary of the findings.

    Resources

    • RMT Source Code (Ruby):
      • https://github.com/SUSE/rmt
    • RMT Documentation:
      • https://documentation.suse.com/sles/15-SP7/html/SLES-all/book-rmt.html
    • Tooling & Stacks:
      • RMT/Ruby development environment (for running the base RMT)
      • Rust development environment (rustup, cargo)
    • Potential Integration Libraries:
      • rb-sys: https://github.com/oxidize-rb/rb-sys
      • Magnus: https://github.com/matsadler/magnus
    • Benchmarking Tools:
      • k6 (https://k6.io/)
      • ab (ApacheBench)


    Create a page with all devel:languages:perl packages and their versions by tinita

    Description

    Perl projects now live in git: https://src.opensuse.org/perl

    It would be useful to have an easy way to check which version of which perl module is in devel:languages:perl. Also we have meta overrides and patches for various modules, and it would be good to have them at a central place, so it is easier to lookup, and we can share with other vendors.

    I did some initial data dump here a while ago: https://github.com/perlpunk/cpan-meta

    But I never had the time to automate this.

    I can also use the data to check if there are necessary updates (currently it uses data from download.opensuse.org, so there is some delay and it depends on building).

    Goals

    • Have a script that updates a central repository (e.g. https://src.opensuse.org/perl/_metadata) with metadata by looking at https://src.opensuse.org/perl/_ObsPrj (check if there are any changes from the last run)
    • Create a HTML page with the list of packages (use Javascript and some table library to make it easily searchable)

    Resources