From 0c4d653fc2db57df294856c2c77fe89d6f5923b8 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Thu, 24 Oct 2024 10:50:34 -0500 Subject: vyconf: T6718: add boot configs Add current config and failsafe for vyconfd to load on startup. --- src/init/vyos-router | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/init/vyos-router b/src/init/vyos-router index f8cc87507..9325095c1 100755 --- a/src/init/vyos-router +++ b/src/init/vyos-router @@ -24,6 +24,8 @@ declare action=$1; shift declare -x BOOTFILE=$vyatta_sysconfdir/config/config.boot declare -x DEFAULT_BOOTFILE=$vyatta_sysconfdir/config.boot.default +declare -x VYCONF_CONFIG_DIR=/usr/libexec/vyos/vyconf/config + # If vyos-config= boot option is present, use that file instead for x in $(cat /proc/cmdline); do [[ $x = vyos-config=* ]] || continue @@ -146,6 +148,10 @@ init_bootfile () { chgrp ${GROUP} $BOOTFILE chmod 660 $BOOTFILE fi + if [ -d $VYCONF_CONFIG_DIR ] ; then + cp -f $BOOTFILE $VYCONF_CONFIG_DIR/config.boot + cp -f $DEFAULT_BOOTFILE $VYCONF_CONFIG_DIR/config.failsafe + fi } # if necessary, migrate initial config @@ -154,6 +160,10 @@ migrate_bootfile () if [ -x $vyos_libexec_dir/run-config-migration.py ]; then log_progress_msg migrate sg ${GROUP} -c "$vyos_libexec_dir/run-config-migration.py $BOOTFILE" + # update vyconf copy after migration + if [ -d $VYCONF_CONFIG_DIR ] ; then + cp -f $BOOTFILE $VYCONF_CONFIG_DIR/config.boot + fi fi } -- cgit v1.2.3 From 184e24b7f0a2ead380703f98822b3fb2d35bef28 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Thu, 24 Oct 2024 10:50:34 -0500 Subject: vyconf: T6718: start vyconfd from vyos-router Start vyconfd after migration. --- src/init/vyos-router | 4 ++++ src/systemd/vyconfd.service | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 src/systemd/vyconfd.service (limited to 'src') diff --git a/src/init/vyos-router b/src/init/vyos-router index 9325095c1..e2e964656 100755 --- a/src/init/vyos-router +++ b/src/init/vyos-router @@ -528,6 +528,8 @@ start () disabled system_config || system_config + systemctl start vyconfd.service + for s in ${subinit[@]} ; do if ! disabled $s; then log_progress_msg $s @@ -570,6 +572,8 @@ stop() umount ${vyatta_configdir} log_action_end_msg $? + systemctl stop vyconfd.service + systemctl stop frr.service unmount_encrypted_config diff --git a/src/systemd/vyconfd.service b/src/systemd/vyconfd.service new file mode 100644 index 000000000..b20e831ab --- /dev/null +++ b/src/systemd/vyconfd.service @@ -0,0 +1,21 @@ +[Unit] +Description=VyOS vyconf daemon + +# Without this option, lots of default dependencies are added, +# among them network.target, which creates a dependency cycle +DefaultDependencies=no + +After=systemd-remount-fs.service + +[Service] +ExecStart=/usr/libexec/vyos/vyconf/vyconfd +Type=exec +SyslogIdentifier=vyconfd +SyslogFacility=daemon +Restart=on-failure + +User=root +Group=vyattacfg + +[Install] +WantedBy=vyos.target -- cgit v1.2.3 From 40f3a86e697f7f42af81556cd6c8e7d4a3498541 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Thu, 24 Oct 2024 10:50:34 -0500 Subject: vyconf: T6718: set log-file --- src/systemd/vyconfd.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/systemd/vyconfd.service b/src/systemd/vyconfd.service index b20e831ab..ab2280263 100644 --- a/src/systemd/vyconfd.service +++ b/src/systemd/vyconfd.service @@ -8,7 +8,7 @@ DefaultDependencies=no After=systemd-remount-fs.service [Service] -ExecStart=/usr/libexec/vyos/vyconf/vyconfd +ExecStart=/usr/libexec/vyos/vyconf/vyconfd --log-file /var/run/log/vyconfd.log Type=exec SyslogIdentifier=vyconfd SyslogFacility=daemon -- cgit v1.2.3