-
Notifications
You must be signed in to change notification settings - Fork 182
Open
Labels
Description
Describe the bug
When both FRR and Quagga are present on the hosts system booting the FRR zebra causes the session to hang.
To Reproduce
Steps to reproduce the behavior:
- Ensure that both frr and quagga are installed.
- Check /opt/core/etc/core.conf to ensure that the path to the frr version of zebra, ospf and ospfv6 is first in the list. This likely entails changing the core.conf with the following lines:
frr_bin_search = "/usr/lib/frr /usr/bin /usr/local/bin"
frr_sbin_search = "/usr/lib/frr /usr/local/sbin /usr/sbin /usr/libexec/frr"
- load or create a core scenario with nodes running frr zebra.
- Try to start the scenario and you will see that it will not load and that is is waiting on the command:
bash frrboot.sh zebra
Desktop (please complete the following information):
- OS: Ubuntu 22.04.05 LTS
- CORE Version: 9.2.0
- EMANE Version: 1.5.1
Additional context
Using the vcmd command to debug I can see that the frr zebra does load and work.
It seems that the problem occurs in core/daemon/utils.py
in the function cmd()
on line 224. When p.communicate() is run.
For some reason stdout and stderr are never returned which causes the program to hang waiting for the response. Interestingly a return code is returned if p.wait() is used instead of p.communicate().