Skip to content

Commit 2367edb

Browse files
committed
standardize fail mechanism
Signed-off-by: Zen <[email protected]>
1 parent 59b7d98 commit 2367edb

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

src/ugrd/base/base.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
__author__ = 'desultory'
2-
__version__ = '4.1.1'
2+
__version__ = '4.2.0'
33

44
from importlib.metadata import version
55
from pathlib import Path
@@ -85,19 +85,15 @@ def do_switch_root(self) -> str:
8585
'fi',
8686
'echo "Checking root mount: $(readvar MOUNTS_ROOT_TARGET)"',
8787
'if ! grep -q " $(readvar MOUNTS_ROOT_TARGET) " /proc/mounts ; then',
88-
' ewarn "Root mount not found at: $(readvar MOUNTS_ROOT_TARGET)"',
89-
r' einfo "Current block devices:\n$(blkid)"',
90-
' prompt_user "Press enter to restart UGRD."',
91-
' exec /init',
88+
' rd_fail "Root not found at: $(readvar MOUNTS_ROOT_TARGET)"',
9289
'elif [ ! -e $(readvar SWITCH_ROOT_TARGET)$(readvar INIT_TARGET) ] ; then',
9390
' ewarn "$(readvar INIT_TARGET) not found at: $(readvar SWITCH_ROOT_TARGET)"',
9491
r' einfo "Target root contents:\n$(ls -l $(readvar SWITCH_ROOT_TARGET))"',
9592
' if _find_init ; then',
9693
' einfo "Switching root to: $(readvar SWITCH_ROOT_TARGET) $(readvar INIT_TARGET)"',
9794
' exec switch_root "$(readvar SWITCH_ROOT_TARGET)" "$(readvar INIT_TARGET)"',
9895
' fi',
99-
' prompt_user "Press enter to restart UGRD."',
100-
' exec /init',
96+
' rd_fail "Unable to find init."',
10197
'else',
10298
f' einfo "Completed UGRD v{version("ugrd")}."',
10399
' einfo "Switching root to: $(readvar SWITCH_ROOT_TARGET) $(readvar INIT_TARGET)"',
@@ -127,7 +123,7 @@ def rd_fail(self) -> list[str]:
127123
'else',
128124
' ewarn "PID is not 1, exiting: $$"',
129125
' exit',
130-
'fi']
126+
'fi']
131127

132128

133129
def setvar(self) -> str:

src/ugrd/crypto/cryptsetup.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
__author__ = 'desultory'
2-
__version__ = '1.9.0'
2+
__version__ = '2.0.0'
33

44
from zenlib.util import check_dict
55

@@ -281,6 +281,11 @@ def crypt_init(self) -> list[str]:
281281
f' ewarn "Failed to open device using keys: {name}"']
282282
out += [f' {bash_line}' for bash_line in open_crypt_device(self, name, new_params)]
283283
out += ['fi']
284+
# Check that the device was successfully opened
285+
out += [f'cryptsetup status {name}',
286+
'if [ $? -ne 0 ]; then',
287+
f' rd_fail "Failed to open cryptsetup device: {name}"',
288+
'fi']
284289
return out
285290

286291

0 commit comments

Comments
 (0)