finos / finos/5-spot

[Feature] When various host actions occur, I want kill the k8s node so it doesn't interfere with the incumbent workload

Open
#39 2 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
22
Forks
3
Avg merge
17h 51m
Merged PRs (30d)
10

Description

### Description of Problem

In addition to polling for processes, there are other interesting host-based signals that should trigger k8s node death.
1. If the host is the passive side of an active/passive HA configuration using pacemaker or veritas, we would want to trigger node death as part of the failover process, similar to STONITH node fencing, so that our k8s node exits as the host becomes "active". Monitoring for a process is insufficient, as the clustered service may always be running -- just not accepting load.
2. We could hook into DBUS and shut down the k8s node when a user logs in and creates a new session
3. etc..
These require the ability to trigger node death from outside of the k8s-managed node.

### Potential Solutions

Perhaps, in addition to polling for processes, the kill service could read from a pipe on the host filesystem (/run/5spot/kill). Whenever we want to trigger node death from the host, just write to the pipe.

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by locating the existing kill service and its process-polling path, then review how an external host signal could reach it through the proposed /run/5spot/kill pipe. Done should be defined as reliably triggering node death from a host action without disrupting the incumbent workload.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.