summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorAndrew Topp <andrewt@telekinetica.net>2024-06-19 09:48:45 +1000
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2024-06-21 02:48:45 +0000
commit5e88f15b16d39213f349c3a7b4f1030a1399f1cb (patch)
treee1a1b9b25d7403fdd8cc7b01e6a1cd537ff8702e /python
parent1fc32e342dc053e54e658e3a0d72bdc340ddb9d6 (diff)
downloadvyos-1x-5e88f15b16d39213f349c3a7b4f1030a1399f1cb.tar.gz
vyos-1x-5e88f15b16d39213f349c3a7b4f1030a1399f1cb.zip
op-mode: T5514: Allow safe reboots to config defaults when config.boot is deleted
* Added flag to vyos.config_mgmt.unsaved_commits() that will tolerate missing config.boot for specific circumstances * Shutdown/reboot uses this flag; config will regenerate from defaults after a reboot (cherry picked from commit 8281383a09f12da20a1c9b4864b38ac3f541b48f)
Diffstat (limited to 'python')
-rw-r--r--python/vyos/config_mgmt.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/python/vyos/config_mgmt.py b/python/vyos/config_mgmt.py
index 70b6ea203..d518737ca 100644
--- a/python/vyos/config_mgmt.py
+++ b/python/vyos/config_mgmt.py
@@ -81,9 +81,11 @@ def save_config(target, json_out=None):
if rc != 0:
logger.critical(f'save config failed: {out}')
-def unsaved_commits() -> bool:
+def unsaved_commits(allow_missing_config=False) -> bool:
if get_full_version_data()['boot_via'] == 'livecd':
return False
+ if allow_missing_config and not os.path.exists(config_file):
+ return True
tmp_save = '/tmp/config.running'
save_config(tmp_save)
ret = not cmp(tmp_save, config_file, shallow=False)