mirror of
https://github.com/apple/container.git
synced 2026-10-14 01:59:18 +00:00
Fix k8s list grouping for dual-role control-plane nodes (#2315)
This commit is contained in:
1 parent
d5023f4071
commit
dbd5ca0840
2 files changed
+22
-3
No files matched your search
@@ -86,9 +86,13 @@ public struct K8sHelper {
|
||||
var controlPlanes: [ContainerSnapshot] = []
|
||||
var workers: [ContainerSnapshot] = []
|
||||
for snapshot in snapshots {
|
||||
switch snapshot.configuration.labels[ResourceLabelKeys.role] {
|
||||
case controlPlaneRoleName: controlPlanes.append(snapshot)
|
||||
default: workers.append(snapshot)
|
||||
let roles = snapshot.configuration.labels[ResourceLabelKeys.role, default: ""]
|
||||
.split(separator: ",")
|
||||
.map { $0.trimmingCharacters(in: .whitespacesAndNewlines) }
|
||||
if roles.contains(controlPlaneRoleName) {
|
||||
controlPlanes.append(snapshot)
|
||||
} else {
|
||||
workers.append(snapshot)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -153,6 +153,21 @@ struct BuildK8sRowsTests {
|
||||
#expect(rows[2].snapshot.id == "dev-worker-2")
|
||||
}
|
||||
|
||||
@Test func mixedControlPlaneRoleIsGroupedAsControlPlane() throws {
|
||||
let cp = try makeSnapshot(
|
||||
id: "k8s-dev",
|
||||
role: "\(K8sHelper.controlPlaneRoleName),worker")
|
||||
let worker = try makeWorker("k8s-dev-worker-1")
|
||||
|
||||
let rows = K8sHelper.buildK8sRows(from: [worker, cp])
|
||||
|
||||
#expect(rows.count == 2)
|
||||
#expect(rows[0].snapshot.id == "k8s-dev")
|
||||
#expect(rows[0].clusterName == "k8s-dev")
|
||||
#expect(rows[1].snapshot.id == "k8s-dev-worker-1")
|
||||
#expect(rows[1].clusterName == "k8s-dev")
|
||||
}
|
||||
|
||||
@Test func workersGroupedUnderCorrectControlPlane() throws {
|
||||
let cp1 = try makeControlPlane("alpha")
|
||||
let cp2 = try makeControlPlane("beta")
|
||||
|
||||
Reference in new issue
Block a user