Kunle Li

Kunle Li

Kunle Li

Home Institution
The University of Illinois at Urbana-Champaign

Year Participated
2022

Year in School
Undergraduate

REU Faculty Mentor
Tianyin Xu

Research Area Interest
Systems and Networking

Project Title
Automatic, Continuous Testing for Kubernetes/OpenShift Operators

Biography & Research Abstract

Abstract:

Today’s data center systems are increasingly built with several subsystems incorporating with each other. To alleviate the management overhead and increase hardware utilization, companies use cluster management systems (Twine, Kubernetes, Nomad, etc). These cluster management systems provide building blocks to help DevOps engineers deploy and manage their applications. But in order to exploit application specific functionalities, developers need to write controllers for each of the applications. The controllers automatically manage the application in a declarative manner. There was a previous testing framework for Kubernetes operators, but that tool aims to use fault injection to test operators under faulty conditions.

But correct management requires correct implementation of controllers. It is challenging to reason about controllers’ correctness since it heavily interacts with the environment. The controller receives the users’ declaration and continuously drives the application to the desired state. There are a lot of unit tests, but only a few system tests. And most of the system tests only test one input, while a lot of the operator logic involves driving the system from one state to another.

We propose an automated end-to-end testing tool to improve the reliability of Kubernetes controllers (operators). We choose to use end-to-end testing to better reason about the system’s correctness since operators continuously interact with the environment. We will do continuous testing to better capture operator’s behavior when starting from an existing state.

Bio:

I am a rising senior student at University of Illinois at Urbana Champaign, with my major in computer engineering. After taking many CS courses during my first three years' studying, including two CS 400 level courses last semester, I find myself broadly interested in the development and application side of systems, especially dealing with problems existing in the real world. In Spring 2022, I was working on a course project related to computer systems for several months, focusing on building a x86-based operating system that has all basic functionalities which Linux has. And our course project gained recognition from both two professors and graduate teaching assistants in the course final competition. I am passionate about exploring and developing various tools and applying these tools to solve challenging problems or detect bugs in the real world, and I hope to see my efforts can make a contribution in reality.