a project by pdostal
Rancher maintains 2 Kubernetes distribution, both production grade:
- k3s: Single binary containing containerd backend. Can be run as server or agent on each node of cluster. SQLite is used by default instead of ETCD. MySQL and Postgres also supported. No prerequisity. Intended for edge computing.
- RKE: Deployed remotely over SSH on top of Docker which is the only required component of the underlying OS. Standard ETCD database in container. Each node and its roles are defined in YAML. Resource hungry, datacenter grade.
Each scenario needs:
1) Support Server: As Internet gateway, DHCP and DNS server. 2) Master node for the control node and it's database 3) 4) Worker nodes joining the cluster.
Resources:
- [k3s webpage]: https://k3s.io/
- [k3s github repository]: https://github.com/k3s-io/k3s
- [rke1 github repository]: https://github.com/rancher/rke
- [rke1 cluster.yaml]: https://rancher.com/docs/rke/latest/en/example-yamls/#minimal-cluster-yml-example
- [rke1 deploy guide]: https://rancher.com/docs/rke/latest/en/installation/#prepare-the-nodes-for-the-kubernetes-cluster
This project was inspired by the awesome [SUSE @Home] workshop: https://github.com/SUSE/suse-at-home
TO-DO:
- Run more tests on top of the Kubernetes cluster.
- Implement the same for rke2 (not in production yet).
This project is part of:
Hack Week 20
Activity
Comments
Similar Projects
Hack on isotest-ng - a rust port of isotovideo (os-autoinst aka testrunner of openQA) by szarate
Description
Some time ago, I managed to convince ByteOtter to hack something that resembles isotovideo but in Rust, not because I believe that Perl is dead, but more because there are certain limitations in the perl code (how it was written), and its always hard to add new functionalities when they are about implementing a new backend, or fixing bugs (Along with people complaining that Perl is dead, and that they don't like it)
In reality, I wanted to see if this could be done, and ByteOtter proved that it could be, while doing an amazing job at hacking a vnc console, and helping me understand better what RuPerl needs to work.
I plan to keep working on this for the next few years, and while I don't aim for feature completion or replacing isotovideo tih isotest-ng (name in progress), I do plan to be able to use it on a daily basis, using specialized tooling with interfaces, instead of reimplementing everything in the backend
Todo
- Add
make
targets for testability, e.g "spawn qemu and type" - Add image search matching algorithm
- Add a Null test distribution provider
- Add a Perl Test Distribution Provider
- Fix unittests https://github.com/os-autoinst/isotest-ng/issues/5
- Research OpenTofu how to add new hypervisors/baremetal to OpenTofu
- Add an interface to openQA cli
Goals
- Implement at least one of the above, prepare proposals for GSoC
- Boot a system via it's BMC
Resources
See https://github.com/os-autoinst/isotest-ng
Learn obs/ibs sync tool by xlai
Description
Once images/repo are built from IBS/OBS, there is a tool to sync the image from IBS/OBS to openqa asset directory and trigger openqa jobs accordingly.
Goals
Check how the tool is implemented, and be capable to add/modify our needed images/repo in future by ourselves.
Resources
- https://github.com/os-autoinst/openqa-trigger-from-obs
- https://gitlab.suse.de/openqa/openqa-trigger-from-ibs-plugin/-/tree/master?ref_type=heads
Setup a new openQA on more powerful server by JNa
Description
- currently local openQA storage is insufficient
Goals
-Migrate to more powerful machine
Resources
-Service Rainbow
OpenQA Golang api client by hilchev
Description
I would like to make a simple cli tool to communicate with the OpenQA API
Goals
- OpenQA has a ton of information that is hard to get via the UI. A tool like this would make my life easier :)
- Would potentially make it easier in the future to make UI changes without Perl.
- Improve my Golang skills
Resources
- https://go.dev/doc/
- https://openqa.opensuse.org/api
New features in openqa-trigger-from-obs for openQA by jlausuch
Description
Implement new features in openqa-trigger-from-obs to make xml more flexible.
Goals
One of the features to be implemented: - Possibility to define "VERSION" and "ARCH" variables per flavor instead of global.
Resources
https://github.com/os-autoinst/openqa-trigger-from-obs