Introduction

Misstion Statement: Modernize kickstart to make it ready for the future. This includes rewriting it.

What is kickstart?

https://wiki.innerweb.novell.com/index.php/RD-OPS_QA/Kickstart Basically it is what the QA Maintenance Team (until recently) used to test bootcritical maintenance updates. And no. I has nothing to do with Redhat.

From what to where?

Kickstart (the present)

  • written in bash
  • currently unmaintained
  • uses qemu-kvm
  • raw-images
  • usage is roughly documented, the code isn't
  • monolithic

Jumpstart (the desired future)

  • written in a more sophisticated language: Python
  • easy to maintain
  • uses libvirt
  • qcow2-images
  • plethora of documentation
  • ability to rebuild VM-Images automatically
  • modular
  • independent of the underlying Virtualization Framework

Initial scope of the project

Because of the limited amount of time during Hackweek the initial scope of the project will center around:

  • Starting a conversation about how jumpstart should position itself between the other tools used internally. Can/Should it be integrated with other tools and why? (pennyworth from the machinery-project for example)
  • Coding the first prototype that will cover the SLE-Minimal Workflow with the most important scenarios.

Looking for hackers with the skills:

python kvm libvirt mtui pennyworth machinery

This project is part of:

Hack Week 11

Activity

  • about 11 years ago: im_unbob liked this project.
  • about 11 years ago: dzyuzin joined this project.
  • about 11 years ago: dzyuzin liked this project.
  • about 11 years ago: barendartchuk liked this project.
  • about 11 years ago: schillingf added keyword "machinery" to this project.
  • about 11 years ago: schillingf removed keyword maschinery from this project.
  • about 11 years ago: schillingf added keyword "pennyworth" to this project.
  • about 11 years ago: schillingf added keyword "maschinery" to this project.
  • about 11 years ago: scarabeus_iv liked this project.
  • about 11 years ago: schillingf added keyword "python" to this project.
  • about 11 years ago: schillingf added keyword "kvm" to this project.
  • about 11 years ago: schillingf added keyword "libvirt" to this project.
  • about 11 years ago: schillingf added keyword "mtui" to this project.
  • about 11 years ago: schillingf started this project.
  • about 11 years ago: schillingf originated this project.

  • Comments

    • schillingf
      about 11 years ago by schillingf | Reply

      Development and documentation is happening here: $> git clone git@git.suse.de:fschilling/jumpstart.git

    Similar Projects

    Bring to Cockpit + System Roles capabilities from YAST by miguelpc

    Bring to Cockpit + System Roles features from YAST

    Cockpit and System Roles have been added to SLES 16 There are several capabilities in YAST that are not yet present in Cockpit and System Roles We will follow the principle of "automate first, UI later" being System Roles the automation component and Cockpit the UI one.

    Goals

    The idea is to implement service configuration in System Roles and then add an UI to manage these in Cockpit. For some capabilities it will be required to have an specific Cockpit Module as they will interact with a reasource already configured.

    Resources

    A plan on capabilities missing and suggested implementation is available here: https://docs.google.com/spreadsheets/d/1ZhX-Ip9MKJNeKSYV3bSZG4Qc5giuY7XSV0U61Ecu9lo/edit

    Linux System Roles: https://linux-system-roles.github.io/


    SUSE KVM Best Practices by roseswe

    Description

    SUSE Best Practices around KVM, especially for SAP workloads. Early Google presentation already made from various customer projects and SUSE sources.

    Goals

    Complete presentation we can reuse in SUSE Consulting projects

    Resources

    KVM (virt-manager) images

    SUSE/SAP/KVM Best Practices

    • https://documentation.suse.com/en-us/sles/15-SP6/single-html/SLES-virtualization/
    • SAP Note 1522993 - "Linux: SAP on SUSE KVM - Kernel-based Virtual Machine" && 2284516 - SAP HANA virtualized on SUSE Linux Enterprise hypervisors https://me.sap.com/notes/2284516
    • SUSECon24: [TUTORIAL-1253] Virtualizing SAP workloads with SUSE KVM || https://youtu.be/PTkpRVpX2PM
    • SUSE Best Practices for SAP HANA on KVM - https://documentation.suse.com/sbp/sap-15/html/SBP-SLES4SAP-HANAonKVM-SLES15SP4/index.html


    A CLI for Harvester by mohamed.belgaied

    Harvester does not officially come with a CLI tool, the user is supposed to interact with Harvester mostly through the UI. Though it is theoretically possible to use kubectl to interact with Harvester, the manipulation of Kubevirt YAML objects is absolutely not user friendly. Inspired by tools like multipass from Canonical to easily and rapidly create one of multiple VMs, I began the development of Harvester CLI. Currently, it works but Harvester CLI needs some love to be up-to-date with Harvester v1.0.2 and needs some bug fixes and improvements as well.

    Project Description

    Harvester CLI is a command line interface tool written in Go, designed to simplify interfacing with a Harvester cluster as a user. It is especially useful for testing purposes as you can easily and rapidly create VMs in Harvester by providing a simple command such as: harvester vm create my-vm --count 5 to create 5 VMs named my-vm-01 to my-vm-05.

    asciicast

    Harvester CLI is functional but needs a number of improvements: up-to-date functionality with Harvester v1.0.2 (some minor issues right now), modifying the default behaviour to create an opensuse VM instead of an ubuntu VM, solve some bugs, etc.

    Github Repo for Harvester CLI: https://github.com/belgaied2/harvester-cli

    Done in previous Hackweeks

    • Create a Github actions pipeline to automatically integrate Harvester CLI to Homebrew repositories: DONE
    • Automatically package Harvester CLI for OpenSUSE / Redhat RPMs or DEBs: DONE

    Goal for this Hackweek

    The goal for this Hackweek is to bring Harvester CLI up-to-speed with latest Harvester versions (v1.3.X and v1.4.X), and improve the code quality as well as implement some simple features and bug fixes.

    Some nice additions might be: * Improve handling of namespaced objects * Add features, such as network management or Load Balancer creation ? * Add more unit tests and, why not, e2e tests * Improve CI * Improve the overall code quality * Test the program and create issues for it

    Issue list is here: https://github.com/belgaied2/harvester-cli/issues

    Resources

    The project is written in Go, and using client-go the Kubernetes Go Client libraries to communicate with the Harvester API (which is Kubernetes in fact). Welcome contributions are:

    • Testing it and creating issues
    • Documentation
    • Go code improvement

    What you might learn

    Harvester CLI might be interesting to you if you want to learn more about:

    • GitHub Actions
    • Harvester as a SUSE Product
    • Go programming language
    • Kubernetes API
    • Kubevirt API objects (Manipulating VMs and VM Configuration in Kubernetes using Kubevirt)