From: Daniel Kral <d.kral@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH ha-manager v4 16/19] test: ha tester: migrate groups to service and rules config
Date: Tue, 29 Jul 2025 20:00:56 +0200 [thread overview]
Message-ID: <20250729180107.428855-17-d.kral@proxmox.com> (raw)
In-Reply-To: <20250729180107.428855-1-d.kral@proxmox.com>
This is done, because in an upcoming patch, which persistently migrates
HA groups to node affinity rules, it would make all these test cases try
to migrate the HA groups config to the service and rules config. As this
is not the responsibility of these test cases and HA groups become
deprecated anyway, move them now.
Signed-off-by: Daniel Kral <d.kral@proxmox.com>
---
src/test/test-basic5/groups | 2 --
src/test/test-basic5/rules_config | 3 +++
src/test/test-basic5/service_config | 2 +-
src/test/test-crs-static2/groups | 2 --
src/test/test-crs-static2/rules_config | 3 +++
src/test/test-crs-static2/service_config | 2 +-
src/test/test-node-affinity-nonstrict1/groups | 2 --
src/test/test-node-affinity-nonstrict1/rules_config | 3 +++
src/test/test-node-affinity-nonstrict1/service_config | 2 +-
src/test/test-node-affinity-nonstrict2/groups | 3 ---
src/test/test-node-affinity-nonstrict2/rules_config | 3 +++
src/test/test-node-affinity-nonstrict2/service_config | 2 +-
src/test/test-node-affinity-nonstrict3/groups | 2 --
src/test/test-node-affinity-nonstrict3/rules_config | 3 +++
src/test/test-node-affinity-nonstrict3/service_config | 2 +-
src/test/test-node-affinity-nonstrict4/groups | 2 --
src/test/test-node-affinity-nonstrict4/rules_config | 3 +++
src/test/test-node-affinity-nonstrict4/service_config | 2 +-
src/test/test-node-affinity-nonstrict5/groups | 2 --
src/test/test-node-affinity-nonstrict5/rules_config | 3 +++
src/test/test-node-affinity-nonstrict5/service_config | 2 +-
src/test/test-node-affinity-nonstrict6/groups | 3 ---
src/test/test-node-affinity-nonstrict6/rules_config | 3 +++
src/test/test-node-affinity-nonstrict6/service_config | 2 +-
src/test/test-node-affinity-strict1/groups | 3 ---
src/test/test-node-affinity-strict1/rules_config | 4 ++++
src/test/test-node-affinity-strict1/service_config | 2 +-
src/test/test-node-affinity-strict2/groups | 4 ----
src/test/test-node-affinity-strict2/rules_config | 4 ++++
src/test/test-node-affinity-strict2/service_config | 2 +-
src/test/test-node-affinity-strict3/groups | 3 ---
src/test/test-node-affinity-strict3/rules_config | 4 ++++
src/test/test-node-affinity-strict3/service_config | 2 +-
src/test/test-node-affinity-strict4/groups | 3 ---
src/test/test-node-affinity-strict4/rules_config | 4 ++++
src/test/test-node-affinity-strict4/service_config | 2 +-
src/test/test-node-affinity-strict5/groups | 3 ---
src/test/test-node-affinity-strict5/rules_config | 4 ++++
src/test/test-node-affinity-strict5/service_config | 2 +-
src/test/test-node-affinity-strict6/groups | 4 ----
src/test/test-node-affinity-strict6/rules_config | 4 ++++
src/test/test-node-affinity-strict6/service_config | 2 +-
src/test/test-recovery1/groups | 4 ----
src/test/test-recovery1/rules_config | 4 ++++
src/test/test-recovery1/service_config | 2 +-
src/test/test-recovery2/groups | 4 ----
src/test/test-recovery2/rules_config | 4 ++++
src/test/test-recovery2/service_config | 2 +-
src/test/test-recovery3/groups | 4 ----
src/test/test-recovery3/rules_config | 4 ++++
src/test/test-recovery3/service_config | 2 +-
src/test/test-recovery4/groups | 4 ----
src/test/test-recovery4/rules_config | 4 ++++
src/test/test-recovery4/service_config | 2 +-
src/test/test-resource-failure2/groups | 2 --
src/test/test-resource-failure2/rules_config | 3 +++
src/test/test-resource-failure2/service_config | 2 +-
src/test/test-resource-failure3/service_config | 2 +-
src/test/test-shutdown2/groups | 2 --
src/test/test-shutdown2/rules_config | 3 +++
src/test/test-shutdown2/service_config | 4 ++--
src/test/test-shutdown3/groups | 2 --
src/test/test-shutdown3/rules_config | 3 +++
src/test/test-shutdown3/service_config | 4 ++--
64 files changed, 97 insertions(+), 84 deletions(-)
delete mode 100644 src/test/test-basic5/groups
create mode 100644 src/test/test-basic5/rules_config
delete mode 100644 src/test/test-crs-static2/groups
create mode 100644 src/test/test-crs-static2/rules_config
delete mode 100644 src/test/test-node-affinity-nonstrict1/groups
create mode 100644 src/test/test-node-affinity-nonstrict1/rules_config
delete mode 100644 src/test/test-node-affinity-nonstrict2/groups
create mode 100644 src/test/test-node-affinity-nonstrict2/rules_config
delete mode 100644 src/test/test-node-affinity-nonstrict3/groups
create mode 100644 src/test/test-node-affinity-nonstrict3/rules_config
delete mode 100644 src/test/test-node-affinity-nonstrict4/groups
create mode 100644 src/test/test-node-affinity-nonstrict4/rules_config
delete mode 100644 src/test/test-node-affinity-nonstrict5/groups
create mode 100644 src/test/test-node-affinity-nonstrict5/rules_config
delete mode 100644 src/test/test-node-affinity-nonstrict6/groups
create mode 100644 src/test/test-node-affinity-nonstrict6/rules_config
delete mode 100644 src/test/test-node-affinity-strict1/groups
create mode 100644 src/test/test-node-affinity-strict1/rules_config
delete mode 100644 src/test/test-node-affinity-strict2/groups
create mode 100644 src/test/test-node-affinity-strict2/rules_config
delete mode 100644 src/test/test-node-affinity-strict3/groups
create mode 100644 src/test/test-node-affinity-strict3/rules_config
delete mode 100644 src/test/test-node-affinity-strict4/groups
create mode 100644 src/test/test-node-affinity-strict4/rules_config
delete mode 100644 src/test/test-node-affinity-strict5/groups
create mode 100644 src/test/test-node-affinity-strict5/rules_config
delete mode 100644 src/test/test-node-affinity-strict6/groups
create mode 100644 src/test/test-node-affinity-strict6/rules_config
delete mode 100644 src/test/test-recovery1/groups
create mode 100644 src/test/test-recovery1/rules_config
delete mode 100644 src/test/test-recovery2/groups
create mode 100644 src/test/test-recovery2/rules_config
delete mode 100644 src/test/test-recovery3/groups
create mode 100644 src/test/test-recovery3/rules_config
delete mode 100644 src/test/test-recovery4/groups
create mode 100644 src/test/test-recovery4/rules_config
delete mode 100644 src/test/test-resource-failure2/groups
create mode 100644 src/test/test-resource-failure2/rules_config
delete mode 100644 src/test/test-shutdown2/groups
create mode 100644 src/test/test-shutdown2/rules_config
delete mode 100644 src/test/test-shutdown3/groups
create mode 100644 src/test/test-shutdown3/rules_config
diff --git a/src/test/test-basic5/groups b/src/test/test-basic5/groups
deleted file mode 100644
index 3c0cff1e..00000000
--- a/src/test/test-basic5/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: prefer_node1
- nodes node1
\ No newline at end of file
diff --git a/src/test/test-basic5/rules_config b/src/test/test-basic5/rules_config
new file mode 100644
index 00000000..d980209a
--- /dev/null
+++ b/src/test/test-basic5/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm101-should-be-on-node1
+ nodes node1
+ resources vm:101
diff --git a/src/test/test-basic5/service_config b/src/test/test-basic5/service_config
index 5bf422ca..c202a349 100644
--- a/src/test/test-basic5/service_config
+++ b/src/test/test-basic5/service_config
@@ -1,5 +1,5 @@
{
- "vm:101": { "node": "node1", "state": "enabled", "group": "prefer_node1" },
+ "vm:101": { "node": "node1", "state": "enabled" },
"vm:102": { "node": "node2", "state": "enabled" },
"vm:103": { "node": "node3", "state": "enabled" }
}
\ No newline at end of file
diff --git a/src/test/test-crs-static2/groups b/src/test/test-crs-static2/groups
deleted file mode 100644
index 43e9bf5f..00000000
--- a/src/test/test-crs-static2/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: prefer_node1
- nodes node1
diff --git a/src/test/test-crs-static2/rules_config b/src/test/test-crs-static2/rules_config
new file mode 100644
index 00000000..33df2db0
--- /dev/null
+++ b/src/test/test-crs-static2/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm102-should-be-on-node1
+ nodes node1
+ resources vm:102
diff --git a/src/test/test-crs-static2/service_config b/src/test/test-crs-static2/service_config
index 1f2333d0..9c124471 100644
--- a/src/test/test-crs-static2/service_config
+++ b/src/test/test-crs-static2/service_config
@@ -1,3 +1,3 @@
{
- "vm:102": { "node": "node1", "state": "enabled", "group": "prefer_node1" }
+ "vm:102": { "node": "node1", "state": "enabled" }
}
diff --git a/src/test/test-node-affinity-nonstrict1/groups b/src/test/test-node-affinity-nonstrict1/groups
deleted file mode 100644
index 50c9a2d7..00000000
--- a/src/test/test-node-affinity-nonstrict1/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: should_stay_here
- nodes node3
diff --git a/src/test/test-node-affinity-nonstrict1/rules_config b/src/test/test-node-affinity-nonstrict1/rules_config
new file mode 100644
index 00000000..f758b512
--- /dev/null
+++ b/src/test/test-node-affinity-nonstrict1/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm101-should-be-on-node3
+ nodes node3
+ resources vm:101
diff --git a/src/test/test-node-affinity-nonstrict1/service_config b/src/test/test-node-affinity-nonstrict1/service_config
index 5f558431..7f0b1bf9 100644
--- a/src/test/test-node-affinity-nonstrict1/service_config
+++ b/src/test/test-node-affinity-nonstrict1/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "should_stay_here" }
+ "vm:101": { "node": "node3", "state": "started" }
}
diff --git a/src/test/test-node-affinity-nonstrict2/groups b/src/test/test-node-affinity-nonstrict2/groups
deleted file mode 100644
index 59192fad..00000000
--- a/src/test/test-node-affinity-nonstrict2/groups
+++ /dev/null
@@ -1,3 +0,0 @@
-group: should_stay_here
- nodes node3
- nofailback 1
diff --git a/src/test/test-node-affinity-nonstrict2/rules_config b/src/test/test-node-affinity-nonstrict2/rules_config
new file mode 100644
index 00000000..f758b512
--- /dev/null
+++ b/src/test/test-node-affinity-nonstrict2/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm101-should-be-on-node3
+ nodes node3
+ resources vm:101
diff --git a/src/test/test-node-affinity-nonstrict2/service_config b/src/test/test-node-affinity-nonstrict2/service_config
index 5f558431..c7266eec 100644
--- a/src/test/test-node-affinity-nonstrict2/service_config
+++ b/src/test/test-node-affinity-nonstrict2/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "should_stay_here" }
+ "vm:101": { "node": "node3", "state": "started", "failback": 0 }
}
diff --git a/src/test/test-node-affinity-nonstrict3/groups b/src/test/test-node-affinity-nonstrict3/groups
deleted file mode 100644
index 50c9a2d7..00000000
--- a/src/test/test-node-affinity-nonstrict3/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: should_stay_here
- nodes node3
diff --git a/src/test/test-node-affinity-nonstrict3/rules_config b/src/test/test-node-affinity-nonstrict3/rules_config
new file mode 100644
index 00000000..f758b512
--- /dev/null
+++ b/src/test/test-node-affinity-nonstrict3/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm101-should-be-on-node3
+ nodes node3
+ resources vm:101
diff --git a/src/test/test-node-affinity-nonstrict3/service_config b/src/test/test-node-affinity-nonstrict3/service_config
index 777b2a7e..cdf0bd0c 100644
--- a/src/test/test-node-affinity-nonstrict3/service_config
+++ b/src/test/test-node-affinity-nonstrict3/service_config
@@ -1,5 +1,5 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "should_stay_here" },
+ "vm:101": { "node": "node3", "state": "started" },
"vm:102": { "node": "node2", "state": "started" },
"vm:103": { "node": "node2", "state": "started" }
}
diff --git a/src/test/test-node-affinity-nonstrict4/groups b/src/test/test-node-affinity-nonstrict4/groups
deleted file mode 100644
index b1584b55..00000000
--- a/src/test/test-node-affinity-nonstrict4/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: should_stay_here
- nodes node2,node3
diff --git a/src/test/test-node-affinity-nonstrict4/rules_config b/src/test/test-node-affinity-nonstrict4/rules_config
new file mode 100644
index 00000000..c9faedb1
--- /dev/null
+++ b/src/test/test-node-affinity-nonstrict4/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm101-should-be-on-node2-node3
+ nodes node2,node3
+ resources vm:101
diff --git a/src/test/test-node-affinity-nonstrict4/service_config b/src/test/test-node-affinity-nonstrict4/service_config
index 777b2a7e..cdf0bd0c 100644
--- a/src/test/test-node-affinity-nonstrict4/service_config
+++ b/src/test/test-node-affinity-nonstrict4/service_config
@@ -1,5 +1,5 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "should_stay_here" },
+ "vm:101": { "node": "node3", "state": "started" },
"vm:102": { "node": "node2", "state": "started" },
"vm:103": { "node": "node2", "state": "started" }
}
diff --git a/src/test/test-node-affinity-nonstrict5/groups b/src/test/test-node-affinity-nonstrict5/groups
deleted file mode 100644
index 03a0ee9b..00000000
--- a/src/test/test-node-affinity-nonstrict5/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: should_stay_here
- nodes node2:2,node3:1
diff --git a/src/test/test-node-affinity-nonstrict5/rules_config b/src/test/test-node-affinity-nonstrict5/rules_config
new file mode 100644
index 00000000..233b25d2
--- /dev/null
+++ b/src/test/test-node-affinity-nonstrict5/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm101-should-be-on-node2-node3
+ nodes node2:2,node3:1
+ resources vm:101
diff --git a/src/test/test-node-affinity-nonstrict5/service_config b/src/test/test-node-affinity-nonstrict5/service_config
index 5f558431..7f0b1bf9 100644
--- a/src/test/test-node-affinity-nonstrict5/service_config
+++ b/src/test/test-node-affinity-nonstrict5/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "should_stay_here" }
+ "vm:101": { "node": "node3", "state": "started" }
}
diff --git a/src/test/test-node-affinity-nonstrict6/groups b/src/test/test-node-affinity-nonstrict6/groups
deleted file mode 100644
index a7aed178..00000000
--- a/src/test/test-node-affinity-nonstrict6/groups
+++ /dev/null
@@ -1,3 +0,0 @@
-group: should_stay_here
- nodes node2:2,node3:1
- nofailback 1
diff --git a/src/test/test-node-affinity-nonstrict6/rules_config b/src/test/test-node-affinity-nonstrict6/rules_config
new file mode 100644
index 00000000..233b25d2
--- /dev/null
+++ b/src/test/test-node-affinity-nonstrict6/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm101-should-be-on-node2-node3
+ nodes node2:2,node3:1
+ resources vm:101
diff --git a/src/test/test-node-affinity-nonstrict6/service_config b/src/test/test-node-affinity-nonstrict6/service_config
index c4ece62c..98aef4e9 100644
--- a/src/test/test-node-affinity-nonstrict6/service_config
+++ b/src/test/test-node-affinity-nonstrict6/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node2", "state": "started", "group": "should_stay_here" }
+ "vm:101": { "node": "node2", "state": "started", "failback": 0 }
}
diff --git a/src/test/test-node-affinity-strict1/groups b/src/test/test-node-affinity-strict1/groups
deleted file mode 100644
index 370865f6..00000000
--- a/src/test/test-node-affinity-strict1/groups
+++ /dev/null
@@ -1,3 +0,0 @@
-group: must_stay_here
- nodes node3
- restricted 1
diff --git a/src/test/test-node-affinity-strict1/rules_config b/src/test/test-node-affinity-strict1/rules_config
new file mode 100644
index 00000000..25aa655f
--- /dev/null
+++ b/src/test/test-node-affinity-strict1/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm101-must-be-on-node3
+ nodes node3
+ resources vm:101
+ strict 1
diff --git a/src/test/test-node-affinity-strict1/service_config b/src/test/test-node-affinity-strict1/service_config
index 36ea15b1..7f0b1bf9 100644
--- a/src/test/test-node-affinity-strict1/service_config
+++ b/src/test/test-node-affinity-strict1/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "must_stay_here" }
+ "vm:101": { "node": "node3", "state": "started" }
}
diff --git a/src/test/test-node-affinity-strict2/groups b/src/test/test-node-affinity-strict2/groups
deleted file mode 100644
index e43eafc5..00000000
--- a/src/test/test-node-affinity-strict2/groups
+++ /dev/null
@@ -1,4 +0,0 @@
-group: must_stay_here
- nodes node3
- restricted 1
- nofailback 1
diff --git a/src/test/test-node-affinity-strict2/rules_config b/src/test/test-node-affinity-strict2/rules_config
new file mode 100644
index 00000000..25aa655f
--- /dev/null
+++ b/src/test/test-node-affinity-strict2/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm101-must-be-on-node3
+ nodes node3
+ resources vm:101
+ strict 1
diff --git a/src/test/test-node-affinity-strict2/service_config b/src/test/test-node-affinity-strict2/service_config
index 36ea15b1..c7266eec 100644
--- a/src/test/test-node-affinity-strict2/service_config
+++ b/src/test/test-node-affinity-strict2/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "must_stay_here" }
+ "vm:101": { "node": "node3", "state": "started", "failback": 0 }
}
diff --git a/src/test/test-node-affinity-strict3/groups b/src/test/test-node-affinity-strict3/groups
deleted file mode 100644
index 370865f6..00000000
--- a/src/test/test-node-affinity-strict3/groups
+++ /dev/null
@@ -1,3 +0,0 @@
-group: must_stay_here
- nodes node3
- restricted 1
diff --git a/src/test/test-node-affinity-strict3/rules_config b/src/test/test-node-affinity-strict3/rules_config
new file mode 100644
index 00000000..25aa655f
--- /dev/null
+++ b/src/test/test-node-affinity-strict3/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm101-must-be-on-node3
+ nodes node3
+ resources vm:101
+ strict 1
diff --git a/src/test/test-node-affinity-strict3/service_config b/src/test/test-node-affinity-strict3/service_config
index 9adf02c8..cdf0bd0c 100644
--- a/src/test/test-node-affinity-strict3/service_config
+++ b/src/test/test-node-affinity-strict3/service_config
@@ -1,5 +1,5 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "must_stay_here" },
+ "vm:101": { "node": "node3", "state": "started" },
"vm:102": { "node": "node2", "state": "started" },
"vm:103": { "node": "node2", "state": "started" }
}
diff --git a/src/test/test-node-affinity-strict4/groups b/src/test/test-node-affinity-strict4/groups
deleted file mode 100644
index 0ad2abc6..00000000
--- a/src/test/test-node-affinity-strict4/groups
+++ /dev/null
@@ -1,3 +0,0 @@
-group: must_stay_here
- nodes node2,node3
- restricted 1
diff --git a/src/test/test-node-affinity-strict4/rules_config b/src/test/test-node-affinity-strict4/rules_config
new file mode 100644
index 00000000..ceb59540
--- /dev/null
+++ b/src/test/test-node-affinity-strict4/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm101-must-be-on-node2-node3
+ nodes node2,node3
+ resources vm:101
+ strict 1
diff --git a/src/test/test-node-affinity-strict4/service_config b/src/test/test-node-affinity-strict4/service_config
index 9adf02c8..cdf0bd0c 100644
--- a/src/test/test-node-affinity-strict4/service_config
+++ b/src/test/test-node-affinity-strict4/service_config
@@ -1,5 +1,5 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "must_stay_here" },
+ "vm:101": { "node": "node3", "state": "started" },
"vm:102": { "node": "node2", "state": "started" },
"vm:103": { "node": "node2", "state": "started" }
}
diff --git a/src/test/test-node-affinity-strict5/groups b/src/test/test-node-affinity-strict5/groups
deleted file mode 100644
index ec3cd799..00000000
--- a/src/test/test-node-affinity-strict5/groups
+++ /dev/null
@@ -1,3 +0,0 @@
-group: must_stay_here
- nodes node2:2,node3:1
- restricted 1
diff --git a/src/test/test-node-affinity-strict5/rules_config b/src/test/test-node-affinity-strict5/rules_config
new file mode 100644
index 00000000..8ad48205
--- /dev/null
+++ b/src/test/test-node-affinity-strict5/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm101-must-be-on-node2-node3
+ nodes node2:2,node3:1
+ resources vm:101
+ strict 1
diff --git a/src/test/test-node-affinity-strict5/service_config b/src/test/test-node-affinity-strict5/service_config
index 36ea15b1..7f0b1bf9 100644
--- a/src/test/test-node-affinity-strict5/service_config
+++ b/src/test/test-node-affinity-strict5/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node3", "state": "started", "group": "must_stay_here" }
+ "vm:101": { "node": "node3", "state": "started" }
}
diff --git a/src/test/test-node-affinity-strict6/groups b/src/test/test-node-affinity-strict6/groups
deleted file mode 100644
index cdd0e502..00000000
--- a/src/test/test-node-affinity-strict6/groups
+++ /dev/null
@@ -1,4 +0,0 @@
-group: must_stay_here
- nodes node2:2,node3:1
- restricted 1
- nofailback 1
diff --git a/src/test/test-node-affinity-strict6/rules_config b/src/test/test-node-affinity-strict6/rules_config
new file mode 100644
index 00000000..8ad48205
--- /dev/null
+++ b/src/test/test-node-affinity-strict6/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm101-must-be-on-node2-node3
+ nodes node2:2,node3:1
+ resources vm:101
+ strict 1
diff --git a/src/test/test-node-affinity-strict6/service_config b/src/test/test-node-affinity-strict6/service_config
index 1d371e1e..98aef4e9 100644
--- a/src/test/test-node-affinity-strict6/service_config
+++ b/src/test/test-node-affinity-strict6/service_config
@@ -1,3 +1,3 @@
{
- "vm:101": { "node": "node2", "state": "started", "group": "must_stay_here" }
+ "vm:101": { "node": "node2", "state": "started", "failback": 0 }
}
diff --git a/src/test/test-recovery1/groups b/src/test/test-recovery1/groups
deleted file mode 100644
index 06c7f76e..00000000
--- a/src/test/test-recovery1/groups
+++ /dev/null
@@ -1,4 +0,0 @@
-group: prefer_node2
- nodes node2
- restricted 1
-
diff --git a/src/test/test-recovery1/rules_config b/src/test/test-recovery1/rules_config
new file mode 100644
index 00000000..7ce791f5
--- /dev/null
+++ b/src/test/test-recovery1/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm102-must-be-on-node2
+ nodes node2
+ resources vm:102
+ strict 1
diff --git a/src/test/test-recovery1/service_config b/src/test/test-recovery1/service_config
index 39a05e59..933564e3 100644
--- a/src/test/test-recovery1/service_config
+++ b/src/test/test-recovery1/service_config
@@ -1,3 +1,3 @@
{
- "vm:102": { "node": "node2", "state": "enabled", "group": "prefer_node2" }
+ "vm:102": { "node": "node2", "state": "enabled" }
}
diff --git a/src/test/test-recovery2/groups b/src/test/test-recovery2/groups
deleted file mode 100644
index 06c7f76e..00000000
--- a/src/test/test-recovery2/groups
+++ /dev/null
@@ -1,4 +0,0 @@
-group: prefer_node2
- nodes node2
- restricted 1
-
diff --git a/src/test/test-recovery2/rules_config b/src/test/test-recovery2/rules_config
new file mode 100644
index 00000000..7ce791f5
--- /dev/null
+++ b/src/test/test-recovery2/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm102-must-be-on-node2
+ nodes node2
+ resources vm:102
+ strict 1
diff --git a/src/test/test-recovery2/service_config b/src/test/test-recovery2/service_config
index 39a05e59..933564e3 100644
--- a/src/test/test-recovery2/service_config
+++ b/src/test/test-recovery2/service_config
@@ -1,3 +1,3 @@
{
- "vm:102": { "node": "node2", "state": "enabled", "group": "prefer_node2" }
+ "vm:102": { "node": "node2", "state": "enabled" }
}
diff --git a/src/test/test-recovery3/groups b/src/test/test-recovery3/groups
deleted file mode 100644
index 06c7f76e..00000000
--- a/src/test/test-recovery3/groups
+++ /dev/null
@@ -1,4 +0,0 @@
-group: prefer_node2
- nodes node2
- restricted 1
-
diff --git a/src/test/test-recovery3/rules_config b/src/test/test-recovery3/rules_config
new file mode 100644
index 00000000..7ce791f5
--- /dev/null
+++ b/src/test/test-recovery3/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm102-must-be-on-node2
+ nodes node2
+ resources vm:102
+ strict 1
diff --git a/src/test/test-recovery3/service_config b/src/test/test-recovery3/service_config
index 39a05e59..933564e3 100644
--- a/src/test/test-recovery3/service_config
+++ b/src/test/test-recovery3/service_config
@@ -1,3 +1,3 @@
{
- "vm:102": { "node": "node2", "state": "enabled", "group": "prefer_node2" }
+ "vm:102": { "node": "node2", "state": "enabled" }
}
diff --git a/src/test/test-recovery4/groups b/src/test/test-recovery4/groups
deleted file mode 100644
index 06c7f76e..00000000
--- a/src/test/test-recovery4/groups
+++ /dev/null
@@ -1,4 +0,0 @@
-group: prefer_node2
- nodes node2
- restricted 1
-
diff --git a/src/test/test-recovery4/rules_config b/src/test/test-recovery4/rules_config
new file mode 100644
index 00000000..7ce791f5
--- /dev/null
+++ b/src/test/test-recovery4/rules_config
@@ -0,0 +1,4 @@
+node-affinity: vm102-must-be-on-node2
+ nodes node2
+ resources vm:102
+ strict 1
diff --git a/src/test/test-recovery4/service_config b/src/test/test-recovery4/service_config
index 39a05e59..933564e3 100644
--- a/src/test/test-recovery4/service_config
+++ b/src/test/test-recovery4/service_config
@@ -1,3 +1,3 @@
{
- "vm:102": { "node": "node2", "state": "enabled", "group": "prefer_node2" }
+ "vm:102": { "node": "node2", "state": "enabled" }
}
diff --git a/src/test/test-resource-failure2/groups b/src/test/test-resource-failure2/groups
deleted file mode 100644
index 01d634f2..00000000
--- a/src/test/test-resource-failure2/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: all
- nodes node1,node2,node3
diff --git a/src/test/test-resource-failure2/rules_config b/src/test/test-resource-failure2/rules_config
new file mode 100644
index 00000000..11ff0187
--- /dev/null
+++ b/src/test/test-resource-failure2/rules_config
@@ -0,0 +1,3 @@
+node-affinity: fa130-should-be-on-node1-node2-node3
+ nodes node1,node2,node3
+ resources fa:130
diff --git a/src/test/test-resource-failure2/service_config b/src/test/test-resource-failure2/service_config
index a3f54599..7f0a481c 100644
--- a/src/test/test-resource-failure2/service_config
+++ b/src/test/test-resource-failure2/service_config
@@ -1,3 +1,3 @@
{
- "fa:130": { "node": "node2", "max_restart": "2", "group" : "all" }
+ "fa:130": { "node": "node2", "max_restart": "2" }
}
diff --git a/src/test/test-resource-failure3/service_config b/src/test/test-resource-failure3/service_config
index d596b9cf..61cfa1e1 100644
--- a/src/test/test-resource-failure3/service_config
+++ b/src/test/test-resource-failure3/service_config
@@ -1,3 +1,3 @@
{
- "fa:101": { "node": "node2", "group" : "all", "state" : "enabled" }
+ "fa:101": { "node": "node2", "state" : "enabled" }
}
diff --git a/src/test/test-shutdown2/groups b/src/test/test-shutdown2/groups
deleted file mode 100644
index d8ee675e..00000000
--- a/src/test/test-shutdown2/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: prefer_node3
- nodes node3
diff --git a/src/test/test-shutdown2/rules_config b/src/test/test-shutdown2/rules_config
new file mode 100644
index 00000000..a7b9226d
--- /dev/null
+++ b/src/test/test-shutdown2/rules_config
@@ -0,0 +1,3 @@
+node-affinity: vm103-should-be-on-node3
+ nodes node3
+ resources vm:103
diff --git a/src/test/test-shutdown2/service_config b/src/test/test-shutdown2/service_config
index 7153f420..c6860e7c 100644
--- a/src/test/test-shutdown2/service_config
+++ b/src/test/test-shutdown2/service_config
@@ -1,3 +1,3 @@
{
- "vm:103": { "node": "node3", "state": "enabled", "group": "prefer_node3" }
-}
\ No newline at end of file
+ "vm:103": { "node": "node3", "state": "enabled" }
+}
diff --git a/src/test/test-shutdown3/groups b/src/test/test-shutdown3/groups
deleted file mode 100644
index d8ee675e..00000000
--- a/src/test/test-shutdown3/groups
+++ /dev/null
@@ -1,2 +0,0 @@
-group: prefer_node3
- nodes node3
diff --git a/src/test/test-shutdown3/rules_config b/src/test/test-shutdown3/rules_config
new file mode 100644
index 00000000..aae55621
--- /dev/null
+++ b/src/test/test-shutdown3/rules_config
@@ -0,0 +1,3 @@
+node-affinity: ct103-should-be-on-node3
+ nodes node3
+ resources ct:103
diff --git a/src/test/test-shutdown3/service_config b/src/test/test-shutdown3/service_config
index 1b98cf4d..f2624ede 100644
--- a/src/test/test-shutdown3/service_config
+++ b/src/test/test-shutdown3/service_config
@@ -1,3 +1,3 @@
{
- "ct:103": { "node": "node3", "state": "enabled", "group": "prefer_node3" }
-}
\ No newline at end of file
+ "ct:103": { "node": "node3", "state": "enabled" }
+}
--
2.47.2
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2025-07-29 18:02 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-29 18:00 [pve-devel] [PATCH docs/ha-manager/manager v4 00/25] HA Rules Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 01/19] tree-wide: make arguments for select_service_node explicit Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 02/19] manager: improve signature of select_service_node Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 03/19] introduce rules base plugin Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 04/19] rules: introduce node affinity rule plugin Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 05/19] config, env, hw: add rules read and parse methods Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 06/19] config: delete services from rules if services are deleted from config Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 07/19] manager: read and update rules config Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 08/19] test: ha tester: add test cases for future node affinity rules Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 09/19] resources: introduce failback property in ha resource config Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 10/19] manager: migrate ha groups to node affinity rules in-memory Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 11/19] manager: apply node affinity rules when selecting service nodes Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 12/19] test: add test cases for rules config Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 13/19] api: introduce ha rules api endpoints Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 14/19] cli: expose ha rules api endpoints to ha-manager cli Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 15/19] sim: do not create default groups for test cases Daniel Kral
2025-07-30 10:01 ` Daniel Kral
2025-07-29 18:00 ` Daniel Kral [this message]
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 17/19] test: ha tester: replace any reference to groups with node affinity rules Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 18/19] env: add property delete for update_service_config Daniel Kral
2025-07-29 18:00 ` [pve-devel] [PATCH ha-manager v4 19/19] manager: persistently migrate ha groups to ha rules Daniel Kral
2025-07-29 18:01 ` [pve-devel] [PATCH docs v4 1/2] ha: add documentation about ha rules and ha node affinity rules Daniel Kral
2025-07-29 18:01 ` [pve-devel] [PATCH docs v4 2/2] ha: crs: add effects of ha node affinity rule on the crs scheduler Daniel Kral
2025-07-29 18:01 ` [pve-devel] [PATCH manager v4 1/4] api: ha: add ha rules api endpoints Daniel Kral
2025-07-29 18:01 ` [pve-devel] [PATCH manager v4 2/4] ui: ha: remove ha groups from ha resource components Daniel Kral
2025-07-29 18:01 ` [pve-devel] [PATCH manager v4 3/4] ui: ha: show failback flag in resources status view Daniel Kral
2025-07-29 18:01 ` [pve-devel] [PATCH manager v4 4/4] ui: ha: replace ha groups with ha node affinity rules Daniel Kral
2025-07-30 17:29 ` [pve-devel] [PATCH docs/ha-manager/manager v4 00/25] HA Rules Michael Köppl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250729180107.428855-17-d.kral@proxmox.com \
--to=d.kral@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.