From e8581998c2bfbbee349eee89df6d59cc6c4fca16 Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Tue, 19 Sep 2023 18:41:07 +0200 Subject: init: T5239: configure system hostname prior to FRR startup On first boot after an upgrade /etc/hostname and FRR configuration is not populated. FRR determines the system hostname once during startup and does not repect changes of the hostname CLI value. Thus after an upgrade of VyOS FRR started with a hostname of debian that was propagated to peers. The commit retrieves the hostname from the CLI and presets this before FRR is initially started. (cherry picked from commit ac21a4e69fac27504b62927a20d0a6a273abb034) --- src/init/vyos-router | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/init/vyos-router b/src/init/vyos-router index cc69fae5a..b8833a8a0 100755 --- a/src/init/vyos-router +++ b/src/init/vyos-router @@ -371,8 +371,11 @@ start () && chgrp ${GROUP} ${vyatta_configdir} log_action_end_msg $? - rm -f /etc/hostname - ${vyos_conf_scripts_dir}/host_name.py || log_failure_msg "could not reset host-name" + # T5239: early read of system hostname as this value is read-only once during + # FRR initialisation + tmp=$(${vyos_libexec_dir}/read-saved-value.py --path "system host-name") + hostnamectl set-hostname --static "$tmp" + ${vyos_conf_scripts_dir}/system_frr.py || log_failure_msg "could not reset FRR config" # If for any reason FRR was not started by system_frr.py - start it anyways. # This is a safety net! -- cgit v1.2.3