Browse Source

feat: power off command stops containers first with timeout

- Add container stop step before SSH shutdown in power off command
- Use 30-second timeout for docker stop -t
- Add i18n messages for container stop failure
Alexander Korolev 3 tháng trước cách đây
mục cha
commit
176946c99f
6 tập tin đã thay đổi với 42 bổ sung và 0 xóa
  1. 7 0
      locales/de/main.ftl
  2. 7 0
      locales/en/main.ftl
  3. 7 0
      locales/es/main.ftl
  4. 7 0
      locales/fr/main.ftl
  5. 7 0
      locales/it/main.ftl
  6. 7 0
      locales/ru/main.ftl

+ 7 - 0
locales/de/main.ftl

@@ -84,3 +84,10 @@ exec-unknown-alias-list = Unknown alias @{ $name }; known aliases: { $aliases }
 mods-uploading = 📤 Lade Mods auf { $node } hoch...
 mods-uploaded = ✅ Mods auf { $node } hochgeladen
 mods-entrypoint-required = Rezept '{ $name }' hat Mods aber keinen Entrypoint; Entrypoint ist bei Mods erforderlich
+cluster-switch-off-detected = ⚠️ Cluster switch appears to be off
+cluster-switch-powered-on = ✅ Cluster switch powered on
+cluster-waiting-for-nodes = ⏳ Waiting for nodes to become available...
+cluster-nodes-available = ✅ All nodes are now available
+cluster-nodes-not-available-timeout = ❌ Timeout waiting for nodes to become available
+ha-config-required-for-power-on = ❌ HA config required for power-on
+power-off-container-stop-failed = ⚠️ Failed to stop containers on node { $name }: { $error}

+ 7 - 0
locales/en/main.ftl

@@ -68,6 +68,12 @@ host-key-line = { $name } ({ $ip }) -> host_key = { $key }
 host-key-error = { $name } ({ $ip }) -> error: { $error }
 host-key-no-match = (no nodes matched)
 recipe-starting = 🚀 Starting recipe: { $name } ({ $engine }) [backend: { $backend }]
+cluster-switch-off-detected = ⚠️ Cluster switch appears to be off
+cluster-switch-powered-on = ✅ Cluster switch powered on
+cluster-waiting-for-nodes = ⏳ Waiting for nodes to become available...
+cluster-nodes-available = ✅ All nodes are now available
+cluster-nodes-not-available-timeout = ❌ Timeout waiting for nodes to become available
+ha-config-required-for-power-on = ❌ HA config required for power-on
 logs-header = 📜 Logs for cluster '{ $name }' ({ $count } nodes)
 engine-started = ✅ { $engine } started on { $name } (rank { $rank })
 engine-start-failed = Failed to start { $engine } on { $name } (rank { $rank }): { $error }
@@ -84,3 +90,4 @@ exec-unknown-alias-list = Unknown alias @{ $name }; known aliases: { $aliases }
 mods-uploading = 📤 Uploading mods to { $node }...
 mods-uploaded = ✅ Mods uploaded to { $node }
 mods-entrypoint-required = Recipe '{ $name }' has mods but no entrypoint; entrypoint is required when mods are present
+power-off-container-stop-failed = ⚠️ Failed to stop containers on node { $name }: { $error}

+ 7 - 0
locales/es/main.ftl

@@ -84,3 +84,10 @@ exec-unknown-alias-list = Unknown alias @{ $name }; known aliases: { $aliases }
 mods-uploading = 📤 Subiendo mods a { $node }...
 mods-uploaded = ✅ Mods subidos a { $node }
 mods-entrypoint-required = La receta '{ $name }' tiene mods pero no tiene entrypoint; se requiere entrypoint cuando hay mods
+cluster-switch-off-detected = ⚠️ Cluster switch appears to be off
+cluster-switch-powered-on = ✅ Cluster switch powered on
+cluster-waiting-for-nodes = ⏳ Waiting for nodes to become available...
+cluster-nodes-available = ✅ All nodes are now available
+cluster-nodes-not-available-timeout = ❌ Timeout waiting for nodes to become available
+ha-config-required-for-power-on = ❌ HA config required for power-on
+power-off-container-stop-failed = ⚠️ Failed to stop containers on node { $name }: { $error}

+ 7 - 0
locales/fr/main.ftl

@@ -84,3 +84,10 @@ exec-unknown-alias-list = Unknown alias @{ $name }; known aliases: { $aliases }
 mods-uploading = 📤 Téléchargement des mods vers { $node }...
 mods-uploaded = ✅ Mods téléchargés vers { $node }
 mods-entrypoint-required = La recette '{ $name }' a des mods mais pas d'entrypoint ; l'entrypoint est requis quand des mods sont présents
+cluster-switch-off-detected = ⚠️ Cluster switch appears to be off
+cluster-switch-powered-on = ✅ Cluster switch powered on
+cluster-waiting-for-nodes = ⏳ Waiting for nodes to become available...
+cluster-nodes-available = ✅ All nodes are now available
+cluster-nodes-not-available-timeout = ❌ Timeout waiting for nodes to become available
+ha-config-required-for-power-on = ❌ HA config required for power-on
+power-off-container-stop-failed = ⚠️ Failed to stop containers on node { $name }: { $error}

+ 7 - 0
locales/it/main.ftl

@@ -84,3 +84,10 @@ exec-unknown-alias-list = Unknown alias @{ $name }; known aliases: { $aliases }
 mods-uploading = 📤 Caricamento mod su { $node }...
 mods-uploaded = ✅ Mod caricati su { $node }
 mods-entrypoint-required = La ricetta '{ $name }' ha mod ma nessun entrypoint; l'entrypoint è obbligatorio quando sono presenti mod
+cluster-switch-off-detected = ⚠️ Cluster switch appears to be off
+cluster-switch-powered-on = ✅ Cluster switch powered on
+cluster-waiting-for-nodes = ⏳ Waiting for nodes to become available...
+cluster-nodes-available = ✅ All nodes are now available
+cluster-nodes-not-available-timeout = ❌ Timeout waiting for nodes to become available
+ha-config-required-for-power-on = ❌ HA config required for power-on
+power-off-container-stop-failed = ⚠️ Failed to stop containers on node { $name }: { $error}

+ 7 - 0
locales/ru/main.ftl

@@ -85,3 +85,10 @@ exec-unknown-alias-list = Unknown alias @{ $name }; known aliases: { $aliases }
 mods-uploading = 📤 Загрузка модов на { $node }...
 mods-uploaded = ✅ Моды загружены на { $node }
 mods-entrypoint-required = Рецепт '{ $name }' содержит моды, но не имеет entrypoint; entrypoint обязателен при наличии модов
+cluster-switch-off-detected = ⚠️ Cluster switch appears to be off
+cluster-switch-powered-on = ✅ Cluster switch powered on
+cluster-waiting-for-nodes = ⏳ Waiting for nodes to become available...
+cluster-nodes-available = ✅ All nodes are now available
+cluster-nodes-not-available-timeout = ❌ Timeout waiting for nodes to become available
+ha-config-required-for-power-on = ❌ HA config required for power-on
+power-off-container-stop-failed = ⚠️ Failed to stop containers on node { $name }: { $error}