From 85938d7704c0df867f3555d5f4d7f713731516f2 Mon Sep 17 00:00:00 2001
From: Baptiste Jonglez <baptiste.jonglez@inria.fr>
Date: Wed, 19 Oct 2022 16:34:27 +0200
Subject: [PATCH] [execo_g5k] Fix check_deployed_command to account for miniOS
 or NVMe drives

This fixes two issues:

- while kadeploy is running, we get SSH access to the deployment miniOS.
  The current check_deployed_command was wrongly classifying the node as
  "deployed" in that case.

- Grid'5000 now has clusters with NVMe drives, and the current regexp was
  not handling that case (e.g. /dev/nvm0n1pX instead of /dev/sdbX).  It
  would wrongly classify the node as "undeployed" even though it was
  already deployed.

This changes the logic to a positive one.

Note that I couldn't actually test this with execo.  This is a kind of
"backport" of the same change in Enoslib (that I tested):

https://gitlab.inria.fr/discovery/enoslib/-/merge_requests/138
---
 src/execo_g5k/config.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/execo_g5k/config.py b/src/execo_g5k/config.py
index 636c4279..7a32be80 100644
--- a/src/execo_g5k/config.py
+++ b/src/execo_g5k/config.py
@@ -25,7 +25,7 @@ g5k_configuration = {
     'default_env_name': None,
     'default_env_file': None,
     'default_timeout': 900,
-    'check_deployed_command': "! (mount | grep -E '^/dev/[[:alpha:]]+2 on / ')",
+    'check_deployed_command': "mount | grep -q '^/dev/.*3 on / '",
     'no_ssh_for_local_frontend' : False,
     'polling_interval' : 20,
     'tiny_polling_interval' : 10,
@@ -61,7 +61,7 @@ g5k_configuration = {
   `execo_g5k.kadeploy.deploy` to check that the nodes are correctly
   deployed. This command should return 0 if the node is correctly
   deployed, or another value otherwise. The default checks that the
-  root is not on the second partition of the disk.
+  root filesystem is on the third partition of the disk.
 
 - ``no_ssh_for_local_frontend``: if True, don't use ssh to issue g5k
   commands for local site. If False, always use ssh, both for remote
-- 
GitLab