Created attachment 202299 [details]
When using 'integrated-vtysh-config' mode with frr.conf (frr_vtysh_boot rc flag), but without any daemon specific config files (e.g. ospfd.conf) all daemons failed to start. Then 'vtysh -b' failed to apply config to daemons.
Steps to reproduce on 12.0:
* install frr6
* create /usr/local/etc/frr/vtysh.conf with
- service integrated-vtysh-config
- hostname router
- username root nopassword
* create empty /usr/local/etc/frr/frr.conf
* put any daemons in /etc/rc.conf options with frr_vtysh_boot, like
- frr_daemons="zebra ospfd bgpd"
* start frr service
No daemons running, service didn't start.
All chosen daemons running, service started.
In 'integrated-vtysh-config' mode vtysh utility controls that all daemons has config they need, while serving it from single config file (frr.conf), not daemon specific configs. vtysh also controls config writing. Daemons on startup locate frr.conf file and don't tries to load they own config. 'vtysh -b' runs last and apply configuration to daemons.
While there's a 'frr_vtysh_boot' flag in rc file for that exact reason, startup procedures still require all daemons have they own configs. If there are no daemon specific configs, that daemon will not be executed at all.
Probably better check integrated config before starting daemons and reuse check_config function. Reupload patch.
Created attachment 202349 [details]
A commit references this bug:
Date: Thu Mar 14 20:17:32 UTC 2019
New revision: 495731
Fix RC script when VTYSH (integrated configuration) mode is enabled
Submitted by: Yakov Sh. <firstname.lastname@example.org>
Thanks for your patch!