feat: add priorityClass to node_health daemonset #249

Merged
stremblay merged 2 commits from feat/health_endpoint_priority_class into master 2026-03-14 18:53:32 +00:00
Owner
  • created new PriorityClass : node-healthcheck-critical
    • priority : 1000000000 (max configurable by a user)
    • PreemptionPolicy: PreemptLowerPriority (can preempt lower priority pods)
  • attached to node-healthcheck daemonset
  • made updates to opnsense-config to deal with st-mcd/cb1 opnsense config
> This will run the following scores:
0: NodeHealthScore
 Yes
[2026-03-13 11:13:46 DEBUG harmony_cli] Running: NodeHealthScore
[2026-03-13 11:13:46 DEBUG harmony::domain::maestro] Interpreting score NodeHealthScore
[2026-03-13 11:13:46 INFO  harmony_cli::cli_logger] 🎶 Interpreting score: NodeHealthScore...
[2026-03-13 11:13:46 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:46 INFO  harmony::modules::k8s::resource] Applying 1 resources : harmony-node-healthcheck
[2026-03-13 11:13:46 DEBUG harmony_k8s::apply] apply_with_strategy: Some("harmony-node-healthcheck") ns=None
[2026-03-13 11:13:46 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:13:48 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:13:48 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:13:48 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:48 INFO  harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck-sa@harmony-node-healthcheck
[2026-03-13 11:13:48 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck-sa") ns=Some("harmony-node-healthcheck")
[2026-03-13 11:13:48 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:13:50 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:13:50 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:13:50 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:50 INFO  harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck-role
[2026-03-13 11:13:50 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck-role") ns=None
[2026-03-13 11:13:50 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:13:52 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:13:52 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:13:52 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:52 INFO  harmony::modules::k8s::resource] Applying 1 resources : allow-hostnetwork-scc@harmony-node-healthcheck
[2026-03-13 11:13:52 DEBUG harmony_k8s::apply] apply_with_strategy: Some("allow-hostnetwork-scc") ns=Some("harmony-node-healthcheck")
[2026-03-13 11:13:52 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:13:54 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:13:54 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:13:54 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:54 INFO  harmony::modules::k8s::resource] Applying 1 resources : node-status-querier-scc-binding@harmony-node-healthcheck
[2026-03-13 11:13:54 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-status-querier-scc-binding") ns=Some("harmony-node-healthcheck")
[2026-03-13 11:13:54 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:13:55 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:13:55 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:13:55 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:55 INFO  harmony::modules::k8s::resource] Applying 1 resources : read-nodes-binding
[2026-03-13 11:13:55 DEBUG harmony_k8s::apply] apply_with_strategy: Some("read-nodes-binding") ns=None
[2026-03-13 11:13:55 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:13:57 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:13:57 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:13:57 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:57 INFO  harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck-critical
[2026-03-13 11:13:57 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck-critical") ns=None
[2026-03-13 11:13:57 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:13:59 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:13:59 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:13:59 INFO  harmony_cli::cli_logger] K8sResource running...
[2026-03-13 11:13:59 INFO  harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck@harmony-node-healthcheck
[2026-03-13 11:13:59 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck") ns=Some("harmony-node-healthcheck")
[2026-03-13 11:13:59 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1)
[2026-03-13 11:14:01 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed
[2026-03-13 11:14:01 INFO  harmony_cli::cli_logger] ✅ Successfully applied resource
[2026-03-13 11:14:01 INFO  harmony_cli::cli_logger] ✅ Harmony node health successfully deployed
[2026-03-13 11:14:01 DEBUG harmony::domain::maestro] Got result Ok(Outcome { status: SUCCESS, message: "Harmony node health successfully deployed", details: [] })
[2026-03-13 11:14:01 INFO  harmony_cli::cli_logger] 🎼 Harmony completed

stremblay@i9:~/nt/affilium/affilium2$ oc -n harmony-node-healthcheck get ds node-healthcheck -oyaml | grep priorityClassName
      priorityClassName: node-healthcheck-critical
stremblay@i9:~/nt/affilium/affilium2$ oc describe priorityclasses.scheduling.k8s.io node-healthcheck-critical
Name:              node-healthcheck-critical
Value:             1000000000
GlobalDefault:     false
PreemptionPolicy:  PreemptLowerPriority
Description:       Highest priority for node health check daemonset - can preempt lower priority pods
Annotations:       <none>
Events:            <none>
stremblay@i9:~/nt/affilium/affilium2$ oc get pods -n harmony-node-healthcheck -o custom-columns=NAME:.metadata.name,PRIORITY:.spec.priority
NAME                     PRIORITY
node-healthcheck-286rz   1000000000
node-healthcheck-2tjdd   1000000000
node-healthcheck-5fcwj   1000000000
node-healthcheck-92kfb   1000000000
node-healthcheck-c2hw4   1000000000
node-healthcheck-qpzd2   1000000000
- created new PriorityClass : `node-healthcheck-critical` - priority : 1000000000 (max configurable by a user) - PreemptionPolicy: PreemptLowerPriority (can preempt lower priority pods) - attached to `node-healthcheck` daemonset - made updates to opnsense-config to deal with st-mcd/cb1 opnsense config ``` > This will run the following scores: 0: NodeHealthScore Yes [2026-03-13 11:13:46 DEBUG harmony_cli] Running: NodeHealthScore [2026-03-13 11:13:46 DEBUG harmony::domain::maestro] Interpreting score NodeHealthScore [2026-03-13 11:13:46 INFO harmony_cli::cli_logger] 🎶 Interpreting score: NodeHealthScore... [2026-03-13 11:13:46 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:46 INFO harmony::modules::k8s::resource] Applying 1 resources : harmony-node-healthcheck [2026-03-13 11:13:46 DEBUG harmony_k8s::apply] apply_with_strategy: Some("harmony-node-healthcheck") ns=None [2026-03-13 11:13:46 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:13:48 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:13:48 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:13:48 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:48 INFO harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck-sa@harmony-node-healthcheck [2026-03-13 11:13:48 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck-sa") ns=Some("harmony-node-healthcheck") [2026-03-13 11:13:48 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:13:50 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:13:50 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:13:50 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:50 INFO harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck-role [2026-03-13 11:13:50 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck-role") ns=None [2026-03-13 11:13:50 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:13:52 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:13:52 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:13:52 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:52 INFO harmony::modules::k8s::resource] Applying 1 resources : allow-hostnetwork-scc@harmony-node-healthcheck [2026-03-13 11:13:52 DEBUG harmony_k8s::apply] apply_with_strategy: Some("allow-hostnetwork-scc") ns=Some("harmony-node-healthcheck") [2026-03-13 11:13:52 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:13:54 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:13:54 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:13:54 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:54 INFO harmony::modules::k8s::resource] Applying 1 resources : node-status-querier-scc-binding@harmony-node-healthcheck [2026-03-13 11:13:54 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-status-querier-scc-binding") ns=Some("harmony-node-healthcheck") [2026-03-13 11:13:54 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:13:55 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:13:55 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:13:55 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:55 INFO harmony::modules::k8s::resource] Applying 1 resources : read-nodes-binding [2026-03-13 11:13:55 DEBUG harmony_k8s::apply] apply_with_strategy: Some("read-nodes-binding") ns=None [2026-03-13 11:13:55 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:13:57 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:13:57 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:13:57 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:57 INFO harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck-critical [2026-03-13 11:13:57 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck-critical") ns=None [2026-03-13 11:13:57 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:13:59 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:13:59 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:13:59 INFO harmony_cli::cli_logger] K8sResource running... [2026-03-13 11:13:59 INFO harmony::modules::k8s::resource] Applying 1 resources : node-healthcheck@harmony-node-healthcheck [2026-03-13 11:13:59 DEBUG harmony_k8s::apply] apply_with_strategy: Some("node-healthcheck") ns=Some("harmony-node-healthcheck") [2026-03-13 11:13:59 DEBUG harmony_k8s::discovery] Running Kubernetes API discovery (attempt 1) [2026-03-13 11:14:01 DEBUG harmony_k8s::discovery] Kubernetes API discovery completed [2026-03-13 11:14:01 INFO harmony_cli::cli_logger] ✅ Successfully applied resource [2026-03-13 11:14:01 INFO harmony_cli::cli_logger] ✅ Harmony node health successfully deployed [2026-03-13 11:14:01 DEBUG harmony::domain::maestro] Got result Ok(Outcome { status: SUCCESS, message: "Harmony node health successfully deployed", details: [] }) [2026-03-13 11:14:01 INFO harmony_cli::cli_logger] 🎼 Harmony completed ``` ``` stremblay@i9:~/nt/affilium/affilium2$ oc -n harmony-node-healthcheck get ds node-healthcheck -oyaml | grep priorityClassName priorityClassName: node-healthcheck-critical stremblay@i9:~/nt/affilium/affilium2$ oc describe priorityclasses.scheduling.k8s.io node-healthcheck-critical Name: node-healthcheck-critical Value: 1000000000 GlobalDefault: false PreemptionPolicy: PreemptLowerPriority Description: Highest priority for node health check daemonset - can preempt lower priority pods Annotations: <none> Events: <none> stremblay@i9:~/nt/affilium/affilium2$ oc get pods -n harmony-node-healthcheck -o custom-columns=NAME:.metadata.name,PRIORITY:.spec.priority NAME PRIORITY node-healthcheck-286rz 1000000000 node-healthcheck-2tjdd 1000000000 node-healthcheck-5fcwj 1000000000 node-healthcheck-92kfb 1000000000 node-healthcheck-c2hw4 1000000000 node-healthcheck-qpzd2 1000000000 ```
stremblay added 1 commit 2026-03-13 15:23:38 +00:00
feat: add priorityClass to node_health daemonset
All checks were successful
Run Check Script / check (pull_request) Successful in 1m27s
b244127843
stremblay added 1 commit 2026-03-13 17:13:42 +00:00
fix: opnsense fixes for st-mcd (cb1)
All checks were successful
Run Check Script / check (pull_request) Successful in 1m29s
7605d05de3
Owner

LGTM

LGTM
stremblay merged commit f57e6f5957 into master 2026-03-14 18:53:32 +00:00
stremblay deleted branch feat/health_endpoint_priority_class 2026-03-14 18:53:32 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NationTech/harmony#249
No description provided.