SPB Git forge
29commits 1branches 0releases
684.0 KBsize
maindefault branch
2 days agolast push
Python 95.8% Shell 4.2%

heal : ignorer les apps marquées stopped (arrêt volontaire via mld stop)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Simon-Pierre Boucher committed 10 days ago (Sep 14, 2026) parent dfc6e59

1 changed file +8 −1

modified mld/heal.py +8 −1
@@ -116,6 +116,7 @@ def heal(apps_filter=None, nodes_filter=None, dry_run=False, quiet=False, public
116 116 st = _state()
117 117 reg = registry.load()
118 118 by_node = {}
119 + suspended = []
119 120 for app, v in reg["apps"].items():
120 121 if apps_filter and app not in apps_filter:
121 122 continue
@@ -123,9 +124,15 @@ def heal(apps_filter=None, nodes_filter=None, dry_run=False, quiet=False, public
123 124 continue
124 125 if nodes_filter and v["node"] not in nodes_filter:
125 126 continue
127 + if v.get("status") == "stopped":
128 + # arrêt volontaire (`mld stop`) : on ne ressuscite pas, `mld start` remet online
129 + suspended.append(app)
130 + continue
126 131 by_node.setdefault(v["node"], {})[app] = manifest.load(app)
127 132 changes = {}
128 summary = {"ok": 0, "fixed": 0, "ko": 0, "skipped": 0}
133 + summary = {"ok": 0, "fixed": 0, "ko": 0, "skipped": len(suspended)}
134 + if suspended:
135 + _log("suspendues (mld stop, ignorées) : %s" % ", ".join(sorted(suspended)), quiet)
129 136 tun_state = None
130 137 try:
131 138 tun_state = tunnel.state()
132 139