summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2023-06-27 15:36:12 -0500
committerJohn Estabrook <jestabro@vyos.io>2023-06-28 11:52:16 -0500
commit186d05c3c792ea1c61e8f0e68fd7006917244660 (patch)
treea700c12c209d310211aed8db02a3c7f4f356e819
parent3d006d519ca99b71096d0028a9190e43eaa35f86 (diff)
downloadvyos-1x-186d05c3c792ea1c61e8f0e68fd7006917244660.tar.gz
vyos-1x-186d05c3c792ea1c61e8f0e68fd7006917244660.zip
T5320: check if unsaved commits are due to boot config error
-rw-r--r--python/vyos/util.py13
-rwxr-xr-xsrc/op_mode/powerctrl.py3
2 files changed, 15 insertions, 1 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py
index e62f9d5cf..33da5da40 100644
--- a/python/vyos/util.py
+++ b/python/vyos/util.py
@@ -1139,6 +1139,19 @@ def boot_configuration_complete() -> bool:
return True
return False
+def boot_configuration_success() -> bool:
+ from vyos.defaults import config_status
+
+ try:
+ with open(config_status) as f:
+ res = f.read().strip()
+ except FileNotFoundError:
+ return False
+
+ if int(res) == 0:
+ return True
+ return False
+
def sysctl_read(name):
""" Read and return current value of sysctl() option """
tmp = cmd(f'sysctl {name}')
diff --git a/src/op_mode/powerctrl.py b/src/op_mode/powerctrl.py
index 239f766fd..dfacd45c2 100755
--- a/src/op_mode/powerctrl.py
+++ b/src/op_mode/powerctrl.py
@@ -104,8 +104,9 @@ def cancel_shutdown():
def check_unsaved_config():
from vyos.config_mgmt import unsaved_commits
+ from vyos.util import boot_configuration_success
- if unsaved_commits():
+ if unsaved_commits() and boot_configuration_success():
print("Warning: there are unsaved configuration changes!")
print("Run 'save' command if you do not want to lose those changes after reboot/shutdown.")
else: