cnti-testcatalog / testsuite

📞📱☎️📡🌐 Cloud Native Telecom Initiative (CNTI) Test Catalog is a tool to check for and provide feedback on the use of K8s + cloud native best practices in networking applications and platforms
https://wiki.lfnetworking.org/display/LN/Test+Catalog
Apache License 2.0
169 stars 70 forks source link

Add exclusion of init system from single process check #2054

Closed horecoli closed 3 weeks ago

horecoli commented 1 month ago

Description

This change defines a list of specialized init systems as a constant and excludes it from the verification of a single process check. This PR depends on https://github.com/cnf-testsuite/k8s_kernel_introspection/pull/3 which has to be merge first.

Issues:

Refs: #2038

How has this been tested:

Types of changes:

Checklist:

Documentation

Code Review

Issue

horecoli commented 1 month ago

The PR mentioned in the description, along with this PR, works fine with the dump-init and tini specialized init systems. However, there is different behavior in the case of the v6 init system (s6-svscan), which is not a single process init system but produces quite a lot of processes. So the main question is whether this case conflicts with the best practice of having single processes inside a container. I believe this needs to be discussed. Here is a screenshot showing how this test is failing with a list of processes:

image

martin-mat commented 1 month ago

This needs discussion @taylor @wavell @Smitholi67

My opinion: It is OK to handle init process as an exception for single-process-type test/best practice. However, S6 init system itself does not follow single-process principle, so it is fine to have failing single-process check when S6 is used. And also for that, we should reconsider recommending S6 as a best-practice init system for containers.

horecoli commented 3 weeks ago

The PR - https://github.com/cnf-testsuite/k8s_kernel_introspection/pull/3 to k8s_kernel_introspection was merged and new tag was created. So this PR is ready to merge.