diff options
| author | John Estabrook <jestabro@vyos.io> | 2026-03-29 21:23:57 -0500 |
|---|---|---|
| committer | John Estabrook <jestabro@vyos.io> | 2026-04-15 15:17:27 -0500 |
| commit | c9b4d635c0392cf5ee3fe55c3e7e516a6d4e66f3 (patch) | |
| tree | 045a17824c0161ab09d38bfff48d05b313b9fe1d | |
| parent | 47814a3f61f58dd79d4165cb75f358b93b289310 (diff) | |
| download | vyos-1x-c9b4d635c0392cf5ee3fe55c3e7e516a6d4e66f3.tar.gz vyos-1x-c9b4d635c0392cf5ee3fe55c3e7e516a6d4e66f3.zip | |
T8335: use activation script for installation of config path hint
This is necessary for images produced from a raw_image build (qcow2),
which no longer make use of the image_installer script.
| -rw-r--r-- | python/vyos/utils/activate.py | 8 | ||||
| -rw-r--r-- | src/activation-scripts/01-set-config-path-hint.py | 35 |
2 files changed, 43 insertions, 0 deletions
diff --git a/python/vyos/utils/activate.py b/python/vyos/utils/activate.py index 056bb2527..51b92a4aa 100644 --- a/python/vyos/utils/activate.py +++ b/python/vyos/utils/activate.py @@ -116,3 +116,11 @@ def set_first_installed_boot(): def is_first_installed_boot(): return Path(first_installed_boot_file).exists() + + +def set_config_path_hint(): + """The config hint allows subsequent installs to find previous disk + resident config data. It is traditionally added as part of the image + install procedure, however, for raw image builds an alternative is + needed.""" + Path(directories['config']).joinpath('.vyatta_config').touch(exist_ok=True) diff --git a/src/activation-scripts/01-set-config-path-hint.py b/src/activation-scripts/01-set-config-path-hint.py new file mode 100644 index 000000000..3146a7905 --- /dev/null +++ b/src/activation-scripts/01-set-config-path-hint.py @@ -0,0 +1,35 @@ +# Copyright (C) VyOS Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library. If not, see <http://www.gnu.org/licenses/>. + + +from vyos.configtree import ConfigTree +from vyos.system.image import is_live_boot +from vyos.utils.activate import set_activation +from vyos.utils.activate import set_config_path_hint +from vyos.utils.activate import is_first_installed_boot + + +def pre_condition() -> bool: + return not is_live_boot() + + +def activate(_config: ConfigTree) -> None: + pass + + +def post_condition() -> None: + if is_first_installed_boot(): + set_config_path_hint() + set_activation(__file__, 'never') |
